|

Использование шаблонов Word в 1С


Содержание:

1. Использование шаблонов Word в системе программ 1С

    2. Как заполнить шаблон

    Использование шаблонов Word в системе программ 1С

    Формирование документов из шаблонов является очень распространённой задачей, и одним из наиболее гибких инструментов её решения является использование шаблонов Word.
             Шаблон представляет собой обычный документ Microsoft Word, который может включать в себя картинки, таблицы, формулы и прочее. Текст шаблона можно разделить на две категории: статический и динамический.

             Статический текст – это текст, который будет оставаться неизменным, независимо от данных, переданных в шаблон при формировании документа. На статический текст применяется выбранное форматирование, шрифт, цвет и прочее.

             Динамический текст – это текст, который изменяется в зависимости от данных, переданных в шаблон при формировании документа. На динамический текст также распространяются все свойства форматирования, как и на статический текст. Динамический текст указывается в виде параметра, заключенного в угловые скобки: <ПараметрЗаполнения>

             С точки зрения алгоритма механизм формирования договора из шаблона Word выглядит следующим образом:

    1. Инициализируем COM-объект
    2. В цикле заполняем все необходимые параметры
    3. Уничтожаем инстанцию COM-объекта

    Как заполнить шаблон

    Для наглядного примера создадим документ следующего содержания:

    «Сегодня <ДеньНедели>, <Дата>, число дня – <ЧислоДня>».

    Сегодня <ДеньНедели>, <Дата>, число дня – <ЧислоДня>

    Шаг 1. Инициализация COM-объекта.

    ВАЖНО!!! COM-объект изначально нужно инициализировать как числовую переменную с нулевым значением, после чего уже можно переопределять как новый COM-объект.

             КомОбъект = 0;

         Попытка        

    КомОбъект = Новый COMОбъект(“Word.Application”);         

         Исключение

             Возврат ОписаниеОшибки();

         КонецПопытки;

    Данный нюанс важен для последующего корректного закрытия инстанции Word при закрытии документа методом Quit() COM-объекта.

             Шаг 2. Заполнение параметров.

    Для нашего примера нужно получить 3 значения: текущий день недели, текущая дата и случайное число. Для этого напишем функцию, возвращающую структуру, ключом которой будет являться наименование параметра, а значением – необходимые нам данные.

    Функция ПолучитьЗначенияПараметровЗаполнения()

         ГСЧ = Новый ГенераторСлучайныхЧисел(ДеньНедели(ТекущаяДата()));

         ПараметрыЗаполнения = Новый Структура;

    ПараметрыЗаполнения.Вставить(“ДеньНедели”,Формат(ТекущаяДата(),”ДФ=””дддд”””));

    ПараметрыЗаполнения.Вставить(“Дата”,Формат(ТекущаяДата(),”ДФ=dd.MM.yyyy”));

         ПараметрыЗаполнения.Вставить(“ЧислоДня”, ГСЧ.СлучайноеЧисло(0,100));

         Возврат ПараметрыЗаполнения;

    КонецФункции

    Данную функцию будем вызывать в функции заполнения текста документа. Заполнение происходит следующим образом:

    ЗначенияПараметров = ПолучитьЗначенияПараметровЗаполнения();

         Для Каждого Элемент из ЗначенияПараметров Цикл

             Документ.Content.Find.Execute(“<“+Элемент.Ключ+”>”,  Ложь, Истина, Ложь, , , Истина, , Ложь, “” +  Элемент.Значение + “”,2);

         КонецЦикла;

         Шаг 3. Уничтожение инстанции COM-объекта.

    Для корректного выхода из Word и его закрытия необходимо прописать следующие строки:

    КомОбъект.Quit(0);

    КомОбъект = 0;

             В итоге формируется документ с подставленными в параметры значениями:

    Сегодня ПЯТНИЦА, 25.10.2024, число дня – 35

    Специалист компании ООО “Кодерлайн”,

    Астанов Артём


    Помогла ли вам статья? Оставьте свой комментарий:

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Блог про 1С:Предприятие

    Copyright © 2024 TopKoder

    Мы занимаемся внедрением и обслуживанием программных продуктов 1С.