СКД переопределить представление отбора при выводе в отчет
Добрый день. Есть отчет на СКД с установленным отбором в виде списка значений.
Настроен вывод отбора в шапке. Если в списке выбрано много элементов, тогда вывод отбора получается вида Отбор: Элементы в списке "Элемент1; Элемент2; Элемент3;.....". То есть не все выбранные элементы перечислены. Это неудобно, особенно когда печатную форму смотришь.
Подскажите, пожалуйста, как вывести в шапку все элементы отбора?
Настроен вывод отбора в шапке. Если в списке выбрано много элементов, тогда вывод отбора получается вида Отбор: Элементы в списке "Элемент1; Элемент2; Элемент3;.....". То есть не все выбранные элементы перечислены. Это неудобно, особенно когда печатную форму смотришь.
Подскажите, пожалуйста, как вывести в шапку все элементы отбора?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Можно попробовать постобработкой:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
СписокЗначений = Неопределено;
Поле = Новый ПолеКомпоновкиДанных("ИмяПоля");
Для Каждого ЭлементОтбора Из Настройки.Отбор.Элементы Цикл
Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных")
И ЭлементОтбора.ЛевоеЗначение = Поле
И ТипЗнч(ЭлементОтбора.ПравоеЗначение) = Тип("СписокЗначений")
И ЭлементОтбора.Использование Тогда
СписокЗначений = ЭлементОтбора.ПравоеЗначение;
Прервать;
КонецЕсли;
КонецЦикла;
Если СписокЗначений <> Неопределено Тогда
ОбластьЯчеек = ДокументРезультат.НайтиТекст("ИмяПоля В Списке",,,,,,Истина);
Если ТипЗнч(ОбластьЯчеек) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
Текст = СтрСоединить(СписокЗначений.ВыгрузитьЗначения(), ", ");
ПозицияКавычки = СтрНайти(ОбластьЯчеек.Текст, """");
ОбластьЯчеек.Текст = Лев(ОбластьЯчеек.Текст, ПозицияКавычки + 1) + Текст + """";
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот