Разработка методов эфективного использования ресурсов на предприятии

Автор работы: Пользователь скрыл имя, 20 Сентября 2011 в 11:18, дипломная работа

Краткое описание

Целями данной работы является:

Постоянный контроль над количеством сданного литья в течение месяца по каждому наименованию в штуках (тыс. штук) и отклонение от плана производства
Определение массы сданного литья по нарастающему за месяц по всей номенклатуре
Определение массы отливки по каждому грузовому месту и сравнение ее с утвержденными нормативами +- в %. Определение массы отливки по нарастающему за месяц, определение отклонения от норматива по нарастающему за месяц в %.
Предоставление отчетности по эффективному использованию ресурсов с детализацией по цехам.
Представление данных в наглядном для пользователя виде: диаграммы, графики.

Содержимое работы - 1 файл

Диплом)) (Автосохраненный).doc

— 1.53 Мб (Скачать файл)

                  ИзделиеКоличество =ИзделиеКоличество + ТЗ.Количество;

                  ИзделиеМасса = ИзделиеМасса + Тз.Масса;

                  Если (тз.Масса/(ТЗ.Количество/1000)) < Норм Тогда

                        G = 255;

                  КонецЕсли;

                  Если (тз.Масса/(ТЗ.Количество/1000))> Норм Тогда

                        R = 255;

                        G = 60;

                        B = 60;

                  КонецЕсли;  

                  //---- Разрисовка колонок  

                  Если Итог = 0 Тогда

                        табл.ВывестиСекцию("ИнфаМес");

табл.Область(Табл.ВысотаТаблицы(),6,Табл.ВысотаТаблицы(),7).ЦветФона(R,G,B);

                  Иначе

                        Если флагИтВывод = 0 Тогда

                              Изделие = ТЗ.Изделие;

                              флагИтВывод = 1;

                                     КонецЕсли;

                        КонецЕсли;

                  //------------------------

                  R=0;

                  G=0;

                  B=0;

            КонецЕсли;

      КонецЦикла;

      //---------

      //********************** Вывод последней строчки

      Отклонение =ИзделиеМасса / (ИзделиеКоличество/1000) - Норм ;

      ИзделиеПроцОтколнение = (Окр( Отклонение,2,1) / Норм)*100;

      ОтклОтпрогр = Окр(Отклонение,2,1)* (ИзделиеКоличество/1000);

      ОтклОтпрогрИтог= ОтклОтпрогрИтог +ОтклОтпрогр;

      МассаИтог= МассаИтог+ ИзделиеМасса;

      Если  ИзделиеМасса / (ИзделиеКоличество/1000) < Норм

      Тогда

            G = 255;

      ИначеЕсли ИзделиеМасса / (ИзделиеКоличество/1000) > Норм Тогда

            R = 255;

            G = 60;

            B = 60;

      КонецЕсли;

      Если  Итог = 1 Тогда 

            табл.ВывестиСекцию("ИтогИзделия");

табл.Область(Табл.ВысотаТаблицы(),6,Табл.ВысотаТаблицы(),7).ЦветФона(R,G,B);

      Иначе 

      табл.ВывестиСекцию("Подвал");

табл.Область(Табл.ВысотаТаблицы(),6,Табл.ВысотаТаблицы(),7).ЦветФона(R,G,B);

КонецЕсли;

      //---------

      Если  ПустоеЗначение(ФлагИтог) = 0 Тогда

            табл.ВывестиСекцию("ИтогОтклоненияОТпрограммы");

            Если ОтклОтпрогрИтог >0 Тогда

                  R = 255;

                  G = 60;

                  B = 60; 

            ИначеЕсли   ОтклОтпрогрИтог >0 Тогда

                  R = 0;

                  G = 255;

                  B = 0;

            КонецЕсли;

табл.Область(Табл.ВысотаТаблицы(),7,Табл.ВысотаТаблицы(),7).ЦветФона(R,G,B); 

      КонецЕсли;

      табл.ВывестиСекцию("Масса");

      табл.Опции(0);

      табл.Показать();

КонецПроцедуры 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     ПРИЛОЖЕНИЕ  Е

Листинг модуля отчета  «Для планового отдела»

//*******************************************   

Процедура ПриОткрытии()

Форма.КнопкаСформировать.Цвет(ПолучитьЦвет(180,247,120)); 

Форма.КнопкаЗакрыть.Цвет(ПолучитьЦвет(249,136,162));  

КонецПроцедуры

Процедура Сформировать()

  //----------------------Контроль  ввода данных

  Если (ПустоеЗначение(НачДата) = 1) или (Пустоезначение(КонДата)= 1) Тогда

   Предупреждение("ПОжалуйста введите период времени",1);

   Возврат;

  КонецЕсли;

  Если ПустоеЗначение(Изделие) =0 Тогда

   Если ПустоеЗначение(Цена)= 1 Тогда

    Предупреждение("Пожалуйста введите стоимость выбранного изделия");

    Возврат;

   КонецЕсли;

  Иначе

  Предупреждение("Пожалуйста  выберите изделие");

