Заполнение шаблона Word docx на сервере, без ComОбъект и внешних компонент, только механизмами самой Платформы 1С, методом XML-инъекции

Публикация № 1171429

Разработка - Печать - Универсальные печатные формы

1C отчет печатная форма макет шаблон word на сервере сервер xml docx таблица колонтитул ворд двоичныеданные поток потоквпамяти xpath документdom

Внешние печатные формы для документа Счет на оплату позволяют сформировать на сервере без использования технологии OLE (Com объекта) и сохранить на печать заполненные docx шаблоны договора поставки и спецификации к договору (УНФ 1.6) (идея универсальна, подойдет для любой конфигурации). Используются только средства самой Платформы 1С:Предприятие 8.3 (8.3.13.1644). Проверено на релизе УНФ 1.6.16.176.

Идея универсальна, основа взята из данных двух публикаций:

//infostart.ru/public/237032/

//infostart.ru/public/590918/ (только код переписан по-русски)

Подойдет для любой конфигурации, если нет возможности заполнить шаблон docx документа на сервере. Возможно, кому-то подойдёт как готовый вариант или как шаблон для доработки под свои нужды. 

Печатные формы заполняются на основании шаблонов Word docx на сервере без использования технологии OLE (Com объекта). Такой путь выбран по причине того, что часть пользователей в программе работают в базе через веб-клиент, с разных машин, с различными ОС.

На помощь в решении задачи программного вывода строк в таблицу макета docx файла (шаблон спецификации к договору) пришла данная публикация:

//infostart.ru/public/259510/

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

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

становится доступно формирование на сервере заполненного docx файла договора поставки (заполненные программно поля выделены желтым)

и спецификации к договору (обратите внимание, таблица товаров сформирована с нуля и заполнена программно по данным документа, методом XML-инъекции в тело docx шаблона)

Скачать файлы

Наименование Файл Версия Размер
ПечатьДоговораПоставки.epf

.epf 37,21Kb
24
.epf 37,21Kb 24 Скачать
ПечатьСпецификацииКДоговоруПоставки.epf (программное заполнение колонтитула и формирование таблицы)

.epf 34,24Kb
21
.epf 34,24Kb 21 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. artms 227 24.12.19 10:48 Сейчас в теме
А как вы решаете, что при редактировании шаблона WORD разрывает строку к замене?
Если пользователь отредактирует ваш шаблон, как вы можете быть уверены что строку шаблона не разорвет?
А если нужно вывести табличную часть, что делать?
2. 1sig 184 24.12.19 10:58 Сейчас в теме
1. верно, разрывает. Поэтому, если нужно применять свой шаблон, или редактировать текущий, нужно смотреть на этапе отладки разобранную часть document.xml документа, открывать xml-редактором, находить где идет разрыв, и переформатировать документ

2. об этом написано, решение взято отсюда //infostart.ru/public/259510/
3. artms 227 24.12.19 11:20 Сейчас в теме
(2) Написал решение в котором эти ошибки устранены. https://infostart.ru/public/675307/
gubanoff; user774630; ZLENKO; +3 Ответить
Оставьте свое сообщение

См. также

Транспортная накладная (Приложение №4) по Постановлению от 21.12.2020 №2200 для Бухгалтерии 3.0 Промо

Печатные формы документов Оптовая торговля v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Изменение формы транспортной накладной. Постановление Правительства Российской Федерации от 21.12.2020 № 2200. Применяется с 01.01.2021.

1 стартмани

16.01.2021    2555    13    Kontakt    2    

Заполнение документа Word без ComОбъект

Практика программирования v8 1cv8.cf Абонемент ($m)

Идея написать публикацию пришла после прочтения очередного рассказа о том, как файл Word заполнялся через COM-объект в клиент-серверном варианте. При этом падал Сервер 1С. Зачем в принципе использовать файлы Word как шаблоны? Ну, допустим, в организации используется некая внутренняя отчетность, выполнения в корпоративном стиле, и переделать ее на привычные табличные документы нет возможности.

1 стартмани

08.07.2018    16581    nbeliaev    29    

Документооборот 8: Расширяем возможности автозаполнения шаблонов документов в 1С или XML-инъекция

Практика программирования v8 ДО Россия Бесплатно (free)

Довелось недавно решать интересную задачу в которой необходимо было добавить внутреннему документу табличную часть и заполнять на основании такого внутреннего документа word'овский документ по шаблону автозаполнения. Конфигурацию в данном примере модифицировать не потребуется. Кому интересно - прошу под кат.

17.02.2014    17994    Aleksandr_K    42    

Договора из Шаблона MS Word 2007+ без OLE

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Обработка показывает, как можно создать шаблон в MS Word 2007+ и заполнить его данными из 1с, не используя технологию OLE

1 стартмани

15.11.2013    19542    57    wbazil    18