Разработка информационно-аналитической системы проведения маркетинговых исследований для функционирования на предприятии ТОО "Десятка"

Информационное обеспечение предприятия. Защита от несанкционированного доступа к информации. Характеристика классификаторов и систем кодирования. Схема пакета дерева вызова процедур и программ. Взаимосвязь программных модулей и информационных файлов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 20.05.2013
Размер файла 258,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

| РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

| ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

| ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.НомерДоговора = &ПолеДоговор

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(Сумма)

|ПО

| ОБЩИЕ,

| ДопСогл,

| Объект

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));

Запрос.УстановитьПараметр("НачПериода", НачПериода);

Запрос.УстановитьПараметр("ПолеДоговор", ПолеДоговор);

Результат = Запрос.Выполнить();

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

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

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

//ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

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

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

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

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

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

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

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

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

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

ВыборкаДопСогл = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаДопСогл.Следующий() Цикл

ОбластьДопСогл.Параметры.Заполнить(ВыборкаДопСогл);

ТабДок.Вывести(ОбластьДопСогл, ВыборкаДопСогл.Уровень());

ОбластьДопСоглСумма.Параметры.Заполнить(ВыборкаДопСогл);

ВыборкаОбъект = ВыборкаДопСогл.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

НомСтроки = 1;

Пока ВыборкаОбъект.Следующий() Цикл

ОбластьОбъект.Параметры.Заполнить(ВыборкаОбъект);

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

ОбластьОбъектСумма.Параметры.Заполнить(ВыборкаОбъект);

ВыборкаДетали = ВыборкаОбъект.Выбрать();

Пока ВыборкаДетали.Следующий() Цикл

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьОбъектСумма, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьДопСоглСумма, ВыборкаОбъект.Уровень());

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

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

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

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

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

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

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

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

Процедура ОтстаткиМатериалов() Экспорт

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

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

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Материал),

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход КАК Приход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход КАК Расход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловПТООстаткиИОбороты

|ГДЕ

| ОстаткиМатериаловПТООстаткиИОбороты.Материал = &Материал

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(Приход),

| СУММА(Расход),

| СУММА(Остаток)

|ПО

| ОБЩИЕ,

| Материал";

Запрос.УстановитьПараметр("КонПериода", КонПериода);

Запрос.УстановитьПараметр("Материал", Материал);

Запрос.УстановитьПараметр("НачПериода", НачПериода);

Результат = Запрос.Выполнить();

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

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

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

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

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

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

ТабДок.Очистить();

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

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

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ВыборкаМатериал = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМатериал.Следующий() Цикл

ОбластьМатериал.Параметры.Заполнить(ВыборкаМатериал);

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

КонецЦикла;

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

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

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

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

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

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

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

Процедура ДействияФормыОтстаткиМатериаловСформировать(Кнопка)

Если ФлажокОстатки=Истина Тогда

Остатки();

КонецЕсли;

Если ФлажокМатериал=Истина Тогда

ОтстаткиМатериалов();

КонецЕсли;

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

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

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

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

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

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

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

НастройкаПериода.Редактировать();

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

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

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

Процедура ФлажокМатериалПриИзменении(Элемент)

Если ФлажокМатериал=Истина Тогда

ЭлементыФормы.Материал.Видимость=1;

ФлажокОстатки=Ложь;

ИначеЕсли ФлажокОстатки=Истина Тогда

ФлажокМатериал=Ложь;

ЭлементыФормы.Материал.Видимость=0;

КонецЕсли;

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

Процедура ФлажокОстаткиПриИзменении(Элемент)

Если ФлажокОстатки=Истина Тогда

ФлажокМатериал=Ложь;

Иначе

ЭлементыФормы.Материал.Видимость=0;

КонецЕсли;

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

Процедура Остатки() Экспорт

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

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

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Материал),

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход КАК Приход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход КАК Расход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловПТООстаткиИОбороты

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(Приход),

| СУММА(Расход),

| СУММА(Остаток)

|ПО

| ОБЩИЕ,

| Материал";

Запрос.УстановитьПараметр("КонПериода", КонПериода);

