Как при компоновки результата заполнить параметр программно?
Здравствуйте, подскажите пожалуйста как заполнить параметр программно в скд?
Такое условие в запросе
Пытаюсь добавить в параметр одного пользователя, никогда раньше такого не делал(
Написал:
Такое условие в запросе
ВЫБОР
КОГДА СКАНИЯ_СогласованиеДоговоровССамозанятымСотрудником.ТипСамозанятости = ЗНАЧЕНИЕ(Перечисление.СКАНИЯ_ТипыСамозанятости.СтороннийСамозанятый)
ТОГДА СКАНИЯ_СогласованиеДоговоровССамозанятымСотрудником.Руководитель
ИНАЧЕ &Руководитель
КОНЕЦ КАК Руководитель
Пытаюсь добавить в параметр одного пользователя, никогда раньше такого не делал(
Написал:
СтандартнаяОбработка = Ложь;
Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных;
По теме из базы знаний
- «Программное заполнение настроек СКД» или «Как сделать отчёт на СКД с понятным для пользователя интерфейсом». (1С: Предприятие 8.1, 8.2 обычное приложение)
- Конструктор результата системы компоновки данных для работы с деревом значений в тонком клиенте.
- "Меньше копипаста!", или как Вася универсальную процедуру писал
- Учебный пример программного формирования схемы компоновки данных: Универсальный отчет по регистрам накопления
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
Найденные решения
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВывестиСКДВТабличныйДокумент(СхемаКомпоновкиДанных, ДокументРезультат, КомпоновщикНастроек);
КонецПроцедуры
Процедура ВывестиСКДВТабличныйДокумент(МакетСКД, ТабличныйДокумент, КомпоновщикНастроек = Неопределено)
Если КомпоновщикНастроек = Неопределено Тогда
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
КонецЕсли;
ИДОбъекта = КомпоновщикНастроек.Настройки.Структура[1].ИдентификаторОбъекта;
ВложеннаяСКД = СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных.Найти(ИДОбъекта);
Если ВложеннаяСКД = Неопределено Тогда
ВызватьИсключение НСтр("ru=""Не удалось получить вложенную схему компоновки данных.""");
Возврат;
КонецЕсли;
НастройкиВлОбъектаКД = КомпоновщикНастроек.Настройки.Структура[1];
ПараметрДанных = НастройкиВлОбъектаКД.Настройки.ПараметрыДанных.Элементы.Найти("Косвенные");
ПараметрДанных.Значение = Справочники.ГруппыЗатрат.НайтиПоКоду("000000002");
ПараметрДанных.Использование = Истина;
ПараметрДанных = НастройкиВлОбъектаКД.Настройки.ПараметрыДанных.Элементы.Найти("Специалисты");
ПараметрДанных.Значение = Справочники.Категории.НайтиПоКоду("000000002");
ПараметрДанных.Использование = Истина;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ВывестиСКДВТабличныйДокумент(СхемаКомпоновкиДанных, ДокументРезультат, КомпоновщикНастроек);
КонецПроцедуры
Процедура ВывестиСКДВТабличныйДокумент(МакетСКД, ТабличныйДокумент, КомпоновщикНастроек = Неопределено)
Если КомпоновщикНастроек = Неопределено Тогда
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.ЗагрузитьНастройки(МакетСКД.НастройкиПоУмолчанию);
КонецЕсли;
ИДОбъекта = КомпоновщикНастроек.Настройки.Структура[1].ИдентификаторОбъекта;
ВложеннаяСКД = СхемаКомпоновкиДанных.ВложенныеСхемыКомпоновкиДанных.Найти(ИДОбъекта);
Если ВложеннаяСКД = Неопределено Тогда
ВызватьИсключение НСтр("ru=""Не удалось получить вложенную схему компоновки данных.""");
Возврат;
КонецЕсли;
НастройкиВлОбъектаКД = КомпоновщикНастроек.Настройки.Структура[1];
ПараметрДанных = НастройкиВлОбъектаКД.Настройки.ПараметрыДанных.Элементы.Найти("Косвенные");
ПараметрДанных.Значение = Справочники.ГруппыЗатрат.НайтиПоКоду("000000002");
ПараметрДанных.Использование = Истина;
ПараметрДанных = НастройкиВлОбъектаКД.Настройки.ПараметрыДанных.Элементы.Найти("Специалисты");
ПараметрДанных.Значение = Справочники.Категории.НайтиПоКоду("000000002");
ПараметрДанных.Использование = Истина;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(МакетСКД, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот