Автозаполнение документов строится на шаблоне с переменными полями, источнике данных и правилах проверки. Сначала определите структуру документа и формат переменных, затем подключите справочник, CRM или API, настройте валидацию, протестируйте разные сценарии и только после этого публикуйте шаблон для автоматизации документооборота.
Перед настройкой автозаполнения: критичные требования
- Определите, какие данные повторяются в документах и действительно должны подставляться автоматически.
- Зафиксируйте единые имена переменных: например,
client.full_name,contract.number,contract.date. - Разделите обязательные, необязательные и вычисляемые поля.
- Проверьте права доступа к CRM, справочникам, API и хранилищу шаблонов.
- Не передавайте в шаблон лишние персональные данные и секретные ключи API.
- Подготовьте тестовые записи без реальных чувствительных данных.
Типы переменных полей и паттерны использования
Переменные поля подходят для договоров, счетов, актов, заявлений, коммерческих предложений и других повторяющихся форм. Они особенно полезны, когда содержание документа одинаково, а реквизиты клиента, даты, суммы и условия меняются.
Автозаполнение документов не стоит применять для полностью уникальных документов, сложных редакторских материалов или процессов, где исходные данные постоянно меняются без контроля версий.
| Формат переменной | Пример | Источник | Когда использовать |
|---|---|---|---|
| Текст | {{client.full_name}} |
CRM или справочник | ФИО, адрес, должность |
| Дата | {{contract.date}} |
Карточка сделки | Дата договора, срок действия |
| Число | {{invoice.total}} |
Расчётная система | Сумма, количество, ставка |
| Список | {{items}} |
API или таблица | Товары, услуги, этапы |
| Условие | {{#if client.company}}...{{/if}} |
CRM | Необязательные блоки |
Базовая конфигурация переменных может выглядеть так:
{
"client": {
"full_name": "Иван Петров",
"company": "ООО "Пример""
},
"contract": {
"number": "Д-001",
"date": "2026-09-06"
}
}
Проектирование шаблона: где и как располагать переменные
Перед созданием типовых документов составьте карту данных: название поля, тип, обязательность, источник и формат вывода. Размещайте переменные рядом с поясняющим текстом и не вставляйте их в места, где редактор может изменить структуру тега.
Понадобятся редактор шаблонов, доступ к источнику данных, тестовый набор записей, правила форматирования и механизм сохранения версий. Для каждого поля задайте понятный резервный вариант, например пустое значение, текст "не указано" или остановку генерации при отсутствии обязательных данных.
Пример фрагмента шаблона:
Договор № {{contract.number}}
г. {{contract.city}} от {{contract.date}}
Заказчик: {{client.company}}
Представитель: {{client.full_name}}, {{client.position}}
Интеграция источников данных: справочники, CRM и API
-
Опишите структуру данных.
Сопоставьте поля шаблона с полями источника. Имена и типы должны быть однозначными.
client.full_name← CRM: "Контакт - Имя";client.company← CRM: "Организация";contract.number← система договоров: "Номер".
-
Выберите способ подключения.
Для небольшого постоянного набора подойдут справочники или таблицы. Для связанных карточек и актуальных статусов используйте CRM, а для обмена между системами - API.
-
Настройте авторизацию.
Используйте отдельную учётную запись или токен с минимально необходимыми правами. Секреты храните в защищённом хранилище, а не внутри текста шаблона.
-
Сопоставьте поля.
Создайте слой преобразования между источником и шаблоном, чтобы не привязывать документ напрямую к нестабильным названиям полей.
{ "source": { "contact_name": "Иван Петров", "legal_name": "ООО "Пример"" }, "template": { "client.full_name": "Иван Петров", "client.company": "ООО "Пример"" } } -
Обработайте ошибки подключения.
Предусмотрите тайм-аут, повторный запрос и понятное сообщение об ошибке. Если обязательные данные не получены, документ не должен публиковаться автоматически.
-
Проверьте обновление данных.
Сгенерируйте документ после изменения контактных реквизитов, статуса сделки и суммы. Убедитесь, что используется актуальная запись, а не старый кэш.
Быстрый режим
- Выберите один тип документа и выпишите повторяющиеся реквизиты.
- Создайте единый словарь переменных.
- Подключите один источник данных с тестовой записью.
- Добавьте проверку обязательных полей и дат.
- Сгенерируйте несколько вариантов и сохраните первую рабочую версию.
Валидация, нормализация и форматирование значений
Проверка результата нужна до сохранения, отправки или подписания документа. Нормализация устраняет различия в написании, а форматирование приводит даты, суммы и адреса к единому виду.
- Проверьте наличие всех обязательных полей.
- Проверьте типы: дата является датой, сумма - числом, список - массивом записей.
- Приведите даты к единому формату, например
ДД.ММ.ГГГГ. - Удалите лишние пробелы и дублирующиеся разделители.
- Проверьте корректность ИНН, телефона, электронной почты и других реквизитов по правилам вашей системы.
- Ограничьте количество знаков после запятой для денежных значений.
- Убедитесь, что пустое необязательное поле не оставляет лишние запятые или пустые строки.
- Проверьте экранирование специальных символов и HTML-разметки.
- Сравните итоговый документ с контрольным образцом.
Пример правила форматирования:
{
"contract.date": {
"type": "date",
"input": "2026-09-06",
"output": "06.09.2026"
},
"invoice.total": {
"type": "currency",
"currency": "RUB",
"fraction_digits": 2
}
}
Условная логика и ветвления в текстовых шаблонах
Условия позволяют показывать разные блоки для юридического лица, физического лица, предоплаты или отсрочки. Синтаксис зависит от платформы, поэтому проверяйте его в документации конкретного сервиса.
{{#if client.company}}
Заказчик: {{client.company}}
{{else}}
Заказчик: {{client.full_name}}
{{/if}}
- Не используйте поле, которое может отсутствовать, без проверки существования.
- Не смешивайте в одном условии проверку текста, числа и даты без явного преобразования.
- Не дублируйте один и тот же блок в нескольких ветках без необходимости.
- Проверяйте нулевое значение отдельно от пустого значения, если это важно для расчёта.
- Закрывайте каждый условный блок и проверяйте вложенность.
- Не скрывайте обязательные юридические условия только из-за ошибки в данных.
- Проверяйте результат для каждой ветки: положительной, отрицательной и резервной.
Тестирование, деплой и управление версиями шаблонов
Перед публикацией создайте тестовый набор, включающий обычный сценарий, пропущенные поля, длинные значения, специальные символы и разные варианты условной логики. Каждую версию шаблона связывайте с описанием изменений и датой публикации.
Выберите подход к выпуску:
- Ручная публикация. Подходит для редких изменений и небольшого числа пользователей.
- Тестовый контур. Используйте для шаблонов, связанных с CRM, API и финансовыми расчётами.
- Поэтапный выпуск. Сначала направьте новую версию ограниченной группе, затем расширяйте использование.
- Откат. Храните предыдущую рабочую версию, чтобы быстро вернуть её при ошибке.
Пример записи версии:
{
"template": "contract",
"version": "2026-09-06",
"status": "test",
"changes": [
"Добавлено поле client.position",
"Изменён формат contract.date"
]
}
После проверки автоматизация документооборота должна оставлять журнал: кто запустил генерацию, какие данные использовались, какая версия шаблона применялась и завершилась ли операция успешно.
Решения типичных проблем при автозаполнении и переменных
Почему переменная отображается как обычный текст?
Проверьте синтаксис, регистр символов и поддерживаемый формат тегов. Убедитесь, что поле находится внутри области шаблона, обрабатываемой системой.
Что делать, если поле не заполняется?
Сравните имя переменной с фактическим путем к данным и проверьте права доступа к источнику. Для обязательного поля настройте остановку генерации или понятное сообщение об ошибке.
Как избежать неправильного формата даты?
Храните дату в стандартизированном виде, а отображение настраивайте отдельным правилом форматирования. Не форматируйте одну и ту же дату несколько раз на разных этапах.
Можно ли использовать списки товаров или услуг?
Да, если шаблонизатор поддерживает циклы или повторяющиеся строки. Заранее определите обработку пустого списка, длинных названий и итоговой суммы.
Как защитить данные при подключении CRM?
Используйте минимальные права, защищённое хранение токенов и тестовые записи без чувствительной информации. Ограничьте журналирование персональных данных.
Что делать после изменения структуры CRM?
Обновите слой сопоставления, протестируйте обязательные поля и сохраните новую версию шаблона. Старую рабочую версию оставьте доступной для отката.
Когда шаблоны документов онлайн становятся неудобными?
Проблемы возникают при отсутствии контроля версий, прав доступа и прозрачного источника данных. В таком случае сначала упорядочьте справочники и процесс согласования, а затем подключайте дополнительные интеграции.