Получить результат отбора (с помощью компоновщика, схемы и настроек).
В продолжение темы хочу задать ещё вопрос.
Отбор компоновщика я настроил с помощью нижеописанного кода. Как мне теперь результат с помощью команды вывести в табличную часть? Я конечно посмотрел, как это реализовано в других обработках, но там слишком много ненужных строк кода.
Отбор компоновщика я настроил с помощью нижеописанного кода. Как мне теперь результат с помощью команды вывести в табличную часть? Я конечно посмотрел, как это реализовано в других обработках, но там слишком много ненужных строк кода.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЗагрузитьНастройкиСКД();
КонецПроцедуры
&НаСервере
Процедура ЗагрузитьНастройкиСКД()
СхемаКомпоновки = РегистрыСведений.ЦеныНоменклатуры.ПолучитьМакет("СКД_ОтборПоЦене");
АдресСхемы = ПоместитьВоВременноеХранилище(СхемаКомпоновки, УникальныйИдентификатор);
ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы);
Компоновщик.Инициализировать(ИсточникНастроек);
Компоновщик.ЗагрузитьНастройки(СхемаКомпоновки.НастройкиПоУмолчанию);
КонецПроцедуры
ПоказатьПо теме из базы знаний
- СКД программно для обработки (не отчета) + программное восстановление значений полей из настроек для управляемых форм
- Поле "Отбор" в управляемой форме используя СКД
- Создание отчетов с помощью СКД - основные понятия и элементы
- СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
Показать Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабЗначений);
тОтбор = Построитель.Отбор.Добавить("Колонка1");
тОтбор.ВидСравнения = ВидСравнения.БольшеИлиРавно;
тОтбор.Значение = 10;
тОтбор.Использование = Истина;
Построитель.Выполнить();
ТабРезультат = Построитель.Результат.Выгрузить();
//Вариант
//тОтбор = Построитель.Отбор["Колонка1"];
//тОтбор.ВидСравнения = ВидСравнения.Равно;
Построитель.Выполнить();
ТабРезультат = Построитель.Результат.Выгрузить();
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот