Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Создать новый документ на основании шаблона documentgenerator.document.add». Вы узнаете экспертные методики работы с documentgenerator.document.add и научитесь избегать типичных ошибок начинающих разработчиков.
Создать новый документ на основании шаблона documentgenerator.document.add
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- не указана обязательность параметров
- отсутствует ответ в случае ошибки
> Scope: documentgenerator
>
> Кто может выполнять метод: любой пользователь
Метод documentgenerator.document.add создает новый документ на основании шаблона.
| Параметр | Описание |
|---|---|
| templateId | ID шаблона. |
| value | Внешний идентификатор. Параметр value нужен только для интерфейса приложения, как идентификатор внешнего источника. Это строковый параметр, в него можно передать полноценный внешний код. Например, "PARTNER_APP_10_BILL_133”. |
| values | Набор значений полей документа. В простом случае это одномерный массив, где ключ — название поля, а значение — строка для вставки в документ. |
| stampsEnabled | 1 (поставить), 0 (убрать) печати и подписи. |
| fields | Описание полей документа. Данный параметр — массив, где ключ — название поля, а значение — описание. Коды типов простых полей: — TYPE — тип поля; — FORMAT — формат; — PROVIDER — провайдер; — TITLE — заголовок; — IMAGE — изображение; — STAMP — печать / подпись; — DATE — дата / время; — NAME — имя; — PHONE — номер телефона. |
Практические примеры использования в коде
Здесь можно посмотреть примеры генерации документа.
Ответ в случае успеха
В случае успешного выполнения в результате придёт структура, аналогичная методу documentgenerator.document.get() на новом документе.
Почему в результате document.add нет ссылки на pdf
Конвертация в pdf — операция асинхронная. На момент окончания генерации документа ещё нет pdf-файла.
Если для документа очень нужен pdf, то сейчас единственный вариант — сделать повторный запрос documentgenerator.document.get через 20-30 секунд, чтобы считать ссылку на pdf. Если она там не появилась — попробовать повторить.
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Создать новый документ на основании шаблона documentgenerator.document.add» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru