Программное создание отборов в отчёте

Версия для печатиPDF-версия

Иногда при создании отчётов возникает необходимость добавления в отчёт отборов со стандартными условиями равно, не равно, в списке, в группе и т.д. При этом нет возможности использовать систему компоновки данных.
В данной статье будет рассказано, как это сделать без использования СКД.

1. Создаёте новый внешний отчёт.

2. Добавляете в него реквизит типа ПостроительОтчета.

Создание реквизита отчёта

3. Создаёте новую форму отчёта.

4. На форме размещаете элемент управления Табличное поле с типом значения Отбор.

Вставка элемента управления в форму

5. Привязываете созданный элемент управления к свойству Отбор реквизита отчёта, созданного в п.2.

Привязка элемента управления к данным Привязка элемента управления к реквизиту обработки

6. В процедуре формы ПриОткрытии прописываете инициализацию реквизита-построителя отчёта. Обязательно задаёте текст построителя отчёта. Например:

Процедура ПриОткрытии()
	Построитель.Текст =
	"ВЫБРАТЬ
	|	Номенклатура.Ссылка КАК Номенклатура
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|{ГДЕ
	|	Номенклатура.Ссылка,
	|	Номенклатура.Родитель,
	|	Номенклатура.НоменклатурнаяГруппа,
	|	Номенклатура.Услуга}";
	
	Построитель.Отбор.Добавить("Ссылка", "Номенклатура", "Номенклатура");
	Построитель.Отбор.Добавить("Родитель");
	Построитель.Отбор.Добавить("НоменклатурнаяГруппа");
	Построитель.Отбор.Добавить("Услуга");
КонецПроцедуры
В данном примере можно использовать следующую конструкцию после задания текста построителя отчёта:
Построитель.ЗаполнитьНастройки();

Однако, если в запросе есть параметры, то после заполнения настроек они тоже попадут в отборы.
Условия в запросе, заключённые в фигурные скобки {}, будут работать только при включении соответствующих отборов в пользовательском режиме.

7. Сохраняете отчёт.

8. Открываете отчёт в пользовательском режиме и устанавливаете отборы по своему усмотрению привычным способом. Поля, не отмеченные галками, не будут участвовать в отборах.

Отбор в отчёте Отбор в отчёте

Полезность материала: 
5
Ваша оценка: Нет Средняя: 4.6 (25 оценок)
Оцените полезность материала
© При копировании материалов сайта ссылка на оригинал обязательна.