Автоматизация экспорта данных в MS Word и OO Writer

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

СЭД «Корпоративный документооборот» включает в себя средства для экспорта данных в документы Microsoft Word и OpenOffice Writer. Данные экспортируются в эти внешние приложения по технологии DCOM. Состав экспортируемых данных зависит от выполненных пользователем настроек шаблонов файлов. Возможности по настройке шаблонов файлов в системе «Корпоративный документооборот» достаточно велики —  пользователи могут передавать в Microsoft Word и OpenOffice Writer следующие данные:

  • Реквизиты корпоративного документа
  • Табличные части корпоративных документов
  • Дополнительные реквизиты (расширения) документов
  • Системные значения (например, имя пользователя и другие)
  • Весь набор констант системы документооборота
  • Результаты выполнения произвольных функций на языке «1С:Предприятие 8.3 / 8.2»

Передаваемые данные (здесь и далее используется термин «источники данных») могут быть предварительно отформатированы, при этом поддерживаются стандартные строки форматирования встроенного языка «1С:Предприятие 8.3 / 8.2», источники данных также могут быть дополнительно обработаны например, сокращены до ФИО, преобразованы в родительный или другие падежи и т.д.

Источники данных могут строиться по рекурсивному принципу, т.е. можно создать источник данных который в своем основании будет иметь другой источник данных и брать из него нужные для экспорта в Microsoft Office или OpenOffice Writer параметры. Количество таких вложений не ограничено.

Важно! Для эффективной работы с системой необходимо различать шаблоны документов и шаблоны файлов. Шаблоны документов предназначены для заполнения реквизитов корпоративных документов, шаблоны файлов предназначены для заполнения внешних файлов (MS Office или OpenOffice) данными из системы документооборота.

Ниже, на этой странице, мы рассмотрим автоматизацию подготовки сложного корпоративного документа, в который будут входит несколько разных шаблонов файлов MS Word. В данных шаблонах файлов будут  использоваться всевозможные источники данных от простого реквизита документа и табличной части до произвольного запроса к базе данных на языке «1С:Предприятие 8.3 / 8.2».

Важно! Написание запросов к базе данных (для формирования источников данных) происходит в пользовательском режиме и не требует запуска «Конфигуратора».

Рассмотрим интеграцию СЭД «Корпоративный документооборот» с MS Word на примере корпоративного документа туроператора, включающего в себя следующий пакет документов: а) Договор на бронирование помещений, б) Приложение к договору с заявкой на размещение, в) Приложение к договору с ваучером,  г) Счет на оплату.

Для удобства дальнейшей работы создадим шаблон документа содержащий набор необходимых бланков. На рисунке ниже приведен пример такого шаблона документов. Подробное описание работы с шаблонами документов приведено в разделе «5.3 Использование шаблонов документов».

шаблон файлов

Создадим новый корпоративный документ, нажмем кнопку «Шаблон» в верхней панели инструментов – произойдет заполнение значений реквизитов документа и списка файлов согласно настроек шаблона документа.

В случае, если мы (или другие сотрудники) уже выполнили все необходимые настройки шаблонов файлов, то нам будет достаточно отредактировать значения реквизитов в новом документе и открыть нужный файл (например, файл договора) на закладке «Файлы». В таком случае произойдет автоматическое заполнение шаблона файла MS Word данными из СЭД «Корпоративный документооборот» и на экран пользователя будет выведен полностью сформированный  и заполненный документ Microsoft Word (или OpenOffice Writer, если шаблон файла создавался на его основе).

Ниже, на этой странице, мы рассмотрим необходимую подготовку шаблонов файлов для организации передачи данных из СЭД «Корпоративный документооборот» во внешние файлы MS Word и OO Writer. Работа с шаблонами документов является одним из эффективных приемов в автоматизации документооборота.

экспорт в ms word

Создание результирующего документа во внешнем приложении состоит из нескольких этапов:

  • Подключение к внешнему приложению по технологии DCOM
  • Сбор данных в системе документооборота, согласно настроек параметров шаблона
  • Передача собранных данных во внешнее приложение, при этом форматирование исходного файла (цвет текста и шрифт) будут сохранены
  • Открытие внешнего приложения для пользователя

Настройка шаблонов файлов осуществляется в подсистеме «Администрирование», пункт «Шаблоны файлов».

шаблоны файлов

Карточка каждого шаблона файла похожа на обычную карточку файлов. Признак того, что данная карточка является шаблоном файла включается установкой флажка «Заполнять данными» в нижней левой части карточки файла.

