Перейти к содержимому

События

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

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

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
МассивОбъектовМассивМассив ссылок для формирования печатных форм+
ВнешниеПараметрыПроизвольныйВходящие параметры, переданные при вызове метода Печать
ПараметрыКомандыСтруктураПараметры команды подсистемы УправлениеПечатью. Изменения принимаются исполнителем. ВАЖНО: при тестовой печати параметры команды не заполняются+
ОтказБулевоПризнак необходимости прервать обработку данных+
ТекстОтказаСтрокаТекст ошибки, который увидит пользователь при отказе+
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Структура параметра ПараметрыКоманды (заполняется подсистемой «Управление печатью» БСП):

КлючТипОписание
ПараметрыПечатиСтруктураНастройки печати. Только чтение
КоллекцияПечатныхФормТаблицаЗначений / СоответствиеТабличные документы (для офисных макетов — соответствие)
ОбъектыПечатиСписокЗначенийРазбивка областей табличного документа по напечатанным объектам
ПараметрыВыводаСтруктураПараметры сформированных табличных документов

Событие вызывается после получения данных запросов. Позволяет выполнить обработку полученных таблиц данных.

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ДанныеМакетаДанныеМакетаКоллекция данных с результатами запросов+
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

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

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ОтказБулевоПризнак отказа от формирования печатной формы+
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Событие вызывается перед выводом новой страницы в печатный документ (только для табличных документов). Позволяет

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Событие вызывается перед выводом области макета в печатный документ. Позволяет отказаться от дальнейшей обработки.

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ОтказБулевоПризнак необходимости пропустить вывод области. На формирование остальной печатной формы не влияет+
ИмяОбластиСтрокаИмя области для вывода в печатную форму
ОбластьМакетаТабличныйДокументСформированная область макета с заполненными значениями параметров+
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Событие вызывается после вывода области макета в печатный документ. Позволяет обработать выведенную область.

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ИмяОбластиСтрокаИмя области для вывода в печатную форму
НачалоОбластиЧислоНомер первой строки выведенной области в табличном документе
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Событие вызывается после окончания формирования страницы печатной формы.

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
НачалоСтраницыЧислоНомер первой строки, с которой начинается вывод страницы
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

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

Имя параметраТип значенияОписаниеИзменение
ЭтотМакетИсполнительИсполнитель печатной формы. Через него доступны функции макета и методы работы с областями
ТабличныйДокументТабличныйДокументТабличный документ для вывода печатной формы+
ТекущаяСсылкаЛюбаяСсылкаСсылка для формирования печатной формы. Если выполняется печать реестра, значение пустое
НаборыДанныхНаборыДанныхДанные наборов, подготовленные для использования при печати
ДополнительныеСвойстваСтруктураКоллекция для передачи данных между событиями+

Через переменную ЭтотМакет в обработчиках доступны методы программного интерфейса исполнителя — работа с областями макета, объединение ячеек, группировка строк и колонок. Полный справочник методов с сигнатурами — в главе API pw_Исполнитель.

В событии ПослеВыводаОбласти для макетов с табличным документом доступны:

ЭтотМакет.ОбъединитьЯчейки(ТабличныйДокумент, ИмяОбласти)
ЭтотМакет.ОбъединитьЯчейки(ТабличныйДокумент, ПерваяСтрока, ПерваяКолонка, ПоследняяСтрока, ПоследняяКолонка)
ЭтотМакет.СгруппироватьСтроки(ТабличныйДокумент, ПерваяСтрока, ПоследняяСтрока, ИмяГруппы, РасположениеЗаголовка)
ЭтотМакет.СгруппироватьКолонки(ТабличныйДокумент, ПерваяКолонка, ПоследняяКолонка, ИмяГруппы, РасположениеЗаголовка)

Точный состав доступных переменных и методов для каждого события всегда показывает подсказка над полем алгоритма в редакторе — она собирается по фактическому поведению исполнителя.

  • Ключ - имя запроса как оно задано в макете
  • Значение - Структура - данные запроса, ключи структуры:
    • Ключ - Строка - ключ запроса из данных макета
    • Имя - Строка - имя запроса как оно задано в макете
    • Данные - ТаблицаЗначений - результат выполнения запроса; таблицу можно изменять
  • Ключ - имя набора как оно задано в макете
  • Значение - зависит от вида набора
    • Первая/Последняя строка - Структура
      • Ключ - Строка - имя поля набора
      • Значение - Произвольный - значение поля набора
    • Соединение строк - Структура
      • Ключ - Строка - имя поля набора
      • Значение - Массив - массив уникальных значений поля набора
    • Многострочная коллекция - Структура - имена ключей:
      • Коллекция - ТаблицаЗначений - все данные набора
      • Строка - Структура - значения текущей строки для вывода, заполняется только для событий ПередВыводомОбласти, ПослеВыводаОбласти
        • Ключ - Строка - имя поля набора
        • Значение - Произвольный - значение поля набора
      • Итог - Структура - итоги по числовым колонкам набора
        • Ключ - Строка - имя поля набора
        • Значение - Структура - агрегаты этого поля: Сумма, Количество, Максимум, Минимум, Среднее, ИтогНакопительный, ИтогПоСтранице, ПроцентКИтогу. В структуру попадают только те агрегаты, которые включены для поля в дереве доступных полей
      • КоличествоСтрок - Число - значение с количеством строк в наборе