//Запрос.УстановитьПараметр("Материал", Материал);

Запрос.УстановитьПараметр("НачПериода", НачПериода);

Результат = Запрос.Выполнить();

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

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

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

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

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

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

ТабДок.Очистить();

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

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

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ВыборкаМатериал = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаМатериал.Следующий() Цикл

ОбластьМатериал.Параметры.Заполнить(ВыборкаМатериал);

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

КонецЦикла;

//ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

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

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

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

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

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

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

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

РейрингЗаказчиковИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыРейрингЗаказчиковРейрингЗаказчиков_653d8454-bc95-4331-844b-c5c46e8a138e", ПостроительОтчетаРейрингЗаказчиков.ПолучитьНастройки());

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

Процедура ДействияФормыРейрингЗаказчиковНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("РейрингЗаказчиковНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаРейрингЗаказчиков;

Настройка = ПостроительОтчетаРейрингЗаказчиков.ПолучитьНастройки();

Если Форма.ОткрытьМодально() = Истина Тогда

РейрингЗаказчиковВывести();

Иначе

ПостроительОтчетаРейрингЗаказчиков.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыРейрингЗаказчиковСформировать(Кнопка)

РейрингЗаказчиковВывести();

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

Процедура РейрингЗаказчиковВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ЭлементыФормы.Диаграмма.Очистить();

ПостроительОтчетаРейрингЗаказчиков.Параметры.Вставить("КонПериода", КонПериода);

ПостроительОтчетаРейрингЗаказчиков.Параметры.Вставить("НаяПериода", НаяПериода);

ПостроительОтчетаРейрингЗаказчиков.Выполнить();

ПостроительОтчетаРейрингЗаказчиков.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаРейрингЗаказчиков.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаРейрингЗаказчиков.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаРейрингЗаказчиков.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

ПостроительОтчетаРейрингЗаказчиков.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

ПостроительОтчетаРейрингЗаказчиков.Вывести(ЭлементыФормы.Диаграмма);

ЭлементыФормы.СводнаяДиаграмма.ГоризонтальнаяПоддержкаМасштаба = ПоддержкаМасштабаСводнойДиаграммы.КоличествоЗначений;

ЭлементыФормы.СводнаяДиаграмма.КоличествоЗначенийГоризонтальнойШкалы = 6;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийТочек = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийСерий = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ИсточникДанных = ПостроительОтчетаРейрингЗаказчиков;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ПоложениеИтоговСтрок = ПоложениеИтоговСтрокСводнойТаблицы.Верх;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].МакетОформления = СтандартноеОформление.БезОформления;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ИсточникДанных = ПостроительОтчетаРейрингЗаказчиков;

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

Процедура РейрингЗаказчиковИнициализация()

ПостроительОтчетаРейрингЗаказчиков.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловОбъектОбороты.Заказчик КАК Заказчик,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.Заказчик),

| ОстаткиМатериаловОбъектОбороты.Объект КАК Объект,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.Объект),

| ОстаткиМатериаловОбъектОбороты.НомерДоговора КАК НомерДоговора,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.НомерДоговора),

| ОстаткиМатериаловОбъектОбороты.ДопСогл КАК ДопСогл,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.ДопСогл),

| ОстаткиМатериаловОбъектОбороты.СуммаПриход - ОстаткиМатериаловОбъектОбороты.СуммаРасход КАК СуммаРасход

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.Обороты(&НаяПериода, &КонПериода, , ) КАК ОстаткиМатериаловОбъектОбороты

|ИТОГИ

| СУММА(СуммаРасход)

|ПО

| ОБЩИЕ,

| Заказчик,

| Объект,

| НомерДоговора,

| ДопСогл";

ПостроительОтчетаРейрингЗаказчиков.ЗаполнитьНастройки();

ПостроительОтчетаРейрингЗаказчиков.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаРейрингЗаказчиков.ТекстЗаголовка = "Рейтинг заказчиков";

Настройка = ВосстановитьЗначение("НастройкаОтчетыРейрингЗаказчиковРейрингЗаказчиков_653d8454-bc95-4331-844b-c5c46e8a138e");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаРейрингЗаказчиков.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ОК(Кнопка)

Закрыть(Истина);

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

Процедура ВСтроки(Кнопка)

Если ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияКолонки.Удалить(ПостроительОтчета.ИзмеренияКолонки.Найти(ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ВКолонки(Кнопка)

Если ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияСтроки.Удалить(ПостроительОтчета.ИзмеренияСтроки.Найти(ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияКолонки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура КнопкаСформироватьНажатие(Кнопка)

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

Анализ = Новый АнализДанных;

Анализ.ТипАнализа = Тип("АнализДанныхПоискПоследовательностей");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООбороты.Заказчик,

| ОстаткиМатериаловПТООбороты.Материал,

| ОстаткиМатериаловПТООбороты.Период КАК Период

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ОстаткиМатериаловПТООбороты";

Запрос.УстановитьПараметр("НачПериода",НачПериода);

Запрос.УстановитьПараметр("КонПериода",КонПериода);

Анализ.ИсточникДанных=Запрос.Выполнить();

Колонка = Анализ.НастройкаКолонок.Найти("Период");

Колонка.ТипКолонки = ТипКолонкиАнализаДанныхПоискПоследовательностей.Время;

РезультатАнализа = Анализ.Выполнить();

МодельПрогноза = РезультатАнализа.СоздатьМодельПрогноза();

ТЗ=Запрос.Выполнить().Выгрузить();

МодельПрогноза.ИсточникДанных = ТЗ;

ТП = МодельПрогноза.Выполнить();

ЭлементыФормы.ТП.СоздатьКолонки();

Построитель.ТипАнализа = Тип("АнализДанныхПоискПоследовательностей");

Построитель.Вывести(РезультатАнализа,ТабДок);

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

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

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

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

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

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

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

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

НастройкаПериода.Редактировать();

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

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

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

Процедура ОсновныеДействияФормыАссоциации(Кнопка)

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

Анализ = Новый АнализДанных;

// Найти ассоциации.

Анализ.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООбороты.Регистратор,

| ОстаткиМатериаловПТООбороты.Материал

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ОстаткиМатериаловПТООбороты";

Запрос.УстановитьПараметр("НачПериода",НачПериода);

Запрос.УстановитьПараметр("КонПериода",КонПериода);

Анализ.ИсточникДанных = Запрос.Выполнить();

РезультатАнализа = Анализ.Выполнить();

МодельПрогноза = РезультатАнализа.СоздатьМодельПрогноза();

ТЗ=запрос.Выполнить().Выбрать();

МодельПрогноза.ИсточникДанных = ТЗ;

ТП = МодельПрогноза.Выполнить();

ЭлементыФормы.ТП.СоздатьКолонки();

Построитель.ТипАнализа = Тип("АнализДанныхПоискАссоциаций");

Построитель.Вывести(РезультатАнализа,ТабДок);

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

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

Процедура КнопкаСформироватьНажатие(Кнопка)

Если ФлажокЗаказчик=Истина Тогда

Заказчик();

КонецЕсли;

Если ФлажокОбъект=Истина Тогда

Объект();

КонецЕсли;

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

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

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

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

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

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

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

НастройкаПериода.Редактировать();

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

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

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

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

Если ФлажокЗаказчик=Истина Тогда

ФлажокОбъект = Ложь;

КонецЕсли;

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

Процедура ФлажокОбъектПриИзменении(Элемент)

Если ФлажокОбъект=Истина Тогда

ФлажокЗаказчик = Ложь;

КонецЕсли;

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

Процедура Заказчик()Экспорт

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

Анализ = Новый АнализДанных;

Анализ.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

Запрос=Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловОбъектОбороты.Заказчик,

| ОстаткиМатериаловОбъектОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОбороты.КоличествоРасход КАК КоличествоРасход,

| ОстаткиМатериаловОбъектОбороты.СуммаПриход - ОстаткиМатериаловОбъектОбороты.СуммаРасход КАК СуммаРасход

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ОстаткиМатериаловОбъектОбороты";

Запрос.УстановитьПараметр("НачПериода",НачПериода);

Запрос.УстановитьПараметр("КонПериода",КонПериода);

Анализ.ИсточникДанных=Запрос.Выполнить();

РезультатАнализа=Анализ.Выполнить();

Построитель.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

Построитель.Вывести(РезультатАнализа,ТабДок);

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

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

Процедура Объект()Экспорт

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

Анализ = Новый АнализДанных;

Анализ.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

Запрос=Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловОбъектОбороты.Объект,

| ОстаткиМатериаловОбъектОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОбороты.КоличествоРасход КАК КоличествоРасход,

| ОстаткиМатериаловОбъектОбороты.СуммаПриход - ОстаткиМатериаловОбъектОбороты.СуммаРасход КАК СуммаРасход

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.Обороты(&НачПериода, &КонПериода, Регистратор, ) КАК ОстаткиМатериаловОбъектОбороты";

Запрос.УстановитьПараметр("НачПериода",НачПериода);

Запрос.УстановитьПараметр("КонПериода",КонПериода);

Анализ.ИсточникДанных=Запрос.Выполнить();

РезультатАнализа=Анализ.Выполнить();

//Колонка = Анализ.НастройкаКолонок.Найти("Заказчик");

//Колонка.ТипКолонки = ТипКолонкиАнализаДанныхПоискАссоциаций.Элемент;

//РезультатАнализа = Анализ.Выполнить();

//МодельПрогноза = РезультатАнализа.СоздатьМодельПрогноза();

//ТЗ=Запрос.Выполнить().Выгрузить();

//МодельПрогноза.ИсточникДанных = ТЗ;

//ТП = МодельПрогноза.Выполнить();

//ЭлементыФормы.ТП.СоздатьКолонки();

Построитель.ТипАнализа = Тип("АнализДанныхОбщаяСтатистика");

Построитель.Вывести(РезультатАнализа,ТабДок);

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

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

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

ОстаткиИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыОстаткиОстатки_bd85e6c4-d06e-4131-a812-20f1df4e427a", ПостроительОтчетаОстатки.ПолучитьНастройки());

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

Процедура ДействияФормыОстаткиНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("ОстаткиНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаОстатки;

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

Если Форма.ОткрытьМодально() = Истина Тогда

ОстаткиВывести();

Иначе

ПостроительОтчетаОстатки.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыОстаткиСформировать(Кнопка)

ОстаткиВывести();

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

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

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ЭлементыФормы.Диаграмма.Очистить();

ПостроительОтчетаОстатки.Параметры.Вставить("КонПериода", КонПериода);

ПостроительОтчетаОстатки.Параметры.Вставить("НачПериода", НачПериода);

ПостроительОтчетаОстатки.Выполнить();

ПостроительОтчетаОстатки.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаОстатки.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОстатки.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОстатки.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

ПостроительОтчетаОстатки.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

ПостроительОтчетаОстатки.Вывести(ЭлементыФормы.Диаграмма);

ЭлементыФормы.СводнаяДиаграмма.ГоризонтальнаяПоддержкаМасштаба = ПоддержкаМасштабаСводнойДиаграммы.КоличествоЗначений;

ЭлементыФормы.СводнаяДиаграмма.КоличествоЗначенийГоризонтальнойШкалы = 6;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийТочек = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийСерий = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ИсточникДанных = ПостроительОтчетаОстатки;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ПоложениеИтоговСтрок = ПоложениеИтоговСтрокСводнойТаблицы.Верх;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].МакетОформления = СтандартноеОформление.БезОформления;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ИсточникДанных = ПостроительОтчетаОстатки;

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

Процедура ОстаткиИнициализация()

ПостроительОтчетаОстатки.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Материал),

| ОстаткиМатериаловПТООстаткиИОбороты.Заказчик КАК Заказчик,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Заказчик),

| ОстаткиМатериаловПТООстаткиИОбороты.Объект КАК Объект,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Объект),

| ОстаткиМатериаловПТООстаткиИОбороты.НомерДоговора КАК НомерДоговора,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.НомерДоговора),

| ОстаткиМатериаловПТООстаткиИОбороты.ДопСогл КАК ДопСогл,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.ДопСогл),

| ОстаткиМатериаловПТООстаткиИОбороты.Склад КАК Склад,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловПТООстаткиИОбороты.Склад),

| СУММА(ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,

| СУММА(ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,

| СУММА(ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход) КАК Остаток,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоНачальныйОстаток,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток,

| ОстаткиМатериаловПТООстаткиИОбороты.ЦенаПриход,

| ОстаткиМатериаловПТООстаткиИОбороты.ЦенаРасход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход * ОстаткиМатериаловПТООстаткиИОбороты.ЦенаПриход КАК Поле1,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход * ОстаткиМатериаловПТООстаткиИОбороты.ЦенаРасход КАК Поле2

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловПТООстаткиИОбороты

|

|СГРУППИРОВАТЬ ПО

| ОстаткиМатериаловПТООстаткиИОбороты.Материал,

| ОстаткиМатериаловПТООстаткиИОбороты.Заказчик,

| ОстаткиМатериаловПТООстаткиИОбороты.Объект,

| ОстаткиМатериаловПТООстаткиИОбороты.НомерДоговора,

| ОстаткиМатериаловПТООстаткиИОбороты.ДопСогл,

| ОстаткиМатериаловПТООстаткиИОбороты.Склад,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоНачальныйОстаток,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток,

| ОстаткиМатериаловПТООстаткиИОбороты.ЦенаПриход,

| ОстаткиМатериаловПТООстаткиИОбороты.ЦенаРасход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоПриход * ОстаткиМатериаловПТООстаткиИОбороты.ЦенаПриход,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоРасход * ОстаткиМатериаловПТООстаткиИОбороты.ЦенаРасход

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(КоличествоПриход),

| СУММА(КоличествоРасход),

| СУММА(Остаток)

|ПО

| ОБЩИЕ,

| Материал,

| Заказчик,

| Объект,

| НомерДоговора,

| ДопСогл,

| Склад";

ПостроительОтчетаОстатки.ЗаполнитьНастройки();

ПостроительОтчетаОстатки.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаОстатки.ТекстЗаголовка = "Остатки";

Настройка = ВосстановитьЗначение("НастройкаОтчетыОстаткиОстатки_bd85e6c4-d06e-4131-a812-20f1df4e427a");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаОстатки.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ОК(Кнопка)

Закрыть(Истина);

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

Процедура ВСтроки(Кнопка)

Если ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияКолонки.Удалить(ПостроительОтчета.ИзмеренияКолонки.Найти(ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ВКолонки(Кнопка)

Если ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияСтроки.Удалить(ПостроительОтчета.ИзмеренияСтроки.Найти(ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияКолонки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

АнализСравненияИнициализация();

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

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

СохранитьЗначение("НастройкаОтчетыАнализСравненияАнализСравнения_2da0700c-5461-4aa8-bc60-a2b6bf570dee", ПостроительОтчетаАнализСравнения.ПолучитьНастройки());

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

Процедура ДействияФормыАнализСравненияНастройка(Кнопка)

Форма = ОтчетОбъект.ПолучитьФорму("АнализСравненияНастройка");

Форма.ПостроительОтчета = ПостроительОтчетаАнализСравнения;

Настройка = ПостроительОтчетаАнализСравнения.ПолучитьНастройки();

Если Форма.ОткрытьМодально() = Истина Тогда

АнализСравненияВывести();

Иначе

ПостроительОтчетаАнализСравнения.УстановитьНастройки(Настройка);

КонецЕсли;

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

Процедура ДействияФормыАнализСравненияСформировать(Кнопка)

АнализСравненияВывести();

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

Процедура АнализСравненияВывести()

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ЭлементыФормы.Диаграмма.Очистить();

ПостроительОтчетаАнализСравнения.Параметры.Вставить("КонПериода", КонПериода);

ПостроительОтчетаАнализСравнения.Параметры.Вставить("НачПериода", НачПериода);

ПостроительОтчетаАнализСравнения.Выполнить();

ПостроительОтчетаАнализСравнения.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаАнализСравнения.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаАнализСравнения.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаАнализСравнения.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

ПостроительОтчетаАнализСравнения.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

ПостроительОтчетаАнализСравнения.Вывести(ЭлементыФормы.Диаграмма);

ЭлементыФормы.СводнаяДиаграмма.ГоризонтальнаяПоддержкаМасштаба = ПоддержкаМасштабаСводнойДиаграммы.КоличествоЗначений;

ЭлементыФормы.СводнаяДиаграмма.КоличествоЗначенийГоризонтальнойШкалы = 6;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийТочек = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийСерий = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ИсточникДанных = ПостроительОтчетаАнализСравнения;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ПоложениеИтоговСтрок = ПоложениеИтоговСтрокСводнойТаблицы.Верх;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].МакетОформления = СтандартноеОформление.БезОформления;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ИсточникДанных = ПостроительОтчетаАнализСравнения;

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

Процедура АнализСравненияИнициализация()

ПостроительОтчетаАнализСравнения.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ПлановыеОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ПлановыеОбороты.Материал),

| ОстаткиМатериаловОбъектОбороты.Материал КАК МатериалФ,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.Материал) КАК МатериалПредставлениеФ,

| ОстаткиМатериаловОбъектОбороты.Заказчик КАК Заказчик,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.Заказчик),

| ОстаткиМатериаловОбъектОбороты.Объект КАК Объект,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.Объект),

| ОстаткиМатериаловОбъектОбороты.НомерДоговора КАК НомерДоговора,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.НомерДоговора),

| ОстаткиМатериаловОбъектОбороты.ДопСогл КАК ДопСогл,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОбороты.ДопСогл),

| РасходнаяНакладнаяМатериалыТТН.Цена КАК ЦенаРозн,

| ПлановыеПлановыеМатериалы.Количество * ПлановыеПлановыеМатериалы.Цена КАК СуммаПланПриход,

| ОстаткиМатериаловОбъектОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОбороты.КоличествоРасход КАК КоличествоФакт,

| РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОбороты.КоличествоРасход) КАК СуммаРасход,

| ПлановыеПлановыеМатериалы.Количество КАК Количество,

| ПлановыеПлановыеМатериалы.Цена

|ИЗ

| Документ.Плановые.ПлановыеМатериалы КАК ПлановыеПлановыеМатериалы

| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Плановые.Обороты(&НачПериода, &КонПериода, , ) КАК ПлановыеОбороты

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериаловОбъект.Обороты(&НачПериода, &КонПериода, , ) КАК ОстаткиМатериаловОбъектОбороты

| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Объекты КАК Объекты

| ПО ОстаткиМатериаловОбъектОбороты.Объект = Объекты.Ссылка

| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Договор КАК Договор

| ПО ОстаткиМатериаловОбъектОбороты.НомерДоговора = Договор.Ссылка

| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДопСоглашение КАК ДопСоглашение

| ПО ОстаткиМатериаловОбъектОбороты.ДопСогл = ДопСоглашение.Ссылка

| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты

| ПО ОстаткиМатериаловОбъектОбороты.Заказчик = Контрагенты.Ссылка

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

| ПО ОстаткиМатериаловОбъектОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

| ПО ПлановыеОбороты.Материал = ОстаткиМатериаловОбъектОбороты.Материал

| ПО ПлановыеОбороты.Материал = ПлановыеПлановыеМатериалы.Номенклатура

|

|УПОРЯДОЧИТЬ ПО

| Материал,

| МатериалФ

|ИТОГИ

| СУММА(СуммаПланПриход),

| СУММА(СуммаРасход)

|ПО

| ОБЩИЕ,

| Заказчик,

| Объект,

| НомерДоговора,

| ДопСогл,

| Материал,

| МатериалФ";

ПостроительОтчетаАнализСравнения.ЗаполнитьНастройки();

ПостроительОтчетаАнализСравнения.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаАнализСравнения.ТекстЗаголовка = "Анализ сравнения";

Настройка = ВосстановитьЗначение("НастройкаОтчетыАнализСравненияАнализСравнения_2da0700c-5461-4aa8-bc60-a2b6bf570dee");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаАнализСравнения.УстановитьНастройки(Настройка);

