Заполнение шаблона Word (docx) на сервере без сторонних ПО

12.02.23

Разработка - Инструментарий разработчика

Предлагаю оптимальный (имхо) вариант заполнения Word шаблона без использования каких либо компонентов. Метод заимствован из конфигурации Документооборот.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ЗаполнениеDocx:
.epf 728,08Kb
18
18 Скачать (1 SM) Купить за 1 850 руб.

     Всем доброго времени суток! Для решения нестандартных задач, а именно заполнение Word шаблона через http-сервис пришлось испробовать несколько вариантов перед тем как прийти к своему. Варианты были разные. Во многих решениях используется COM-Объект, который никак не работает на сервере и эти варианты сразу отпали.

    Вариант где максимально подходил к моей задаче был в этой публикации. Но там столкнулся с траблами, где съедались пробелы. Не хотел разбираться, хотя в комментах были решения. В той же публикации мне подсказал nodel0, что заполнение docx шаблона хорошо реализовано в Документообороте, за что ему отдельное спасибо!

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

 

 

В макете обработки добавил демонстрационный шаблон который заранее был настроен в Word в режиме Разработчика. Шаблон до заполнения:

 

Заполненный шаблон:

 

 

     На данный момент этот метод я использую в http-сервисе своей конфигурации. Всё отлично работает, пока для моих задач минусов не нашел. Естественно там все не так просто, данные берутся из json, настраивается типы, склоняется ФИО и т.п. вещи.

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

    UPD_12.02.2023. Для вставки колонтитулов (картинка и текст) аналогичном методом выложил обработку в отдельной публикации Добавление колонтитулов в Word файл(docx). На сервере, без COM и всяких тэгов 

word docx макет обработка

См. также

Документооборот и делопроизводство (СЭД) Типовые Бухгалтер Пользователь Руководитель проекта Платформа 1С v8.3 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:ДО!

48500 руб.

19.02.2016    108303    115    5    

93

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    151878    833    397    

842

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    20450    59    42    

106

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14203    12    27    

36

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:ERP. Управление холдингом Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    3953    22    8    

36

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    14063    36    7    

69

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    9127    33    10    

56

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3840 руб.

14.01.2013    185548    1127    0    

899
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ao_donstroy 19.10.22 17:57 Сейчас в теме
И в чем отличие от xml-инъекции?

Просто параметры шаблона Word в виде элементов управления (полей).
3. aibasoft 11 19.10.22 20:45 Сейчас в теме
(1) Да, верно подмечено на счет параметров. В принципе этот тоже разбирает docx проставляет значения в xml файле и собирает обратно. Данные функции используются в типовых решениях и отлично работают без всяких непонятных ошибок, из-за этого и взял.
2. titanium2008 46 19.10.22 20:09 Сейчас в теме
Docx бсп умеет готовить по шаблону
akela2014; aibasoft; +2 Ответить
4. aibasoft 11 19.10.22 20:51 Сейчас в теме
(2) Кажется создание/настройка шаблонов для автозаполнения который в Докобороте это и есть БСП-шный
6. ao_donstroy 20.10.22 10:58 Сейчас в теме
(3)
(4)
ДО делает по своему
5. ao_donstroy 20.10.22 10:57 Сейчас в теме
(2) БСП тоже разбирает xml, но использует другие параметры шаблона - обычный текст.
Оставьте свое сообщение