СКД переопределить представление отбора при выводе в отчет

1. ASG74 04.02.21 09:01 Сейчас в теме
Добрый день. Есть отчет на СКД с установленным отбором в виде списка значений.

Настроен вывод отбора в шапке. Если в списке выбрано много элементов, тогда вывод отбора получается вида Отбор: Элементы в списке "Элемент1; Элемент2; Элемент3;.....". То есть не все выбранные элементы перечислены. Это неудобно, особенно когда печатную форму смотришь.

Подскажите, пожалуйста, как вывести в шапку все элементы отбора?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. glek 119 05.02.21 07:26 Сейчас в теме
Кроме варианта макета шапки ничего в голову не приходит.
3. ASG74 05.02.21 09:00 Сейчас в теме
(2)
Кроме варианта макета шапки ничего в голову не приходит.
да похоже на то...
4. SlavaKron 05.02.21 11:23 Сейчас в теме
Можно попробовать постобработкой:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

	СтандартнаяОбработка = Ложь;
	
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот