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

12.02.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ЗаполнениеDocx:
.epf 728,08Kb ver:1.0.0
21
21 Скачать (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С:ДО!

55300 руб.

19.02.2016    110046    135    5    

106

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    183995    1024    403    

967

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

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

8400 руб.

20.08.2024    24217    159    84    

158

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

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

94700 руб.

19.02.2016    83543    113    0    

112

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

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

15000 руб.

10.11.2023    13652    57    33    

77

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

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

22200 руб.

06.10.2023    20273    51    19    

86

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

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

9360 руб.

17.05.2024    30499    104    48    

147

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

110400 руб.

11.06.2015    58550    36    20    

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

Просто параметры шаблона Word в виде элементов управления (полей).
3. aibasoft 11 19.10.22 20:45 Сейчас в теме
(1) Да, верно подмечено на счет параметров. В принципе этот тоже разбирает docx проставляет значения в xml файле и собирает обратно. Данные функции используются в типовых решениях и отлично работают без всяких непонятных ошибок, из-за этого и взял.
2. titanium2008 47 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, но использует другие параметры шаблона - обычный текст.
Оставьте свое сообщение