Программное формирование отчета в таблицу значений

1. Lonelcor 11 31.10.24 13:05 Сейчас в теме
Доброго дня. Есть потребность программно сформировать типовой отчет с/с в ТЗ, но почему-то результат формируется пустым... где ошибаюсь?

Скрин результирующей таблицы во вложении. Заранее спасибо.

СхемаКомпоновкиДанных = Отчеты.СебестоимостьТоваров.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
		
КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(СхемаКомпоновкиДанных.ВариантыНастроек.СебестоимостьТоваровПоОрганизациям.Настройки);	
	
Настройки = КомпоновщикНастроекКомпоновкиДанных.Настройки;
	
Период = Настройки.ПараметрыДанных.Элементы.Найти("Период");
Период.Значение.ДатаНачала = ДобавитьМесяц(НачалоМесяца(ТекущаяДата()), -1);
Период.Значение.ДатаОкончания = ДобавитьМесяц(КонецМесяца(ТекущаяДата()), -1);

КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки(),,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); 
	
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,, Истина);
	
Результат = Новый ТаблицаЗначений;

ПроцессорВыводаРезультатаКомпоновкиДанныхВТЗ = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВыводаРезультатаКомпоновкиДанныхВТЗ.УстановитьОбъект(Результат);
ПроцессорВыводаРезультатаКомпоновкиДанныхВТЗ.Вывести(ПроцессорКомпоновкиДанных);
Показать
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. SlavaKron 31.10.24 14:07 Сейчас в теме +1 $m
Нужно скопировать весь код из обработчика ПриКомпоновкеРезультата (из модуля отчета) и переделать его на ТЗ.
Подозреваю, что в запросе набора данных только заготовка, которая подменяется реальным запросом именно в этом обработчике.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 35 31.10.24 13:26 Сейчас в теме +0.5 $m
(1) В начале исправить
Настройки = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки();

Далее в "КомпоновщикМакетаКомпоновкиДанных.Выполнить" вместо "КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки()" использовать "Настройки".

Еще возможно не все параметры в настройках заданы. Организация там, еще что-то. Нет таких?
3. Lonelcor 11 31.10.24 13:47 Сейчас в теме
(2) Сделал, как вы предложили с настройками. Заполнил базовые параметры и отборы, но результат все равно пустой... может быть стоит уточнить, что код выполняется во внешней обработке, может быть это играет роль.
Прикрепленные файлы:
4. Lonelcor 11 31.10.24 13:50 Сейчас в теме
(2) Хотя, пробовал такой вариант, отчет формируется, ТД заполнен, но мне нужен результат в ТЗ.
Прикрепленные файлы:
6. starik-2005 3091 31.10.24 13:58 Сейчас в теме
(4)
но мне нужен результат в ТЗ
Ну тогда через все эти процессоры и макеты, но вместо формирования в табличный документ нужно выбрать формирование в таблицу - смотри синтаксис-помощник. В итоге будет Процесср.Вывести() - он уже выведет в приемник, описанный во всех этих манипуляциях с макетом.
7. Lonelcor 11 31.10.24 14:03 Сейчас в теме
(6) Я представил в шапке темы именно второй вариант с формированием в ТЗ, но он выводит одну строку и ту пустую :) в этом и заключается проблема
10. Lonelcor 11 31.10.24 14:31 Сейчас в теме
(2) Спасибо вам за то, что указали на ошибки.
5. starik-2005 3091 31.10.24 13:56 Сейчас в теме
Отчет = Отчеты.СебестоимостьТоваров.Создать();
Отчет.КомпоновщикНастроек.УстановитьЧтоТоТамКудаТоТуда(БлаБлаБла);
ТабличныйДок = Новый ТабличныйДокумент;
Отчет.СкомпоноватьРезультат(ТабличныйДок);
Нафига народ изобретает-то?
8. SlavaKron 31.10.24 14:07 Сейчас в теме +1 $m
Нужно скопировать весь код из обработчика ПриКомпоновкеРезультата (из модуля отчета) и переделать его на ТЗ.
Подозреваю, что в запросе набора данных только заготовка, которая подменяется реальным запросом именно в этом обработчике.
9. Lonelcor 11 31.10.24 14:30 Сейчас в теме
(8) Гений! Я предполагал, что процессор коим-то образом вызывает процедуру "ПриКомпоновкеРезультата" и решил пропустить этот шаг, но увы. Построил логику на базе типового кода модуля отчета и результат сформировался. Спасибо за наводку, сэкономили мне время.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот