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

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

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

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

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

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

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

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

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

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


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