Для определения списка и порядка экспорта данных необходимо выполнить два основных действия:

  • Отредактировать файл шаблона, установить нужный шрифт, цвет, отступы и другие параметры текста. Указать в какие места текста будут передаваться данные из СЭД «Корпоративный документооборот». Данные места в тексте обозначаются специальными тегами, каждый тег заключен в кавычки { и }.
  • Составить список передаваемых во внешнее приложение параметров и областей, назначить им наименования и указать источники данных для этих параметров.

Наименования параметров и наименования тегов (пункт 1) должны совпадать.

Пункт «Параметры шаблона» в панели навигации формы карточки шаблона содержит список параметров и список областей для формирования результирующего документа. На рисунке ниже показан пример такой настройки.

параметры шаблонов файлов

В тексте внешнего приложения также должны быть отмечены области, которые будут выводиться в результирующий документ. Каждая область имеет свое наименование и порядок размещения.

В тексте файла шаблона область выделяется тегом начала {v8 Область.ИмяОбласти} и тегом завершения области {/v8 Область.ИмяОбласти}. Все, что расположено между тегом начала и тегом завершения выводится в результирующий документ.

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

теги документов

Каждый элемент записи области содержит наименование, вывода в результирующий документ (по возрастанию номеров), признак «Область отключена». В случае если данный признак отмечен, то область не выводится в результирующий документ, таким образом, можно быстро выключить вывод области без изменения всех параметров области.

тип области шаблона

Каждая область может иметь один из следующих типов:

  • Тип «Общая». Данная область для вывода основных блоков текстов, в некоторых случаях весь документ может быть включен в единственную область с типом «Общая»
  • Тип «Шапка таблицы». Данная область предназначена для оформления заголовок (шапок) таблиц. Основное её отличие от области с типом «Общая», в том, что к ней могут в дальнейшем быть присоединены строки (через DCOM методом PasteAppendTable)
  • Тип «Строка таблицы». Данная область предназначена для вывода строк таблицы. Область должна располагаться (согласно номера порядка вывода) сразу после области с типом «Шапка таблицы»
  • Тип «Список». Область данного типа позволяет корректно оформить вывод нумерованного списка либо списка с буллетами
  • Тип «Верхний колонтитул». Область данного типа предназначена для размещения в верхнем колонтитуле результирующего документа
  • Тип «Нижний колонтитул». Область данного типа предназначена для размещения в нижнем колонтитуле результирующего документа

После создания областей можно переходить к непосредственному указанию параметров шаблона файла. Параметры шаблона файла состоят из наименования и ссылки на источник данных, в то же время, источник данных может ссылаться на другие источник либо на конкретные данные в документе, либо на вычисляемые на языке «1С:Предприятие 8.3 / 8.2» функции. Данная структура схематически изображена на рисунке ниже.

структура источников данных

Источники данных, на которые ссылаются параметры шаблонов файлов, расположены в специальном справочнике «Библиотека источников данных».

источник данных

Открыть библиотеку источников данных можно либо при выборе источника данных, либо из меню «Открыть библиотеку источников данных» в меню «Перейти» формы списка справочника «Шаблоны файлов».

библиотека данных

Форма элемента источника данных определяется, в основном, типом данных тега. Вне зависимости от выбранного типа тега каждый элемент библиотеки источников данных содержит наименование, функцию преобразования (см. далее) и примечание.

тег данных

Возможно несколько вариантов типов данных тегов, в зависимости от выбранного варианта изменяется форма элемента источника данных. Ниже, в списке, приведены все варианты типов данных тегов:

Тип данных «Реквизит документа». В данном случае источник данных содержит конкретный реквизит документа. Данный реквизит указывается в поле «Реквизит». Если реквизит документа является ссылочным и содержит другие реквизиты, то можно расширить возможности получения данных из базы данных СЭД, указав дополнение к данному реквизиту, например, указать в поле «Реквизит» «Корпоративная папка», а в поле «Дополнение» «СрокХраненияДокументов».

Названия дополнений берутся из списка реквизитов выбранного объекта в конфигураторе. Можно оставить поле «Дополнение» пустым (для простых, не ссылочных реквизитов оно должно всегда оставаться пустым), тогда для получения данных из базы данных СЭД «Корпоративный документооборот» будет использоваться только поле «Реквизит».

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

тип данных

Поле «Реквизит» можно заполнить, нажав на кнопку выбора, как показано на рисунке ниже.

реквизит

Тип данных «Дополнительный реквизит». С помощью источников данных можно получить доступ к дополнительным реквизитам документа. Состав дополнительных реквизитов документа указывается пользователем в настройке видов документов. В корпоративном документе дополнительные реквизиты размещаются на закладке «Содержание» подзакладка «Реквизиты». Для экспорта данных дополнительных реквизитов необходимо применить тип данных тега «Дополнительные реквизиты» и указать название реквизита.

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

