Имя: Пароль:
1C
1С v8
Внешняя обработка не выводит данные с СКД
0 Crimscon
 
13.03.18
13:13
Имеется необходимость в создании отчета через внешнюю обработку на обычных формах, на 1С 8.2. Внутри обработки создал форму и макет(с СКД), но после выполнения обработки выводится информация о дате и заголовке, а данные с СКД обработка не выводит, ошибок никаких не выдает. Почему так, понять не могу.
Код:

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