Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Язык выражений
Дальше: Фоновое выполнение отчета

Вывод отчета в общую форму

В заключение мы покажем возможность использования общих форм в качестве формы отчета. Платформа предоставляет возможность создать, например, общую форму конфигурации типа Форма отчета, описать в ней некоторые общие алгоритмы поведения форм отчета и назначить ее основной формой для конкретных отчетов или для всей конфигурации в целом.

Например, при разработке большинства отчетов мы не создавали для них специальных отчетных форм. Поэтому при их открытии используется автоматически сгенерированная платформой форма, которая обладает стандартными свойствами и поведением форм отчета. После открытия таких форм нам приходилось нажимать кнопку Сформировать, чтобы получить отчет.

В отчетах Сборка системных блоков (), Отчет по системным блокам () мы разработали основную форму отчета, в модуле которой написали программный код, обеспечивающий формирование отчета сразу при открытии формы. Однако эти формы предназначались не только для этого. В них реализовался индивидуальный алгоритм поведения форм конкретных отчетов.

Если же ряд отчетных форм должен обладать сходным поведением, например, отчет в них должен формироваться сразу при открытии формы, то имеет смысл описать этот алгоритм в общей форме отчета и затем назначить ее основной формой для конкретных отчетов или для конфигурации в целом.

Для реализации этой возможности раскроем ветвь Общие дерева объектов конфигурации. Выделим ветку Общие формы и нажмем кнопку Добавить в командной панели окна конфигурации. В открывшемся конструкторе общих форм выберем тип формы Форма отчета, зададим произвольное имя общей формы и нажмем кнопку Готово (рис. 2.300).

Рис. 2.300. Создание общей формы отчета

Поскольку при создании общей формы флажок Назначить форму основной был установлен (см. рис. 2.300), то общая форма ОбщаяФормаОтчета становится основной формой отчета для конфигурации в целом (рис. 2.301). Это свойство конфигурации можно использовать, например, при отправке отчета по электронной почте.

Рис. 2.301. Свойства конфигурации

Открыв форму ОбщаяФормаОтчета, мы видим, что по внешнему виду и свойствам она ничем не отличается от индивидуальных форм отчета, кроме того, что основной реквизит формы имеет тип ОтчетОбъект, а не ОтчетОбъект.<ИмяОтчета> (рис. 2.302).

Рис. 2.302. Общая форма отчета

В модуле формы создадим обработчик события формы ПриСозданииНаСервере и заполним его следующим образом (листинг 2.57).

Листинг 2.57. Обработчик события формы «ПриСозданииНаСервере»

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

 

Параметры.СформироватьПриОткрытии = Истина;

 

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

В обработчике события параметр СформироватьПриОткрытии устанавливается в значение Истина. Таким образом, отчет будет формироваться сразу при открытии формы отчета.

После этого форму ОбщаяФормаОтчета можно назначить в качестве основной формы для конкретного отчета (рис. 2.303).

Рис. 2.303. Основная форма отчета

Но в данном случае можно было этого и не делать. Поскольку форма ОбщаяФормаОтчета является основной формой отчета для конфигурации в целом (см. рис. 2.301), то для любого отчета, вне зависимости, назначена для него основная форма отчета или нет (см. рис. 2.303), будет открываться ОбщаяФормаОтчета, и отчет будет автоматически формироваться сразу же при ее открытии. При этом если для отчета разработана индивидуальная форма, то она имеет приоритет и будет открыта именно она.

Назад: Язык выражений
Дальше: Фоновое выполнение отчета