Моделирование и прогнозирование спроса на продукцию предприятия с помощью платформы 1С: Предприятие 8.1

Автор работы: Пользователь скрыл имя, 26 Мая 2012 в 17:34, дипломная работа

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

Целью дипломного проекта является прогнозирование спроса на продукцию фирмы с помощью статистического анализа и построения экономико-математической модели спроса предприятия, а, так как у некоторых предприятий достаточно обширный список номенклатуры и полноценное прогнозирование займет очень много времени и будет стоить очень дорого, то необходимо создание программы, позволяющей даже неспециалисту строить достаточно точные и достоверные прогнозы спроса на продукцию.
Исходя из цели вытекают следующие задачи:
- дать характеристику методам статистического анализа данных;
- дать характеристику методам экономико-математического моделирования;

Содержание

Введение 3
ГЛАВА 1. СОВРЕМЕННОЕ СОСТОЯНИЕ ОСНОВНЫХ ПОКАЗАТЕЛЕЙ 7
1.1. Основные показатели 7
1.2. Динамика основных показателей 8
ГЛАВА 2. СТАТИСТИЧЕСКИЙ И МАТЕМАТИЧЕСКИЙ АНАЛИЗ, ПРОГНОЗИРОВАНИЕ СПРОСА НА ПРОДУКЦИЮ ПРЕДПРИЯТИЯ 16
2.1. Проверка существования тенденции временных рядов методом серий, основанным на медиане выборки 17
2.2. Корреляционный анализ данных и уравнение регрессии 26
2.3. Построение математической модели с помощью уравнения множественной регрессии. 28
2.4. Построение прогнозных данных показателей и сравнение с эталонными данными 31
ГЛАВА 3. РЕАЛИЗАЦИЯ ЭКОНОМИКО-МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ И ПРОГНОЗИРОВАНИЯ СПРОСА ПРОДУКЦИИ ПРЕДПРИЯТИЯ НА ПЛАТФОРМЕ 1С: ПРЕДПРИЯТИЕ 8.1 53
3.1. Постановка технического задания 54
3.2. Описание алгоритма расчета 57
3.3. Описание обработки, пользовательская форма, код 59
3.4. Инструкция пользователя 66
Заключение 71
Список использованных источников 73
Приложение 1. 75
Приложение 2 79

Вложенные файлы: 1 файл