Например, для созданного дополнительного реквизита нашего корпоративного документа «Дата заезда» можно использовать следующий источник данных.

доп. реквизит

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

Тип данных «Константа». При выборе данного типа тега становится доступным заполнение поля «Константа». Нажатие на кнопку выбора открывает список всех констант СЭД «Корпоративный документооборот». При использовании источника данных с типом «Константа» выполняется выборка данных из настроек системы.

Тип данных «Системное». При выборе данного типа становится возможным выбор из нескольких системных значений.

значение реквизита

Возможные системные значения: Текущая дата, Полное имя пользователя, Имя компьютера.

Тип данных «Источник данных основание». При выборе этого типа данных источник данных содержит ссылку на другой источник данных, что позволяет строить изящные, но в то же время высокоэффективные структуры извлечения информации из базы данных СЭД «Корпоративный документооборот». Указанный, как основание, источник данных предоставляет набор свойств (или своих реквизитов), которые можно указать в поле «Реквизит». На рисунке ниже приведен пример получения данных «Наименование полное» из источника данных «Основной контрагент».

тип данных константа

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

Возможны два варианта выборки данных из табличной части корпоративного документа. Вариант указывается в реквизите «Выборка табличной части». Первый вариант позволяет выбрать весь массив строк табличной части, второй вариант позволяет выбрать конкретную (единственную) строку из табличной части. В случае указания варианта выборки единственной строки, становится доступным поле с указанием номера данной строки.

В поле «Реквизит» необходимо указать (введя текст либо нажав кнопку выбора из списка) название реквизита табличной части. На рисунке ниже приведен пример источника данных, который получает из корпоративного документа массив реквизитов «Проект» табличной части «Проекты».

табличная часть

Выбранный массив реквизитов «Проект» будет выведен, согласно настройке тегов (см. далее) в строки таблицы текста документа.

Тип данных «Функция». Выбор данного типа позволяет указать в качестве источника данных вычисляемое значение произвольной функции.

Если возвращаемое значение является ссылочным либо содержит структуру данных, то возможно обращение к элементам данной структуры через поле «Реквизит» источника данных.

функция 1с 8.2

Текст функции пишется на языке «1С:Предприятие 8.3 / 8.2». На входе функции имеется единственный аргумент «ДокументСсылка». Функция должна в обязательном порядке содержать строку «Возврат» с вычисленным возвращаемым значением.

Например, для получения первой строки из табличной части «Организации» корпоративного документа можно использовать следующий текст функции:

//получем первую строку табличной части
Если ДокументСсылка.ОрганизацииПодразделения.Количество()=0 Тогда
Возврат Справочники.Организации.ПустаяСсылка();
КонецЕсли;
ПерваяСтрока=ДокументСсылка.ОрганизацииПодразделения[0];
//получим структуру, содержащую набор реквизитов организации
ОрганизацияСтруктураРеквизитов=аДООбщееСервер.ПолучитьСтруктуруКонтактнойИнформацииОрганизации(ПерваяСтрока.Организация);
Возврат ОрганизацияСтруктураРеквизитов;

Указаная функция возвращает структуру данных, содержащую следующие значения:

Наименование, НаименованиеПолное, ИНН, КПП, Телефон, ЭлПочта, Город, Страна, Регион, ОКПО, ОГРН, ПочтовыйАдрес, ПочтовыйАдрес, ФактическийАдрес, ЮридическийАдрес, ВебСтраница, БанкРасчетныйСчет, БанкНаименованиеСчета, БанкБИК, БанкГород, БанкКоррСчет, БанкНаименование, Руководитель, ГлавныйБухгалтер, Кассир, Кладовщик, ДолжностьРуководителя, ДолжностьГлавногоБухгалтера, ДолжностьКассира, ДолжностьКладовщика

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

