Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Сформировать запрос из схемы компоновки

Сформировать запрос из схемы компоновки
Я
   makmak
 
24.11.18 - 14:54
В конфигурации есть некий отчет, я хочу программно из другого модуля получить схему компоновки этого отчета, установить нужные отборы и получить результат запроса. Подозреваю, это несложно, но я не силен в этом. Подскажите, что делать дальше после этой строчки:

МакетСКД = Отчеты.ОстаткиНаДень.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
 
 
   Конструктор1С
 
1 - 24.11.18 - 15:07
   makmak
 
2 - 24.11.18 - 18:58
(1) Спасибо, нашел там пример. Но результат все равно пока пустой, чую, что дело в НастройкиКомпоновкиДанных, как их заполнять?

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

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

   makmak
 
3 - 24.11.18 - 19:13
(2) Все, сам разобрался, дело было в настройках, работающий код, если кому пригодится:

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

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


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует