Шаблон — это обычный документ Word, в котором вместо переменных значений стоят метки. Звучит просто, и на первый взгляд подготовка занимает пять минут: открыл договор, заменил фамилию на метку, сохранил.
А потом половина меток не подставляется. Причём выглядят они в документе абсолютно нормально. Ниже — как размечать шаблон так, чтобы он работал с первого раза, и почему Word умеет незаметно ломать разметку. В конце — готовые файлы, которые можно скачать и разобрать.
Сразу уберём путаницу. В Word есть собственный формат шаблонов — .dotx. Это заготовка, из которой создаётся новый документ: открыл, заполнил руками, сохранил под новым именем. К автоматической подстановке данных он отношения не имеет.
Здесь под шаблоном понимается другое: обычный .docx, в котором в нужных местах стоят метки-плейсхолдеры. Программа читает такой файл, заменяет метки значениями из таблицы и сохраняет результат как новый документ. Исходный шаблон при этом не меняется — его можно использовать хоть тысячу раз.
Практический вывод: сохраняйте шаблоны в обычном .docx. Формат .dotx здесь не нужен и только добавит путаницы.
Метка — это имя колонки из вашей таблицы, обёрнутое в двойные фигурные скобки: {{ФИО}}, {{Номер}}, {{Дата приказа}}.
Правило соответствия одно: текст внутри скобок должен буква в букву совпадать с заголовком колонки. Подробно механика связывания разобрана в статье о том, как таблица соединяется с шаблоном; здесь сосредоточимся на подготовке самого документа.
Что стоит держать в голове, пока размечаете:
{{ ФИО }} и {{ФИО}} — разные метки. Ставьте без пробелов.{{Дата приказа}}. Заменять пробел подчёркиванием не нужно.{{Номер}} во всех трёх местах.Это причина примерно половины обращений в поддержку у любого инструмента такого класса, и выглядит она мистически: в документе явно написано {{ФИО}}, а подстановка не срабатывает.
Дело в том, что Word хранит текст не сплошной строкой, а фрагментами — их называют «прогонами» (runs). Новый фрагмент создаётся каждый раз, когда меняется оформление: шрифт, размер, курсив, цвет, язык проверки орфографии. Границы фрагментов невидимы.
Достаточно один раз выделить внутри метки одну букву и что-то с ней сделать — или набрать метку, потом вернуться и вставить в середину недостающий символ, — и Word разложит её на куски:
Видите вы: {{ФИО}}
Word хранит: [{{Ф] [И] [О}}]Поиск целой строки {{ФИО}} такую метку не находит. Отсюда правило:
Набирайте метку одним движением, слева направо, не возвращаясь и не форматируя посимвольно. Если метка уже вставлена и не работает — не правьте её, а удалите целиком и наберите заново.
Второй надёжный приём: скопировать готовую рабочую метку из другого места документа и вставить как обычный текст. В Word это Ctrl+Shift+V или «Вставить только текст» в контекстном меню — так вы не притащите чужое форматирование и не создадите новых границ.
И третий: не расставляйте метки автозаменой по всему документу. Массовая замена через Ctrl+H иногда как раз и порождает разрывы, потому что заменяемый текст был оформлен неоднородно.
Оформление метки наследуется значением. Если метка набрана полужирным шрифтом Times New Roman 14 пунктов, подставленное значение будет таким же.
Отсюда практические приёмы:
Форматируйте метку целиком. Выделите её от первой фигурной скобки до последней и задайте нужный шрифт. Не оформляйте отдельные буквы внутри — вернёмся к разорванной метке.
Учитывайте длину будущего значения. Метка {{Должность}} занимает 13 знаков, а значение «главный специалист отдела материально-технического снабжения» — все шестьдесят. Если метка стоит в узкой ячейке таблицы или в строке с выравниванием по ширине, вёрстка поедет. Прикиньте самое длинное значение из своей таблицы и проверьте на нём.
Не полагайтесь на подчёркивание пробелами. Классика бланков — подчёркнутая линия для вписывания от руки. Если поставить метку поверх такой линии, длина подчёркивания останется прежней, а текст будет короче или длиннее. Для полей, которые заполняются программой, линия не нужна вовсе.
Проверьте язык. Иногда часть текста в старом документе размечена как английский — Word подчёркивает такие слова волной. Это ещё один источник разрывов между фрагментами.
Метки работают не только в основном тексте. Это важно, потому что в реальных бланках половина переменных живёт не в абзацах.
В ячейках таблиц — да. Реквизиты сторон, спецификации, перечни — обычное место для меток. Работают и вложенные таблицы, то есть таблица внутри ячейки другой таблицы.
В колонтитулах — да, включая отдельный колонтитул первой страницы и колонтитулы чётных страниц. Это удобно: номер и дата документа, повторяющиеся на каждом листе, ставятся один раз в колонтитул.
Здесь есть нюанс, о котором стоит знать. Если в документе включена галочка «Особый колонтитул для первой страницы», у него два разных колонтитула. Метку нужно поставить в оба — иначе на первой странице будет пусто, а на остальных заполнено, и наоборот.
В надписях и фигурах — да. Речь про элементы, вставленные через «Вставка → Фигуры» или «Надпись»: рамки на грамотах, врезки, штампы с текстом.
В названии файла, в свойствах документа, в сносках — нет. Имя готового файла задаётся отдельно, через служебную колонку таблицы, а не разметкой внутри документа.
Для изображений используется особый вид метки: {{IMG:Фото}}. Читается так: «сюда вставить картинку, имя файла которой лежит в колонке IMG:Фото».
Схема целиком:
IMG:Фото;ivanov.jpg, petrova.png;{{IMG:Фото}} в том месте, где должно быть изображение.Размер задаётся прямо в метке. {{IMG:Подпись-w:40}} ограничит ширину сорока миллиметрами, {{IMG:Фото-h:35}} — высоту тридцатью пятью. Второй размер подберётся сам, пропорции не нарушатся.
Совет из практики: для подписей и печатей используйте PNG с прозрачным фоном. Скан на белом фоне закроет собой линию подписи и часть текста под ней.
Бывает обратная задача — не пачка одинаковых документов, а одна ведомость со списком. Для этого шаблон делается особым образом: в имени файла должно быть слово group, например Реестр group.docx.
Устроен он так: обычная таблица с шапкой и одной строкой-образцом, в которой стоят метки. При обработке эта строка размножится по всем записям источника. Метки за пределами таблицы — в заголовке, в подписи — заполнятся данными первой строки.
Практический эффект: положив в одну папку обычный шаблон приказа и групповой шаблон реестра, за один запуск вы получите и тридцать приказов, и сводный реестр к ним.
Прежде чем запускать разметку на боевых данных, прогоните шаблон по короткому списку. Это дешевле, чем потом искать причину в тридцати готовых документах.
{{ — Word покажет все вхождения. Пересчитайте: столько ли меток, сколько вы ставили.{{. Если что-то осталось — метка не совпала с колонкой либо разорвана форматированием.Чтобы не собирать первый шаблон с нуля, забирайте готовый комплект. Все файлы рабочие: я прогнал их через программу перед публикацией — семь документов сформировались, незамещённых меток не осталось.
Скачать комплект шаблонов (ZIP, 142 КБ)
Что внутри:
Обратите внимание на две вещи в примерной таблице. Колонка «ФИО_дат» заполнена вручную — это плата за отсутствие автоматического склонения: программа подставляет значение, но не изменяет его по падежам. Колонка «Сумма прописью» — тоже: расшифровка суммы считается формулой в Excel или пишется руками.
Третья строка таблицы помечена в колонке «ГЕН» значением «Нет» — при запуске она пропускается. Так можно генерировать выборку, не удаляя строки.
Разметка шаблона — половина дела. Вторая половина — правильно устроенная таблица и понимание того, что получится на выходе: как связываются таблица, шаблон и папка результата, разобрано отдельно.
Если вы пока присматриваетесь и хотите сначала попробовать штатные средства, начните со слияния в Word: оно бесплатно и встроено. Разметка там устроена иначе — через поля слияния, а не фигурные скобки, — но общая логика та же.
Шаблоны из комплекта выше подготовлены под SmartDocGen. Бесплатного демо-режима у программы нет: установщик скачивается свободно, но для запуска нужен код активации. Самый дешёвый способ проверить на своих файлах — тариф на месяц за 399 ₽.