Важно! Основную организацию можно получить и через тип тега «Табличная часть» с указанием имени табличной части «Организации и подразделения» и номера строки «1», но в таком случае не будет доступен ряд свойств, которые возвращает встроенная в программу функция «ПолучитьСтруктуруКонтактнойИнформацииОрганизации», например «ДолжностьРуководителя» ряд других. Поэтому проще использовать вышеприведенную функцию в качестве источника данных основной организации.

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

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

  • Форматирование – функция выполняет форматирование строки согласно указанном в реквизите «Строка формата» формату. Используется описание формата функции «Формат()» из языка «1С:Предприятие 8.3 / 8.2». Доступен выбор предопределенных значений формата из списка.
  • Падеж полное ФИО – функция преобразует Фамилию Имя Отчетство в выбираемый в расположенном рядом реквизите падеж.
  • Падеж краткое ФИО — функция преобразует Фамилию Имя Отчетство в выбираемый в расположенном рядом реквизите падеж. Дополнительно производится сокращение до Фамилия И.О.
  • Падеж краткое ИОФ — функция преобразует Фамилию Имя Отчетство в выбираемый в расположенном рядом реквизите падеж. Дополнительно производится сокращение до И.О. Фамилия.
  • Падеж для предмета — функция преобразует ФИО в выбираемый в расположенном рядом реквизите падеж. Используется отличный от описанных выше алгоритмов преобразования в падежи. Рекомендуется использовать для склонения названий предметов, а также должностей.
  • Ф.И.О. — функция преобразует Фамилию Имя Отчество в Фамилию И.О. оставляя именительный падеж.
  • И.О.Ф — функция преобразует Фамилию Имя Отчество в И.О. Фамилия оставляя именительный падеж
  • СокрЛП – функция производит удаление пробелов, расположены слева и справа значения.
  • (ф) ИмяОтчество – функция возвращает Имя Отчество без фамилии, используется, когда в организации принято указывать фамили на первом месте.
  • ИмяОтчество (ф) — функция возвращает Имя Отчество без фамилии, используется, когда в организации принято указывать фамили на последнем месте.
  • Число прописью — функция возвращает значение числа прописью. Используется для числе содержащих сумму в рублях и копейках.

 

Размещение тегов в тексте документа

Для указания мест размещения информации, полученной из источников данных СЭД необходимо указать в тексте файла специальные теги, выделенные символами { и }.

Формат размещения тега в тексте файла следующий – {v8 ИмяПараметра}. В отличие от тега области в теге источника информации не используется закрывающий тег {/v8 ..}. При экспорте данных тег {v8 ИмяПараметра} заменяется данными из соответствующего параметра шаблона документа, шрифт, размер и цвет текста сохраняются.

экспорт в ворд

На рисунке выше приведен пример настройки области реквизитов документа MS Word для вывода данных о реквизитах нашей организации и данных о реквизитах контрагента. Все наименования параметров, вида {v8 ИмяПараметра} соответствуют параметрам, указанных в шаблоне файла. Пример приведен ниже.

список параметров тегов

В корпоративном документе СЭД «Корпоративный документооборот» можно сформировать результирующий документ на основании шаблона MS Word выделив нужный файл на закладке «Файлы» и нажав «Открыть».  В случае, если кнопка «Открыть» не доступна в командной панели, нажмите на стрелку «вниз» для выбора данной команды из выпадающего списка.

После нажатия на кнопку «Открыть» будет сформирован результирующий файл, содержащий информацию из корпоративного документа.

Пример выполнения такой автоматизации документооборота приведен ниже.

перенос в word

Из рисунка видно, что область реквизитов {v8 Область.Реквизиты}…{/v8 Область.Реквизиты} содержащая набор тегов {v8 ИмяПараметра} заполнена параметрами нашей организации, и параметра организации контрагента согласно включенными в состав параметров шаблона файла источников данных. Для вывода в результирующий документ таблицы, содержащей какую-либо табличную часть корпоративного документа необходимо указывать две области: а) область шапки таблицы таблицы и б) область параметров строк таблицы. Пример настройки текста документа для вывода табличной части произвольный таблицы показан ниже.

области шаблона

На рисунке выше приведен пример настройки областей для вывода шапки таблицы и её строк.  Видно, что таблица разделена на области («ШапкаТаблицыПроиживающие» и «СтрокаПроживающие»), при экспорте область строк будет присоединяться к области шапки, образуя единую таблицу документа MS Word. Настройка шаблона текста для OpenOffice Writer аналогична.

В шаблоне файла СЭД «Корпоративный документооборот» необходим указать область шапки и область строк таблицы,  при этом область строк должна иметь номер порядка вывода больший, чем у шапки таблицы.

порядок тегов

В демо-базе из комплекта поставки, есть пример автоматизациии документооборота в области создания и работы с шаблонами документов. В демо-базу включен документ «Резервирование гостиницы для командировок», в нем есть шаблон файла «Приложение №2. Заявка на бронирование». В этот шаблон уже настроен вывод строк произвольной таблицы. Состав колонок произвольной таблицы определяется в настройках вида документа (в рассмотренном примере он содержит данные о сотрудниках, отправленных в командировку). Пользователи могут настроить вывод любой табличной части в результирующий документ.

экспорт в openoffice writer

В прилагаемой к СЭД «Корпоративный документооборот» демо-базе можно посмотреть все описанные в этом разделе настройки шаблонов файлов,  настройки параметров и источников данных. Разрабока и широкое использование на предприятии шаблонов документов (договоров, коммерческих предложений и других документов) позволяет быстро и наглядно выполнить автоматизацию документооборота в области подготовки важных документов.

Смотрите также: