0
Crimscon
13.03.18
✎
13:13
|
Имеется необходимость в создании отчета через внешнюю обработку на обычных формах, на 1С 8.2. Внутри обработки создал форму и макет(с СКД), но после выполнения обработки выводится информация о дате и заголовке, а данные с СКД обработка не выводит, ошибок никаких не выдает. Почему так, понять не могу.
Код:
Процедура СформироватьОтчет()
//Получаем схему из макета
СхемаКомпоновкиДанных = ПолучитьМакет("Макет");
//создадим компоновщик настроек и загрузим настройки по умолчанию, вместо настроек по умолчанию можно использовать восстановленные настройки
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
Настройки = КомпоновщикНастроек.Настройки;
//установка параметров отчета, без КомпоновщикНастроекКомпоновкиДанных делать это гораздо сложнее
НачПериода = Дата('20180126');
КонПериода = Дата('20180226');
//НачПериода = НачалоДня(ТекущаяДата()-84600);
//КонПериода = КонецДня(НачПериода);
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачПериода);
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонПериода);
Настройки.ПараметрыВывода.УстановитьЗначениеПараметра("Заголовок", Заголовок);
//Помещаем в переменную данные о расшифровке данных - здесь ненужный пункт, но пусть будет.
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
ДанныеРасшифровки.Настройки = КомпоновщикНастроек.ПолучитьНастройки();
//Формируем макет, с помощью компоновщика макета
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
//Передаем в макет компоновки схему, настройки и данные расшифровки
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
//Выполним компоновку с помощью процессора компоновки
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
//Очищаем поле табличного документа
Результат = Новый ТабличныйДокумент();
//Выводим результат в табличный документ
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
Результат.ОтображатьЗаголовки = Ложь;
Результат.ОтображатьСетку = Ложь;
Результат.Показать();
КонецПроцедуры
|
|