диплом казаковой.doc

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

           //Сразу вставим  12 строк

           Для сч = 1 По 12 Цикл

                 ТЗСезон.Колонки.Добавить("а" + сч); //"а"+ для того, чтобы 1С  поняла имя колонки

           КонецЦикла;

           ТЗСезон.Колонки.Добавить("Год");

           ТекГод = 0;

           Для Каждого Стр  из ТЗРасчет Цикл 

                 Стр.Тренд = Окр(А + Б*Стр.Х,4);

                 Стр.Откл = Стр.Сумма-Стр.Тренд; 

                 //заполняем таблицу  сезонности  

                 Если ТекГод <> Год(Стр.Период) Тогда

                       НовСтр = ТЗСезон.Добавить();

                       ТекГод = Год(Стр.Период);

                 КонецЕсли;

                 Колл = "а" + Месяц(Стр.Период);

                 НовСтр[Колл] = Стр.Откл;

                 НовСтр.Год = Год(Стр.Период);

           КонецЦикла; 

           ВсегоСрСез = 0;

           МассивСез = Новый  Массив;

           //средние сезонных  отклонений

           Для Каждого Кол  Из ТЗСезон.Колонки Цикл

                 Если Кол.Имя = "Год" Тогда Прервать; КонецЕсли;

                 Делитель = ТЗСезон.Количество();

                 Для Каждого Ст Из ТЗСезон Цикл

                       Если Ст[ТЗСезон.Колонки.Индекс(Кол)] = Неопределено Тогда

                             Делитель = делитель - 1;

                       КонецЕсли;

                 КонецЦикла;

                 ВсегоСрСез = ВсегоСрСез + ТЗСезон.Итог(Кол)/Делитель;

                 МассивСез.Добавить(ТЗСезон.Итог(Кол)/Делитель); 

           КонецЦикла; 

           ВсяСрСез = ВсегоСрСез/12;  

           Для Каждого Стр  Из МассивСез Цикл

                 Стр = Стр - ВсяСрСез;

           КонецЦикла; 

           //С помощью рассчитанных  значений сезонной компоненты  и уравнния получим проноз  на месяц вперед

           МесяцДлямассива = Месяц(ТЗДанные[ТЗДанные.Количество()-1].Период);

           ПрогЗнач = Окр(А + Б* (ТЗДанные.Количество()+1) + МассивСез[МесяцДлямассива],4); 

           //Выведем данные  в понятном пользователю виде

           ТЗВывод = ТЗРасчет.Скопировать(,"Период,Сумма,Тренд");

           НовСтр = ТЗВывод.Добавить();

           НовСтр.Период = ДобавитьМесяц(ТЗДанные[ТЗДанные.Количество()-1].Период,1);

           НовСтр.Сумма = ПрогЗнач;

           НовСтр.Тренд = Окр(А + Б* (ТЗДанные.Количество()+1),4); 

           //Вывод данных  на экран

           ТабДок = Новый ТабличныйДокумент;

           Макет = ПолучитьМакет("Макет");

           Область = Макет.ПолучитьОбласть("Область");

           Диаграмма = Область.Рисунки.D1.Объект;

           Диаграмма.СерииВСтроках=Ложь;

           //Диаграмма.ИсточникДанных = ТЗВывод;

           Для Каждого ТекСтр Из ТЗВывод Цикл

             // Получить серию, точку и значение  для них 

             ТекущаяСерия = Диаграмма.УстановитьСерию("Сумма");

             ТекущаяТочка = Диаграмма.УстановитьТочку(ТекСтр.Период);

             Диаграмма.УстановитьЗначение(ТекущаяТочка, ТекущаяСерия, ТекСтр.Сумма, ,) ; 

                 ТекущаяСерия = Диаграмма.УстановитьСерию("Тренд");

             ТекущаяТочка = Диаграмма.УстановитьТочку(ТекСтр.Период);

                 Диаграмма.УстановитьЗначение(ТекущаяТочка, ТекущаяСерия, ТекСтр.Тренд, ,) ;

           КонецЦикла;

           Для Каждого Серия  из Диаграмма.Серии Цикл

                 Серия.Текст = Серия.Значение;

           КонецЦикла;

           Диаграмма.Обновление = Истина;

           Область.Параметры.НадПрогноз = "Пронозное значение на " + Формат(ДобавитьМесяц(ТЗДанные[ТЗДанные.Количество()-1].Период,1),"ДФ='ММMM yyyy'") + " составит: " + ПрогЗнач;

           ТабДок.Вывести(Область);

           ТабДок.ТолькоПросмотр = Истина;

           ТабДок.ОтображатьЗаголовки = Ложь;

           ТабДок.ОтображатьСетку = Ложь;

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

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

     Процедура ВыбПериодНажатие(Элемент)

           НастройкаПериода = Новый НастройкаПериода;

           НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));

           НастройкаПериода.РедактироватьКакИнтервал = Истина;

           НастройкаПериода.РедактироватьКакПериод = Истина;

           НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;

           Если НастройкаПериода.Редактировать() Тогда

                 НачПериода = НастройкаПериода.ПолучитьДатуНачала();

                 КонПериода = НастройкаПериода.ПолучитьДатуОкончания();

           КонецЕсли;

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

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

           КонПериода = ТекущаяДата();

           НачПериода = ДобавитьМесяц(КонПериода, -24);

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

     Функция ПроверкаПолей()

           Если СчетДляАнализа.Пустая() Или НачПериода = Дата('00010101000000') Тогда

                 Возврат Истина;

           Иначе

                 Возврат Ложь;

           КонецЕсли;

     КонецФункции 

     Процедура КонПериодаПриИзменении(Элемент)

           КонПериода = КонецМесяца(КонПериода);

           Если НачПериода = Дата('00010101000000') Тогда

                 НачПериода = НачалоМесяца(ДобавитьМесяц(КонПериода, -24));

           КонецЕсли;

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


Информация о работе Моделирование и прогнозирование спроса на продукцию предприятия с помощью платформы 1С: Предприятие 8.1