Документ. СКД. Отбор на форму.
☑
0
024410
28.06.14
✎
16:22
Добрый день!
Такая ситуация:
Есть документ, у него есть макет - СКД.
Задача вывести на форму документа отборы этой СКД.
Вроде все перепробовал... результата 0. Что я делаю не так?
[CODE]
СписокНоменклатуры = Новый ТаблицаЗначений;
СхемаКомпоновкиДанных = ПолучитьМакет("СКД_ТаблицаНоменклатуры");
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
// ЭлементыФормы.ОтборСКД.Данные =Настройки.Отбор;
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
//ЭлементыФормы.ОтборСКД.Данные = КомпоновщикНастроек.Настройки.Отбор;
ОтборСКД = КомпоновщикНастроек.Настройки.Отбор;
//ОтборСКД.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(СписокНоменклатуры);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
ЭлементыФормы.СписокНоменклатуры.СоздатьКолонки();
[/CODE]
ОтборСКД = на форме ТП с типом отбор.
1
barrgand
28.06.14
✎
16:41
(0) ОтборСКД - ТП с типом отбор компоновщика настроек?
2
barrgand
28.06.14
✎
16:50
(0) В общем надо делать так:
КомпоновщикНастроек делаешь реквизитом формы или документа с типом КомпоновщикНастроекКомпоновкиДанных. У ОтборСКД данные выбераешь КомпоновщикНастроек.Настройки.Отбор.
Далее при открытии формы инициализируешь компоновщик:
СхемаКомпоновкиДанных = ПолучитьМакет("СКД_ТаблицаНоменклатуры");
КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
3
024410
28.06.14
✎
16:56
Точно!
Получилось, СПС!
Ошибка? Это не ошибка, это системная функция.