Требование: в типовой конфигурации (БП,УПП, КА и т.д) необходимо в типовой регламентированном отчете использовать параметры заполнения, задаваемые пользователем.
Задача: внести минимальные изменения в отчет, позволяющие:
а) редактировать параметры пользователем;
б) сохранить и восстанавливать значения параметров при записи и открытии отчета.
Возьмем для примера типовой отчет в конфигурации БП «РегламентированныйОтчетБухОтчетность».
В модуле объекта регламентированного отчета нужно объявить экспортную переменную.
Переменная будет использоваться для передачи значений параметров между регламентированной формой и формой редактирования.
Добавим форму для редактирования параметров отчета.
Добавим реквизиты формы.
Разместим добавленные реквизиты на форме.
Удалим кнопку «Сформировать», установим свой заголовок формы.
В модуле формы создадим две процедуры «ПриОткрытии» и «ПриЗакрытии» и внести в них код для получения и передачи параметров из регламентированной формы.
Проверим, что процедуры установлены как обработчики событий формы.
Копируем (используя буфер обмена) реквизиты новой формы в регламентированную форму.
Изменяем модуль регламентированной формы:
В процедуре «ВосстановитьСохраненныеДанные» добавляем заполнение добавленных реквизитов формы из сохраненных данных отчета.
В процедуре «Сохранить» добавляем сохранение добавленных реквизитов формы в данных отчета.
Добавленную форму для редактирования параметров будем вызывать по кнопке из формы регламентированной отчетности.
В модуль формы регламентированной отчетности нужно добавить процедуру – обработчик события нажатия кнопки.
В процедуру «ПриОткрытии» нужно добавить создание кнопки.
Посмотрим на расположение кнопки на командной панели регламентированной формы:
В модуле регламентированной формы используем параметры.
Итоги доработки:
- диалоги типовых форм не изменены;
- добавлена одна форма отчета;
- в модуле объекта добавлено одно объявление переменной;
- в модуле формы добавлен код в три процедуры, по одному блоку кода на каждую процедуру;
- в нескольких процедурах формы будет добавлен код, использующий параметры (в данном примере одна процедура).
Различия в доработке отчетности БП 2.0 и отчетности БП 3.0.
- не используется переменная в модуле объекта отчета;
- дополнительная кнопка на форме отчета создается в процедуре «ПриСозданииНаСервере», а не в процедуре «ПриОткрытии», и код создания кнопки отличается;
- открытие дополнительного окна редактирования параметров, также используется возвращение значения формой для передачи редактируемых параметров обратно;
- параметры, полученные дополнительной формой, обрабатываются в процедуре «ПриСозданииНаСервере»;
-возврат параметров из дополнительной формы осуществляется в процедуре «ПередЗакрытием»
- для корректного закрытия дополнительной формы добавлен реквизит (реквизит и процедура закрытия сделаны по аналогии с типовой формой «НастройкиОтчета».