Эта документация была автоматически переведена ИИ.
Использование функции «Шаблонная печать» для создания образца «Договора поставки и закупки»
В сценариях цепочки поставок или торг овли часто требуется быстро создавать стандартизированный «Договор поставки и закупки» и динамически заполнять его содержимое на основе информации из источников данных, такой как данные о покупателях, продавцах и деталях товаров. Ниже, на примере упрощенного сценария использования «Договора», мы покажем вам, как настроить и использовать функцию «Шаблонная печать» для сопоставления данных с заполнителями в шаблоне договора, тем самым автоматически генерируя готовый документ договора.
1. Обзор сценария и структуры данных
В нашем примере существуют следующие основные коллекции (нерелевантные поля опущены):
- parties: Хранит информацию о юридических или физических лицах (Сторона А/Сторона Б), включая название, адрес, контактное лицо, телефон и т. д.
- contracts: Хранит конкретные записи договоров, включая номер договора, внешние ключи покупателя/продавца, информацию о подписантах, даты начала/окончания, банковский счет и т. д.
- contract_line_items: Используется для хранения нескольких позиций по договору (название товара, спецификация, количество, цена за единицу, дата поставки и т. д.)

Поскольку текущая система поддерживает печать только одной записи за раз, мы будем нажимать «Печать» на странице «Детали договора». Система автоматически извлечет соответствующую запись из коллекции contracts, а также связанную информацию из parties и других коллекций, и заполнит ими документы Word или PDF.
2. Подготовка
2.1 Подготовка плагина
Обратите внимание, что наш плагин «Шаблонная печать» является коммерческим и требует покупки и активации, прежде чем вы сможете выполнять операции печати.

Проверка активации плагина:
На любой странице создайте блок д еталей (например, для пользователей) и проверьте, есть ли в настройках действий соответствующая опция настройки шаблона:


2.2 Создание коллекций
Создайте основные коллекции сущностей, договоров и позиций товаров, как описано выше (выберите только основные поля).
Коллекция «Договоры» (Contracts)
Коллекция «Стороны» (Parties)
Коллекция «Позиции договора» (Contract Line Items)
2.3 Настройка интерфейса
Ввод примерных данных:


Правила связывания настроены следующим образом для автоматического расчета общей суммы и остатка платежа:

Создайте блок просмотра, подтвердите данные, затем включите действие «Шаблонная печать»:

2.4 Настройка плагина «Шаблонная печать»

Добавьте новую конфигурацию шаблона, например, «Договор поставки и закупки»:


Далее перейдите на вклад ку «Список полей», где вы увидите все поля текущего объекта. После нажатия «Копировать» вы сможете приступить к заполнению шаблона.

2.5 Подготовка файла договора
Файл шаблона договора Word
Заранее подготовьте образец договора (файл .docx), например: SUPPLY AND PURCHASE CONTRACT.docx
В этом примере мы предлагаем упрощенную версию «Договора поставки и закупки», которая содержит примеры заполнителей:
{d.contract_no}: Номер договора{d.buyer.party_name}、{d.seller.party_name}: Названия покупателя и продавца{d.total_amount}: Общая сумма договора- А также другие заполнители, такие как «контактное лицо», «адрес», «телефон» и т. д.
Далее вы можете скопировать поля из вашей коллекции и вставить их в документ Word.
3. Руководство по переменным шаблона
3.1 Заполнение базовых переменных и свойств связанных объектов
Заполнение базовых полей:
Например, номер договора вверху или объект сущности, подписывающей договор. Вы нажимаете «Копировать» и вставляете его непосредственно в соответствующее место в договоре.


3.2 Форматирование данных
Форматирование даты
В шаблонах часто требуется форматировать поля, особенно поля даты. Непосредственно скопированный формат даты обычно длинный (например, Wed Jan 01 2025 00:00:00 GMT) и требует форматирования для отображения нужного стиля.
Для полей даты можно использовать функцию formatD() для указания формата вывода:
Пример:
Например, если исходное поле, которое вы скопировали, это {d.created_at}, и вам нужно отформатировать дату в формат 2025-01-01, то это поле преобразуется в следующий вид:
Распространенные стили форматирования даты:
YYYY- Год (четыре цифры)MM- Месяц (две цифры)DD- День (две цифры)HH- Час (24-часовой формат)mm- Минутыss- Секунды
Пример 2:
Форматирование чисел
Предположим, у вас есть поле суммы, например {d.total_amount} в договоре. Вы можете использовать функцию formatN() для форматирования чисел, указывая количество десятичных разрядов и разделитель тысячных.
Синтаксис:
- Количество десятичных разрядов: Вы можете указать, сколько десятичных разрядов нужно сохранить. Например,
2означает два десятичных разряда. - Разделитель тысячных: Указывает, использовать ли разделитель тысячных, обычно
trueилиfalse.
Пример 1: Форматирование суммы с разделителем тысячных и двумя десятичными разрядами
Это отформатирует d.amount до двух десятичных разрядов и добавит разделитель тысячных.
Пример 2: Форматирование суммы в целое число без десятичных разрядов
Это отформатирует d.amount в целое число и добавит разделитель тысячных.
Пример 3: Форматирование суммы с двумя десятичными разрядами, но без разделителя тысячных
Здесь разделитель тысячных отключен, и сохраняются только два десятичных разряда.
Другие потребности в форматировании сумм:
- Символ валюты: Carbone сам по себе не предоставляет функции форматирования символов валюты напрямую, но вы можете добавить символы валюты непосредственно в данные или шаблоны. Например:
Форматирование строк
Для строковых полей можно использовать :upperCase для указания формата текста, например, изменение регистра.
Синтаксис:
Распространенные методы преобразования:
upperCase- Преобразовать в верхний регистрlowerCase- Преобразовать в нижний регистрupperCase:ucFirst- Сделать первую букву заглавной
Пример:
3.3 Циклическая печать
Как печатать списки дочерних объектов (например, детали товаров)
Когда вам нужно распечатать таблицу, содержащую несколько подпунктов (например, детали товаров), обычно требуется использовать циклическую печать. Таким образом, система будет генерировать строку содержимого для каждого элемента в списке, пока не будут обработаны все элементы.
Предположим, у вас есть список товаров (например, contract_items), который содержит несколько объектов товаров. Каждый объект товара имеет несколько атрибутов, таких как название продукта, спецификация, количество, цена за единицу, общая сумма и примечания.
Шаг 1: Заполните поля в первой строке таблицы
Сначала в первой строке таблицы (не в заголовке) вы напрямую копируете и заполняете переменные шаблона. Эти переменные будут заменены соответствующими данными и отображены в выводе.
Например, первая строка таблицы выглядит следующим образом:
Здесь d.contract_items[i] представляет i-й элемент в списке товаров, а i — это индекс, который представляет порядок текущего товара.
Шаг 2: Измените индекс во второй строке
Д алее во второй строке таблицы вы изменяете индекс поля на i+1 и заполняете только первый атрибут. Это потому, что при циклической печати нам нужно извлечь следующий элемент данных из списка и отобразить его в следующей строке.
Например, вторая строка заполняется следующим образом:
В этом примере мы изменили [i] на [i+1], чтобы получить данные о следующем товаре в списке.
Шаг 3: Автоматическая циклическая печать при рендеринге шаблона
Когда система обрабатывает этот шаблон, она будет действовать по следующей логике:
- Первая строка будет заполнена в соответствии с полями, которые вы установили в шаблоне.
- Затем система автоматически удалит вторую строку и начнет извлекать данные из
d.contract_items, циклически заполняя каждую строку в формате таблицы, пока все детали товаров не будут напечатаны.
i в каждой строке будет увеличиваться, обеспечивая отображение различной информации о товарах в каждой строке.
4. Загрузка и настройка шаблона договора
4.1 Загрузка шаблона
- Нажмите кнопку «Добавить шаблон» и введите название шаблона, например «Шаблон договора поставки и закупки».
- Загрузите подготовленный файл договора Word (.docx), который уже содержит все заполнители.

- После завершения система добавит этот шаблон в список доступных шаблонов для дальнейшего использования.
- Нажмите «Использовать», чтобы активировать этот шаблон.

После этого закройте текущее всплывающее окно и нажмите «Скачать шаблон», чтобы получить сгенерированный готовый шаблон.
Советы:
- Если шаблон использует формат
.docили другие форматы, возможно, потребуется преобразовать его в.docx, в зависимости от поддержки плагина. - В файлах Word будьте внимательны, чтобы не разделять заполнители на несколько абзацев или текстовых блоков, чтобы избежать ошибок рендеринга.
Желаем успешного использования! С помощью функции «Шаблонная печать» вы значительно сократите объем повторяющейся работы в управлении договорами, избежите ошибок ручного копирования и вставки, а также добьетесь стандартизированного и автоматизированного вывода договоров.

