В начало

Программный отбор в отчете «Проекты»

 

Для реализации программного отбора в отчете возьмем за основу справочник «Проекты» и создадим отчет.

Далее показан справочник «Проекты», в котором собраны некие проекты, имеющие реквизит «ВидПроекта»: ИБП и ОБП.

Рис. Форма списка справочника «Проекты»

 

            Создаем в конфигураторе новый отчет, обзываем его «Проекты», на закладке «Основные» открываем/создаем схему компоновки данных  (СКД), как показано ниже.

Рис. Свойства отчета «Проекты», закладка «Основные»

 

            Потом добавляем новый набор данных типа «Запрос», запускаем конструктор запросов.

            В конструкторе запросов выбираем таблицу справочника «Проекты», перетаскиваем нужные поля.

Рис. Конструктор запросов

 

            Закрываем конструктор запросов, возвращаемся в СКД, добавляем простейшие настройки отчета.

Рис. СКД, закладка «Настройки»

 

            Если сформировать отчет, то он будет иметь вид, как показано далее.

Рис. Отчет «Проекты» в первом приближении

 

            Теперь возвращаемся в конфигуратор, создаем форму отчета. В модуле формы отчета создаем процедуру «ПриОтрытии», а в ней размещаем код, который будет формировать программный отбор для вида проекта «ИБП».

 

Листинг. Процедура «ПриОткрытии» в модуле формы отчета «Проекты»

Процедура ПриОткрытии()

                Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

                ЭлементОтбора = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

                ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидПроекта");

                ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

                ЭлементОтбора.ПравоеЗначение = Справочники.ВидыПроектов.НайтиПоНаименованию("ИБП");

КонецПроцедуры

 

 

            Если сформировать такой отчет, то результат будет иметь следующий вид.

Рис. Отчет «Проекты» с отбором по виду проекта «ИБП»

 

            Если перейти в настройки отчета на вкладку «Отбор», то там можно увидеть программно-сформированный отбор по виду проекта.

Рис. Настройки отчет «Проекты», закладка «Отбор»

 

            Таким образом, был сформирован программный отбор в отчете «Проекты».