Документація / Шаблони документів

Шаблони документів

Будуйте 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, заголовки (h1h6), 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 для цього конкретного замовлення. Див. Замовлення для цього сценарію; шаблони, позначені Показувати у віджеті, також можуть бути надруковані самим клієнтом прямо всередині публічного віджета-калькулятора.