Печать универсальная MS Word


В продолжение темы заполнения шаблонов MS Word данными из 1С (8.1). Обработка оформлена как ВПФ. Она не заточена под конкретную типовую конфигурацию и(или) шаблон документа. Алгоритм заполнения шаблона представляет собой табличный документ. Шаблон документа и алгоритм его заполнения можно хранить в самой обработке, в справочнике «Хранилище дополнительной информации» или в файлах.

Аналогичные универсальные решения:

Печать любой формы сделанной пользователем через MS Word

Универсальный механизм печати из типовых конфигураций 1С 8.1 печатных документов на базе макетов сделанных в MS Word

Использование шаблонов Word для заполнения типовых договоров

Печать внешних печатных форм в Word

 

Главное преимущество описываемой обработки от ее аналогов заключается в том, что для ее использования не нужно изменять типовую конфигурацию совсем, т.е. можно использовать в базовых версиях. Все остальное - сплошные недостатки. ;-)

 

Для работы обработки необходимо иметь шаблон в виде файла *.doc (.dot) и алгоритм его заполнения. В комплекте с обработкой идет простейший шаблон и алгоритм. Шаблон и алгоритм можно хранить в самой обработке, в справочнике «Хранилище дополнительной информации», если он имеется в конфигурации, или в файлах.

 Справочник

Алгоритм заполнения шаблона представляет собой таблицу моксель. В первом столбце которой, указываются имена параметров, во втором – код на языке 1С, для их заполнения. Имя параметра можно не указывать. В этом случае, будет просто выполнен код.

Алгоритм

Контекст, доступный из кода:

- Переменная Результат. Это переменная, куда необходимо записать значение текущего параметра. Изначально ее значение равно Неопределено;

- Структура ЛокальныеПеременные. Структура необходима для передачи каких-либо значений между алгоритмами заполнения разных параметров. При первом обращении к переменной необходимо выполнить код ЛокальныеПеременные.Вставить("ИмяПеременной ", ЗначениеПеременной); В дальнейшем можно обращаться проще: ЛокальныеПеременные.Перем1 = ЛокальныеПеременные.Перем2;

- Реквизит СсылкаНаОбъект;

- Переменная Word. СОМ объект;

- Переменная ИcпользоватьПоиск, типа булево. От значения этой переменной зависит каким образом будет передано значение параметра в Word. Истина – все вхождения имени параметра будут заменены на значение переменой Результат. В остальных случаях, значение переменной Результат будет присвоено Variable Word'а с именем параметра. По-умолчанию – Ложь

- Функция ЗначениеСвойства(<Объект>, <НаименованиеСвойства>), возвращает значение свойства с наименованием <НаименованиеСвойства> объекта по ссылке <Объект>.

 

Добавление параметра в MS Word 2003 – Меню\Вставка\Поле, Поля=DocVariable, Новое имя = имя параметра.

Добавление параметра 

Обработка поддерживает следующие дополнительные параметры:

- «Шаблон» типа строка. В этом параметре хранится имя элемента справочника «Хранилище дополнительной информации» с шаблоном Word или имя файла. Если значение не задано, то используется макет «Шаблон» самой обработки;

- «Алгоритм» типа строка. В этом параметре хранится имя элемента справочника «Хранилище дополнительной информации» с алгоритмом в таблице Моксель или имя файла. Если значение не задано, то используется макет «Алгоритм» самой обработки;

- «ИcпользоватьПоиск» типа булево. От значения этого параметра зависит каким образом будет передаваться информация в Word. Истина – все вхождения имен параметров будут заменены на их значения. В остальных случаях, будет использоваться механизм Variable Word'аДополнительные параметры..

 

 

Для подключения обработки имеется форма. Для работы формы требуется справочник "ВнешниеОбработки".

Форма подключения обработки 

В качестве примера использовались обработки:

ЗУП, внеш печ форма трудового договора (через Word)

Печать договора с покупателем в MS WORD из 1с

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

-