Как настроить печатную форму документа

Страница Редактирования документа позволяет создавать и изменять шаблоны печатных документов, в которых автоматически подставляются данные из договора или задачи. Шаблоны поддерживают язык 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 заполняет автоматически нужными данными.

Как это работает

  1. Пишите текст, как обычно.

  2. Там, где должны появиться данные (например, имя клиента или дата), вставляете фигурные скобки и обращаетесь к нужным данным:
    {{contract['filters']['Imya klienta']}}.

  3. При формировании документа 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 для условий и циклов, чтобы создавать динамические документы.
  • Проверяйте доступные переменные через поле «Укажите договор».
  • При изменении шаблонов помните, что система сохраняет историю версий.