Подсистема универсальной печати с помощью MS Word (управляемые формы).


Встраиваемая в любую конфигурации подсистема, формирующая печатные формы в MS Word при помощи шаблонов и механизма слияния. Подсистема работает только для управляемых форм.

Для любого объекта метаданных ссылочного типа можно создать шаблон его печати в MS Word. Делается это в несколько шагов:

1. Пишется произвольный запрос, выбирающий из базы данные, необходимые для печати. Необходимо, чтобы в качестве основной таблицы фигурировала таблица объекта метаданных, который мы хотим печатать. Обязательно наличие в запросе выборки ссылки на объект, именно на это поле будет накладываться фильтр при печати.

2. Нажимаем на кнопку "Редактировать шаблон", создается новый шаблон MS Word, либо открывается уже отредактированный ранее. Оформляем шаблон MS Word, заменямые поля необходимо добавить как поле слияния (MergeField). В 2010-м офисе это делается в меню Вставка/Экспресс-блоки/Поле. Необходимо, чтобы названия полей соответствовали правилам формирования идентификаторов, т.е. включали в себя только буквы, цифры и знак "_".

3. В виду того, что редактирование происходит во временном файле, необходимо записать этот файл в базу, это делается нажатием "Получить файл". Если этого не сделать, то изменения, сделанные в пункте 2, будут потеряны.

4. Далее, переходим на закладку "Поля шаблона", там нажимаем "Получить поля". Заполняем соответствия полей из документа и запроса. Также поля могут быть вычисляемыми (произвольный алгоритм, выполняющийся на сервере). В вычисляемых полях можно использовать информацию их выборки запроса, а также уже вычисленные поля.

5. Если необходимо, чтобы в объекте (например, справочнике контрагентов), появилась кнопка печати, то этот объект надо включить в состав команды Печать справочника ШаблоныWord - это особенности реализации команд в 8.2. Можно также создавать свои кнопки печати, для этого достаточно прописать вызов одной процедуры из общего модуля с передачей ссылки на шаблон и массива печатаемых объектов.

6. Печатаем, если все настроено правильно, то получаем печатную форму.

Основные приемы для создания подобных шаблонов приведены в паре примеров в приложенном dt. Конфигурация не претендует на законченность, это скорее пример использования механизма слияния и универсальной настройки шаблона. Одна из ключевых особенностей слияния - скорость. Несколько тысяч печатных форм можно сформировать за буквально секунды.

 

Файлы обработки:

-