КонецЕсли;

  //-----Переменные-------

    МатериалоОтдача  = 0;

    МатериалоЕмкость = 0;

      КМатерЗатрат = 0;

      спр = СоздатьОбъект("Справочник.Наменклатура");

      темп ="";

    Изд  ="";

      Мат ="";

      Кол =0;

      Масса =0;

      флаг = 0;

      СтКг =0;

  //----------------------

  Если спр.НайтиПоНаименованию(Строка(Изделие)) = 1 Тогда

   Мат = спр.ТекущийЭлемент().Материал.Наименование;

  КонецЕсли;

  Изд = Изделие; 

  табл = СоздатьОбъект("Таблица");

  табл.ИсходнаяТаблица("Таблица");

  ТЗ = СоздатьОбъект("ТАблицаЗначений");

  ТЗИзделия  = СоздатьОбъект("ТаблицаЗначений");

  Док = СоздатьОбъект("Документ.СдачаЛитья"); 

  табл.ВывестиСекцию("Заголовок");

  табл.ВывестиСекцию("Шапка");

  ТЗ.НоваяКолонка("Наименование");

  ТЗ.НоваяКолонка("ДатаСдачи");

  Тз.НоваяКолонка("Масса");

  ТЗ.НоваяКолонка("Количество");

  //-------

  ТЗИзделия.НоваяКолонка("Издел");

  ТЗИзделия.НоваяКолонка("ДатаСдачи");

  ТЗИзделия.НоваяКолонка("Масса");

  ТЗИзделия.НоваяКолонка("Количество");

  //-------

  Док.ВыбратьДокументы(НачДата,КонДата);

  Пока Док.ПолучитьДокумент() = 1 Цикл

   док.ВыбратьСтроки();

   Пока док.ПолучитьСтроку() = 1 Цикл

    ТЗ.НоваяСтрока();

    ТЗ.Наименование = Док.Изделие;

    ТЗ.ДатаСдачи = Док.ДатаДок;

    ТЗ.Масса = Док.Масса;

    ТЗ.Количество = Док.Количество; 

   КонецЦикла;  

  КонецЦикла;

  ТЗ.Свернуть("Наименование, ДатаСдачи","Масса, Количество");

  ТЗ.Сортировать("Наименование+, ДатаСдачи+");

  ТЗ.ВыбратьСтроки();

  Пока ТЗ.ПолучитьСтроку() = 1 Цикл 

   если флаг = 0 Тогда

    темп= ТЗ.Наименование;

    флаг = 1;

   КонецЕсли;  

   //

   //Если тз.Наименование <> Изделие Тогда

   // Изд = ТЗ.Наименование; 

   //КонецЕсли;

   Если  Строка(ТЗ.Наименование) =  Строка(Изделие) Тогда

    ТЗИзделия.НоваяСтрока();

    ТЗИзделия.Издел = ТЗ.Наименование;

    ТЗИзделия.ДатаСдачи = ТЗ.ДатаСдачи;

    ТЗИзделия.Масса = ТЗ.Масса;

    ТЗИзделия.Количество = ТЗ.Количество;

   КонецЕсли;

КонецЦикла;  

  Спр1 = СоздатьОбъект("Справочник.Материалы");

  Если Спр1.НайтиПоНаименованию(Мат) = 1 Тогда

      СтКг = Спр1.ТекущийЭлемент().СтоимостьЗаКГ.получить(ТЗИзделия.ДатаСдачи);  

  КонецЕсли;

  ТЗИзделия.Сортировать("Издел  +, ДатаСдачи+"); 

  ТЗИзделия.ВыбратьСтроки();

            Пока ТЗИзделия.ПолучитьСтроку() = 1 Цикл

            Кол = ТЗИзделия.Количество;

            Масса = ТЗИзделия.Масса; 

            Попытка 

            МатериалоЕмкость = (Кол * Цена)/ (Масса*СтКг);

            МатериалоОтдача = (Масса*СтКг)/ (Кол * Цена); 

             табл.ВывестиСекцию("Инфа");

      Исключение

             Если Спр1.НайтиПоНаименованию(Мат) = 1 Тогда

      СтКг = 3000; 

       МатериалоЕмкость = (Кол * Цена)/ (Масса*СтКг);

            МатериалоОтдача = (Масса*СтКг)/ (Кол * Цена); 

             табл.ВывестиСекцию("Инфа");

  КонецЕсли;

КонецПопытки; 

            КонецЦикла;

//--------------Итого 

 Масса=0;

 Кол=0;

 МатериалоЕмкость = 0;

 МатериалоОтдача  =  0;

 табл.ВывестиСекцию("ПодписьИтого");

 ТЗИзделия.Свернуть("Издел","Количество, Масса");

 ТЗИзделия.ВыбратьСтроки();

      Пока  ТЗИзделия.ПолучитьСтроку() = 1 Цикл

      Масса = ТЗИзделия.Масса;

      Кол= ТЗИзделия.Количество;

      МатериалоЕмкость = (Кол * Цена)/ (Масса*СтКг);

      МатериалоОтдача = (Масса*СтКг)/ (Кол * Цена);

табл.ВывестиСекцию("Итого"); 

      КонецЦикла;

//--------------------

табл.Опции(0);

табл.Показать();

КонецПроцедуры 
 
 
 
 
 
 

Информация о работе Разработка методов эфективного использования ресурсов на предприятии