Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Не появляется набор данных

Не появляется набор данных
Я
   Janna26
 
13.08.19 - 15:57
Всем привет, столкнулась с такой проблемой. Надо по настройками и отборам отобрать номенклатуру в таблицу. Сделала СКД схему, вывела настройки и отборы на форме, теперь дело за малым, надо получить данные. Делаю следующим способом.
    
        СхемаКомпоновкиДанных =  РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.ПолучитьНастройки(), , , );
    
    
    ТекстЗапроса = МакетКомпоновки.НаборыДанных.НаборДанных.Запрос;

Немножко пояснения СхемаКомпоновкиДанных в отладчике нормально отрабатывает и в ней есть НаборыДанных, но кода я прогоняю её через КомпоновщикМакета.Выполнить я не могу получить готовый Текст запроса, МакетКомпоновки.НаборыДанных вот тут просто нет не одного набора данных. В чем может быть проблема?
 
 
   Janna26
 
1 - 13.08.19 - 15:59
P.S. Может у кого есть вариант как это сделать проще, буду только рада :)
   bootini
 
2 - 13.08.19 - 16:11
Зачем запрос из СКД забирать, если нужна таблица номенклатуры?

Тут или просто запрос выгрузить или если нужно через СКД ПроцессорВывода.УстановитьОбъект(ТаблицаРезультат).
   Janna26
 
3 - 13.08.19 - 16:17
(2) Что бы на номенклатуру пользователь мог наложить отборы которые пожелает.
Вот через ПроцессорВывода сейчас пробую.
   bootini
 
4 - 13.08.19 - 16:18
   Janna26
 
5 - 13.08.19 - 16:24
(4) переписала под статью
    СКД =  РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет");

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

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

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);

    ТаблицаРезультат = Новый ТаблицаЗначений;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;

    ПроцессорВывода.УстановитьОбъект(ТаблицаРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

   Товары.Загрузить(ТаблицаРезультат);

Результат компоновки пустой :( параметры заполнены правильно. Текст запроса в Схеме правильный (проверяла консолью запросов)
   НадюшаЯ
 
6 - 13.08.19 - 16:28
(5) каким образом у вас связан компоновщик настроек со схемой компоновки данных?
   Janna26
 
7 - 13.08.19 - 16:29
(6) Проблема решилась, не знаю баг это или фича. Но в СКД не работает если явно не указаны группировки, "детальные записи не выводит"
   НадюшаЯ
 
8 - 13.08.19 - 16:29
Вот этот код
 КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
    КомпоновщикНастроек.ЗагрузитьНастройки(СКД.НастройкиПоУмолчанию);
Нужно делать при создании формы, причем ИсточникДоступныхНастроекКомпоновкиДанных, в управляемом приложении нужно получать на основании временного хранилища
   Janna26
 
9 - 13.08.19 - 16:33
(8) Да я так делала, отборы и настройки работали правильно.
   НадюшаЯ
 
10 - 13.08.19 - 16:40
(9) вероятно где то связано
   ам794123
 
11 - 13.08.19 - 16:45
Вот так попробуйте:


КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных();
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(ПоместитьВоВременноеХранилище(СКД, УникальныйИдентификатор)));

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