Чтобы программно сформировать отчет РеестрОказанныхУслуг при открытии, в форме отчета, в обработчике события ПриОткрытии, вызовем автоматическое формирование отчета.
Для этого создадим форму отчета и обработчик события формы ПриОткрытии и заполним его следующим образом (листинг 4.30).
Листинг 4.30. Обработчик события «ПриОткрытии»
&НаКлиенте
Процедура ПриОткрытии(Отказ)
СкомпоноватьРезультат();
КонецПроцедуры
В этом обработчике при открытии формы на клиенте отчет формируется методом СкомпоноватьРезультат(), поставляемым расширением формы для отчета.
ПРИМЕЧАНИЕ
Этот пример можно посмотреть в демонстрационной конфигурации «08 (вар. 1) Использование стандартного параметра формы отчета для автоматического формирования отчета при его открытии».
Запустим «1С:Предприятие» и откроем отчет РеестрОказанныхУслуг из группы команд Отчеты (рис. 4.50).

Рис. 4.50. Формирование отчета при его открытии
Отчет будет сформирован сразу при открытии формы. Вроде бы все хорошо, но в данном случае при открытии формы отчета будут сделаны два обращения на сервер (рис. 4.51).

Рис. 4.51. Показатели производительности
ПРИМЕЧАНИЕ
Заметим, что при первом открытии формы могут быть лишние серверные вызовы за счет кеширования платформой необходимой информации о форме. Но мы будем изучать стандартную ситуацию, когда при открытии формы происходит один вызов сервера.
Для наглядности рассмотрим схему программного взаимодействия клиента и сервера (рис. 4.52).

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