Как настроить печатную форму документа
Страница Редактирования документа позволяет создавать и изменять шаблоны печатных документов, в которых автоматически подставляются данные из договора или задачи. Шаблоны поддерживают язык Twig, что делает возможным гибкую настройку отображения информации.
Поля формы

Название
Отображаемое название документа. Используется в списках документов и при выборе для печати.
Пример: Акт выполненных работ, Товарный чек.
Шаблон
Поле для настройки печатной формы документа. Здесь можно в визуальном редакторе сформировать шаблон с текстом и вставками переменных, чтобы при печати документ автоматически подставлял нужные данные.
В редакторе можно оформить текст и использовать Twig-шаблоны: они позволяют вставлять данные из системы (имя клиента, дату, реквизиты) прямо в документ. Например:
Договор № {{ contract['id'] }}
Клиент: {{ contract['filters']['Imya klienta'] }}
Телефон: {{ contract['phone'] }}
Стоимость: {{ contract['cost'] }} руб.
Более подрбоно с шаблонизаторов вы можете ознакомиться далее: Что такое Twig-шаблон
Дополнительно редактор имеет режим работы с источником. В меню есть соответствующая кнопка "Источник", которая позволяет изменять содержимое документа с помощью HTML. Данный формат подойдет для профессионалов, в случае если необходимо добиться идеального качества или более контролируемого процесса.
Назначение
Выбор, где будет доступен документ:
– Договор – доступен для печати со страницы договора (для менеджеров).
– Задача – доступен для печати со страницы задачи (для исполнителей).
Ориентация
Определяет формат вывода документа:
– Термопечать 80мм – используется для печати на чековых принтерах (ESC/POS).
– Вертикально – стандартная печать на лист А4 (портрет).
– Горизонтально – печать на лист А4 (альбом).
Укажите договор
Поле предназначено для тестирования шаблона. При вводе ID договора система показывает все доступные переменные в формате Twig с реальными примерами данных.
{{ contract['id'] }}: 447
{{ contract['create_time'] }}: 1583721559
{{ contract['phone'] }}: "89138582680"
{{ contract['filters']['Imya klienta'] }}: "Ольга"
{{ contract['products'][0]['product_id'] }}: 30
{{ contract['products'][0]['params']['count'] }}: "1"
Предыдущие версии документа
Система хранит историю изменений документа. Перед сохранением автоматически создаётся копия текущего состояния (но не чаще, чем раз в 5 минут). Таким образом, можно восстановить одну из предыдущих версий при необходимости.
Что такое Twig-шаблон
Twig — это трафарет для текста. В нём вы пишете обычные слова, а вместо переменных частей оставляете «пустые места». Эти места Twig заполняет автоматически нужными данными.
Как это работает
-
Пишите текст, как обычно.
-
Там, где должны появиться данные (например, имя клиента или дата), вставляете фигурные скобки и обращаетесь к нужным данным:
{{contract['filters']['Imya klienta']}}
. -
При формировании документа Twig подставляет туда реальные значения.
Для чего это нужно
-
Чтобы один шаблон подходил для многих документов.
-
Чтобы автоматически менять текст в зависимости от ситуации.
-
Чтобы быстро получать готовый документ без ручного редактирования.
Данный формат шаблонизации распространён повсеместно, что позволяет найти массу примеров его применения в интернете и на официальном сайте разработчиков Twig
Переменные
{{ contract['id'] }}
Условные конструкции
{% if contract['cost'] > 0 %}
<p>Стоимость договора: {{ contract['cost'] }} руб.</p>
{% else %}
<p>Стоимость не указана</p>
{% endif %}
Циклы – удобно для вывода списка товаров/услуг:
<ul>
{% for product in contract['products'] %}
<li>{{ product['product_id'] }} — {{ product['cost'] }} руб.</li>
{% endfor %}
</ul>
Простой чек для термопечати
<h2>Чек № {{ contract['id'] }}</h2>
Клиент: {{ contract['filters']['Imya klienta'] }}
Телефон: {{ contract['phone'] }}
{% for product in contract['products'] %}
- {{ product['product_id'] }} x {{ product['params']['count'] }} = {{ product['cost'] }} руб.
{% endfor %}
Итого: {{ contract['cost'] }} руб.
Акт выполненных работ
<h1>Акт выполненных работ</h1>
<p>Договор № {{ contract['filters']['Dogovor'] }} от {{ contract['filters']['Datazaklyucheniyadogovora'] }}</p>
<p>Клиент: {{ contract['filters']['Imya klienta'] }}</p>
<h3>Выполненные услуги:</h3>
<ul>
{% for product in contract['products'] %}
<li>{{ product['product_id'] }} — {{ product['cost'] }} руб.</li>
{% endfor %}
</ul>
<p>Общая сумма: {{ contract['cost'] }} руб.</p>
Рекомендации
- Используйте Twig для условий и циклов, чтобы создавать динамические документы.
- Проверяйте доступные переменные через поле «Укажите договор».
- При изменении шаблонов помните, что система сохраняет историю версий.