Последняя задача, которую мы рассмотрим в этой главе, это открытие формы отчета и выполнение этого отчета без дополнительных действий со стороны пользователя.
Например, есть отчет ЦеныТоваров. Он показывает последние цены, установленные на товары.
Задача в том, чтобы по команде в форме товаров сразу запускать этот отчет с отбором, установленным по тому товару, на котором находится курсор в списке.
Выполнить эту задачу помогут два параметра, которые поставляются расширением отчета: Отбор и СформироватьПриОткрытии. Параметр Отбор позволяет установить отбор в отчете, задав значения полей или параметров отчета. А параметр СформироватьПриОткрытии позволяет сразу же выполнить отчет, после того как его форма будет получена на сервере.
Примечание
Пример можно посмотреть в демонстрационной базе «Открытие форм», форма списка справочника Товары, команда ЦенаТовара. Это локальная команда формы списка справочника Товары.
Итак, создадим форму списка справочника Товары и добавим в нее команду ЦенаТовара. Текст обработчика этой команды будет выглядеть следующим образом (листинг 3.19).
Листинг 3.19. Обработчик команды «ЦенаТовара»
УсловияОтбора = Новый Структура("Товар", Элементы.Список.ТекущаяСтрока);
ПараметрыФормы = Новый Структура("Отбор, СформироватьПриОткрытии", УсловияОтбора, Истина);
ОткрытьФорму("Отчет.ЦеныТоваров.ФормаОбъекта", ПараметрыФормы);
Сначала создаем структуру УсловияОтбора, которая задаст единственное условие отбора – по тому товару, на котором установлен курсор в списке (Элементы.Список.ТекущаяСтрока).
Затем сформируем структуру для параметров формы (ПараметрыФормы), описав в ней значения двух параметров: Отбор и СформироватьПриОткрытии.
В заключение, как и раньше, открываем форму отчета (ОткрытьФорму()), указав имя формы и параметры, предназначенные для открываемой формы.