Обработчики событий

Материал из Формирование документов Word из 1C
Перейти к: навигация, поиск

Информация для технических специалистов (программисты, консультанты, администраторы)

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

Обработчики событий реализуются на встроенном языке 1С. Формирование документа Word производится в 2 этапа

  1. Подготовка данных для заполнения закладок. Выполняется на сервере.
  2. Обработка и заполнение закладок в документе Word. Выполняется на клиенте.

Обработчики событий подготовки данных для заполнения шаблона

Данные обработчики выполняются на сервере. Из обработчиков событий данной группы можно выполнять вызовы алгоритмов библиотек (см. раздел Библиотека алгоритмов)

Перед подготовкой данных заполнения

Возникает в начале процедуры подготовки данных для заполнения шаблона. Контекст:

  • Объект - ссылка на объект информационной базы 1С, на основе которого выполняется заполнение шаблона;
  • кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);

Может использоваться, например, для подготовки данных в кэше.

При подготовке данных закладки

Возникает после вычисления значения для очередной закладки (в цикле вычисления значений для закладок). Контекст:

  • Объект - ссылка на объект информационной базы 1С, на основе которого выполняется заполнение шаблона;
  • ИмяЗакладки - имя закладки, для которой вычисляется значение;
  • ЗначениеЗакладки - вычисленное значение для подстановки в закладку до форматирования (см. раздел "Способы заполнения закладок");
  • ЗначениеЗакладкиСтр - ЗначениеЗакладки после форматирования и преобразования значения в строку, изменение данной переменной изменяет подставляемое в закладку значение;
  • кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);

Отметим, что если значение закладки = Неопередено, то закладка при заполнении шаблона не обрабатывается. Например, для способа заполнения "Удалить при условии" значение закладки либо Неопределено (если условие НЕ выполняется), либо пустая строка (если условие выполняется).

После подготовки данных заполнения

Возникает после цикла вычисления значений закладок. Контекст:

  • Объект - ссылка на объект информационной базы 1С, на основе которого выполняется заполнение шаблона;
  • кэш - соответствие, доступное алгоритмам в процессе выполнения правила заполнения шаблона (его использование - на усмотрение программиста, чаще всего для кэширования);

Может использоваться, например, для простановки отметки в информационной базе о том, что было выполнено формирование документа Word (отметка "договор распечатан").

Обработчики событий заполнения шаблона

Данные обработчики выполняются на клиенте. Здесь невозможен вызов алгоритмов из библиотек.

Перед заполнением

Возникает перед началом цикла обработки закладок Word-документа. Контекст:

  • WordDocument - COM-объект объектной модели Word, тип - Document - заполняемый документ-шаблон.
  • СоответствиеЗакладокИЗначений - соответствие, в котором ключ - имя закладки, а значение - то, на что будет заменено значение закладки;

Может использоваться, например, для предобработки документа или значений закладок.

При заполнении закладки

Возникает после выделения закладки в тексте документа (WordDocument.Application.Selection - объект Selection), но до подстановки значения закладки. Контекст:

WordDocument - COM-объект объектной модели Word, тип - Document - заполняемый документ-шаблон.

СоответствиеЗакладокИЗначений - соответствие, в котором ключ - имя закладки, а значение - то, на что будет заменено значение закладки.

ИмяЗакладки - имя закладки, в которую подставляется значение;

ЗначениеЗакладки - значение, которое после преобразования в строку будет подставлено в закладку;

ЗначениеЗакладкиСтр - строковое значение, подставляемое в закладку. Изменение значения данной переменной изменяет подставляемое значение. Если присвоить данной переменной значение Неопределено, то закладка не будет обработана (можно обработать закладку по своему усмотрению);

Может использоваться, например, для переопределения типового механизма обработки закладок.

После заполнения

Возникает перед началом цикла обработки закладок Word-документа. Контекст:

  • WordDocument - COM-объект объектной модели Word, тип - Document - заполняемый документ-шаблон.
  • СоответствиеЗакладокИЗначений - соответствие, в котором ключ - имя закладки, а значение - то, на что выполнялась замена закладки;

Может использоваться, например, для постобработки документа.