Шаблоны документов
Стройте PDF-шаблоны документов — коммерческие предложения, счета, накладные и производственные листы — с живыми данными из заказов.
Обзор
Шаблоны документов — это то, как Configo генерирует PDF — коммерческие предложения, счета, накладные, производственные листы — прямо из данных заказа. Откройте Настройки → Документы в сайдбаре проекта, чтобы увидеть шаблоны вашего проекта. Управление ими требует права Редактирование проекта; просмотр и генерация документов изнутри заказа использует отдельные права Просмотр документов / Редактирование документов (см. Участники и роли).
Список показывает название каждого шаблона, показывается ли он в виджете и когда он был создан/последний раз изменён. Нажмите Добавить, чтобы создать новый шаблон, или значок редактирования на строке, чтобы открыть существующий.
Редактор
Редактор — это шаблон в чистом HTML с двумя способами работы с ним: панель кода (с подсветкой синтаксиса, в основной области слева) и живой Просмотр, на который можно переключиться, отрендеренный по реалистичным примерным данным, чтобы видеть готовый макет без генерации реального заказа.
Боковая панель (или, на мобильном, панель над редактором) содержит:
- Название (обязательно) — внутреннее название, показываемое в списке шаблонов. На самом документе не печатается.
- Показывать в виджете — когда включено, этот шаблон становится доступен как кнопка печати внутри публичного виджета, так что клиент, настраивающий продукт, может сформировать свой экземпляр (например, коммерческое предложение) без участия вашей команды.
- Логотип — изображение, показываемое везде, где ваш шаблон ссылается на
{{{logo}}}(см. ниже). Необязательно; если не задано, шаблон получает текстCONFIGOна этом месте. - Черновики — пять отправных точек: Накладная, Счёт, Счёт (таблица), Коммерческое предложение и Производственный лист. Нажатие на любой из них заменяет текущее содержимое редактора готовым макетом для этого типа документа — самый быстрый способ начать, не набирая HTML с нуля. Это разрушительно для того, что сейчас в редакторе, так что используйте до того, как внесли изменения, которые хотите сохранить.
Нажмите Сохранить в правом верхнем углу, чтобы сохранить шаблон. Новые шаблоны перенаправляют вас в тот же редактор с уже сохранённым шаблоном, так что последующие сохранения обновляют его, а не создают дубликаты.
Язык шаблонов
Шаблоны — это обычный HTML с плейсхолдерами Handlebars, заполняемыми данными печатаемого заказа. Доступные переменные верхнего уровня:
order— серийный номер, даты, суммы оплаты/скидки/подытога/итого (заранее отформатированные как строки с валютой) и остальные поля заказа.contact— имя, email, телефон, адрес, примечание.products— массив, по одной записи на каждую позицию заказа: название, количество, единица, закупочная/розничная цена, наценка и скидка, а также вложенные массивыmaterialsиparts(заполняются, когда позиция пришла из калькулятора с Расчётами или Деталями — для вручную добавленного продукта они пусты).logo— заранее отрендеренный HTML<img>(или текст-заглушка) для настроенного в шаблоне логотипа.
Ссылайтесь на поле как {{order.serial}}, {{contact.name}} и так далее. Перебирайте позиции циклом
{{#each products}}...{{/each}} и используйте {{#if contact.email}}...{{/if}}, чтобы условно показывать
необязательные поля. Используйте элемент управления Copy JSON в редакторе, чтобы скопировать точный объект
примерных данных, используемых для предпросмотра, — самый быстрый способ увидеть полную форму каждого доступного
поля, включая вложенные массивы materials/parts, не гадая.
Используйте {{{logo}}} с тройными фигурными скобками — это выводит сырой HTML (тег <img>), а не
HTML-экранированную строку, которую дал бы обычный {{logo}}.
Какой HTML разрешён
Сгенерированный вывод санитизируется перед рендерингом или преобразованием в PDF, так что переживает только безопасное подмножество HTML:
- Разрешённые теги:
div,span,style,hr, заголовки (h1–h6),strong,em,br,p, списки (ul/ol/li) и таблицы (table/thead/tbody/tr/td/th), а такжеimg. - Разрешённые атрибуты:
style,class,src,alt,width,heightи атрибуты интервалов таблицы (colspan,rowspan,cellspacing,cellpadding). - Всё остальное — ссылки
<a>,<script>, обработчики событий в атрибутах (onclick, …), произвольные атрибутыdata-*— молча вырезается. Ошибки за использование неподдерживаемого тега не будет; он просто не появится в выводе. Оформляйте документ через блок<style>и встроенный атрибутstyle, а не через внешние таблицы стилей или скрипты, которые вообще не поддерживаются.
Генерация документа из заказа
Шаблоны не печатаются с этой страницы настроек. Как только шаблон создан, он появляется кнопкой в панели инструментов над списком продуктов внутри панели деталей заказа — нажмите её, чтобы просмотреть или сгенерировать PDF для этого конкретного заказа. См. Заказы для этого сценария; шаблоны, отмеченные Показывать в виджете, также могут быть напечатаны самим клиентом прямо внутри публичного виджета-калькулятора.