КонецЕсли;

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

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

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

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

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

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

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

НастройкаПериода.Редактировать();

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

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

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

Процедура ОК(Кнопка)

Закрыть(Истина);

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

Процедура ВСтроки(Кнопка)

Если ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияКолонки.Удалить(ПостроительОтчета.ИзмеренияКолонки.Найти(ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ВКолонки(Кнопка)

Если ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияСтроки.Удалить(ПостроительОтчета.ИзмеренияСтроки.Найти(ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияКолонки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

Отчет1Инициализация();

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

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

СохранитьЗначение("НастройкаОтчетыОтчет1Отчет1_1451e3f5-d9b0-4258-adf8-5c68f11562a5", ПостроительОтчетаОтчет1.ПолучитьНастройки());

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

Процедура ДействияФормыОтчет1Настройка(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА(Отчет1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Форма = ОтчетОбъект.ПолучитьФорму("Отчет1Настройка");

Форма.ПостроительОтчета = ПостроительОтчетаОтчет1;

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

Если Форма.ОткрытьМодально() = Истина Тогда

Отчет1Вывести();

Иначе

ПостроительОтчетаОтчет1.УстановитьНастройки(Настройка);

КонецЕсли;

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_НАСТРОЙКА

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

Процедура ДействияФормыОтчет1Сформировать(Кнопка)

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(Отчет1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Отчет1Вывести();

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА

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

Процедура Отчет1Вывести()

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ(Отчет1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ЭлементыФормы.ПолеТабличногоДокумента.Очистить();

ПостроительОтчетаОтчет1.Выполнить();

ПостроительОтчетаОтчет1.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;

ПостроительОтчетаОтчет1.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчет1.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ПостроительОтчетаОтчет1.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Классика);

ПостроительОтчетаОтчет1.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);

ЭлементыФормы.СводнаяДиаграмма.ГоризонтальнаяПоддержкаМасштаба = ПоддержкаМасштабаСводнойДиаграммы.КоличествоЗначений;

ЭлементыФормы.СводнаяДиаграмма.КоличествоЗначенийГоризонтальнойШкалы = 6;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийТочек = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ОтображениеЗначенийСерий = ОтображениеЗначенийСводнойДиаграммы.ЗначенияПоследнегоУровня;

ЭлементыФормы.СводнаяДиаграмма.ИсточникДанных = ПостроительОтчетаОтчет1;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ПоложениеИтоговСтрок = ПоложениеИтоговСтрокСводнойТаблицы.Верх;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].МакетОформления = СтандартноеОформление.БезОформления;

ЭлементыФормы.СводнаяТаблица.ВстроенныеТаблицы[0].ИсточникДанных = ПостроительОтчетаОтчет1;

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ

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

Процедура Отчет1Инициализация()

//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ИНИЦИАЛИЗАЦИЯ(Отчет1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

ПостроительОтчетаОтчет1.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ПлановыеОстатки.Материал КАК Материал,

| ПлановыеОстатки.КолвоПланОстаток КАК КолвоПланОстаток,

| ПлановыеОстатки.СуммаПланОстаток КАК СуммаПланОстаток,

| ПлановыеОстатки.ЦенаПланОстаток,

| ОстаткиМатериаловОбъектОстатки.Материал КАК Материал1,

| ОстаткиМатериаловОбъектОстатки.КоличествоОстаток КАК КоличествоОстаток,

| ОстаткиМатериаловОбъектОстатки.СуммаОстаток КАК СуммаОстаток,

| ОстаткиМатериаловОбъектОстатки.ЦенаОстаток

|ИЗ

| РегистрНакопления.Плановые.Остатки КАК ПлановыеОстатки

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиМатериаловОбъект.Остатки КАК ОстаткиМатериаловОбъектОстатки

| ПО ПлановыеОстатки.Материал = ОстаткиМатериаловОбъектОстатки.Материал

|ИТОГИ

| СУММА(КолвоПланОстаток),

| СУММА(СуммаПланОстаток),

| СУММА(КоличествоОстаток),

| СУММА(СуммаОстаток)

|ПО

| ОБЩИЕ,

| Материал,

| Материал1";

ПостроительОтчетаОтчет1.ЗаполнитьНастройки();

ПостроительОтчетаОтчет1.ЗаполнениеРасшифровки = ВидЗаполненияРасшифровкиПостроителяОтчета.ЗначенияГруппировок;

ПостроительОтчетаОтчет1.ТекстЗаголовка = "Отчет по остаткам";

Настройка = ВосстановитьЗначение("НастройкаОтчетыОтчет1Отчет1_1451e3f5-d9b0-4258-adf8-5c68f11562a5");

Если Настройка <> Неопределено Тогда

ПостроительОтчетаОтчет1.УстановитьНастройки(Настройка);

КонецЕсли;

//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ИНИЦИАЛИЗАЦИЯ

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

Процедура ОК(Кнопка)

Закрыть(Истина);

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

Процедура ВСтроки(Кнопка)

Если ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияКолонки.Удалить(ПостроительОтчета.ИзмеренияКолонки.Найти(ЭлементыФормы.ИзмеренияКолонки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияСтроки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ВКолонки(Кнопка)

Если ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные <> Неопределено Тогда

ПутьКДанным = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ПутьКДанным;

ТипИзмерения = ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.ТипИзмерения;

ПостроительОтчета.ИзмеренияСтроки.Удалить(ПостроительОтчета.ИзмеренияСтроки.Найти(ЭлементыФормы.ИзмеренияСтроки.ТекущиеДанные.Имя));

ПостроительОтчета.ИзмеренияКолонки.Добавить(ПутьКДанным, , ТипИзмерения);

КонецЕсли;

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

Процедура ПриходнаяНакладнаяНажатие(Элемент)

ФормаДокумента = Документы.ПриходнаяНакладная.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

Процедура РасходнаяНакладнаяНажатие(Элемент)

ФормаДокумента = Документы.РасходнаяНакладная.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

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

ФормаДокумента = Документы.ГрафикРабот.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

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

ФормаДокумента = Документы.АктВыполненныхРабот.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

Процедура НоменКнопкаНажатие(Элемент)

ФормаДокумента = Справочники.Номенклатура.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

Процедура КонтрКнопкаНажатие(Элемент)

ФормаДокумента = Справочники.Контрагенты.ПолучитьФормуСписка();

ФормаДокумента.Открыть();

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

Процедура ПрихНаклКнопкаНажатие(Элемент)

ФормаДокумента = Документы.ПриходнаяНакладная.ПолучитьФормуСписка("ФормаСпискаОтчет");

ФормаДокумента.Открыть();

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

Процедура РасхНаклКнопкаНажатие(Элемент)

ФормаДокумента = Документы.РасходнаяНакладная.ПолучитьФормуСписка("ФормаСпискаОтчет");

ФормаДокумента.Открыть();

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

Процедура ОстМатКнопкаНажатие(Элемент)

ФормаДокумента = Отчеты.ОтстаткиМатериалов.ПолучитьФорму("ОтстаткиМатериалов");

ФормаДокумента.Открыть();

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

Процедура РейтЗаказКнопкаНажатие(Элемент)

ФормаДокумента = Отчеты.РейтингЗаказчиков.ПолучитьФорму("РейрингЗаказчиков");

ФормаДокумента.Открыть();

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

Процедура ДоСпрКнопкаНажатие(Элемент)

ФормаДокумента = Обработки.ОбработкаФормыСпр.ПолучитьФорму("ФормаСправочники");

ФормаДокумента.Открыть();

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

Процедура ДоДокКнопкаНажатие(Элемент)

ФормаДокумента = Обработки.ОбработкаФормыСпр.ПолучитьФорму("ФормаДокументы");

ФормаДокумента.Открыть();

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

Процедура ЗаявкаВМагазинНажатие(Элемент)

ФормаСправочников = Документы.ЗаявкаВМагазин.ПолучитьФормуСписка();

ФормаСправочников.Открыть();

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

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

ФормаСправочников = Документы.Плановые.ПолучитьФормуСписка();

ФормаСправочников.Открыть();

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.