3 dealer_receipts
Алексей Обухов edited this page 1 year ago

Использование собственных шаблонов чеков

Актуальные шаблоны чеков и их обновление

ТК 3.х по расписанию проверяет и обновляет номерную ёмкость, логотипы и шаблоны чеков. Штатные шаблоны чеков расположены в папке data\receipts. Они восстанавливаются в оригинальное состояние при каждом обновлении (каждую ночь).

Если Вы хотите иметь свои шаблоны чеков то Вам необходимо загрузить их в папку user\receipts с такими же именами, как и имена штатных. Загружать можно командой “Отправить архив” через сервер мониторинга. ТК ищет в первую очередь шаблоны именно в user\receipts, а затем уже в data\receipts.

Актуальные шаблоны чеков можно скачать отсюда: RU KZ

Операторы с стандартным шаблоном чека

Большинство операторов используют стандартный шаблон чека “payment.xml”, для остальных в operators.xml указан специфичный для провайдера шаблон печати. В теге operator\receipts\receipt атрибут template содержит имя файла шаблона.

<receipt type="default" template="payment_uspp.xml"/>

Что бы указать ваш специфичный шаблон провайдера:

  1. Создаете файл шаблона с уникальным именем, например “payment_123.xml” и помещаете его в папку user\receipts.

  2. Модифицируете/добавляете тег receipt нужному оператору и заменяете user\operators.xml на ваш измененный.

Формат шаблона чеков

####Параметризованные чеки####

Начиная с версии ТК 3.6.2 появилась поддержка параметризованных шаблонов чеков. Если необходимо напечатать строку, зависящую от какого либо параметра, можно добавлять такие конструкции:

    <string if="%DEALER_IS_BANK% == 0">Платежный субагент:</string>
    <else if="%DEALER_IS_BANK% != 0">Банковский платежный агент:</else>

В случае использования такого чека в предыдущих версиях ТК будет безусловно напечатана строка “Платежный субагент:". Новая же версия вычислит выражение в атрибуте @if и если оно имеет значение true, строка будет выведена на чек.

Также поддерживаются просто <string>текст\%переменная%</string>.

Форматирование текста

Имеется возможность использовать теги:

  • [b] Полужирный текст [/b]
  • [i] Наклонный текст (курсив) [/i]
  • [u] Подчеркнутый текст [/u]
  • [dw] Текст двойной ширины [/dw]
  • [dh] Текст двойной высоты [/dh]
  • [с] центрировать [/с]

Поддерживаются комбинации из тегов b i u dw dh, в случае, если это реализуемо на вашем принтере. Центрирование работает пока только с принтерами Custom TL- и TG-серий и только с картинками.

Штрих-код средствами принтера

[bc]1234567890[/bc] Напечатать штрих-код средствами принтера. Поддерживается на принтерах Custom и Citizen Как правило печатается штрих-код типа base128.

Примеры:

<string>[bc]1234567890[/bc]</string>
<string>[bc]1234567890-test[/bc]</string>

Штрих-код 1D

[1d]1234567890[/1d] Напечатать штрих-код предварительно созданный как картинка. Принтер должен поддерживать печать картинок. Печатается штрих-код типа base128.

Примеры:

<string>[1d]1234567890[/1d]</string>
<string>[1d  size=210 left_margin=50]1234567890-test[/1d]</string>

size=размер изображения кода, если атрибут не задан - размер составляет 200px. left_margin=отступ от левого края в пикселах, если атрибут не задан - отступ составляет 0px.

QR-code

[qr size=250 left_margin=50]данные[/qr] - напечатается QR-код с данными, содержащимися внутри тега. size=размер изображения кода, если атрибут не задан - размер составляет 200px. left_margin=отступ от левого края в пикселах, если атрибут не задан - отступ составляет 0px.

Кавычки для обрамления значений атрибутов не допускаются, это не xml!

Примеры:

<string>[qr]www.example.com[/qr]</string>
<string>[qr size=300 left_margin=100]mailto:noreply@example.com[/qr]</string>

PDF-417

Аналогично QR кодам, но используется тег [pdf417]. Реализовано в ТК 3.9.0 и выше.

Картинки

[img]путь к файлу изображения[/img] - напечатается изображение.

Следует учитывать, что не все принтеры поддерживают печать тегов и изображений.

Примеры:

<string>[img]user/logo/copyright.png[/img]</string>
<string>[img][dw]user/logo/my_company.png[/dw][/img]</string>

Если вы используете относительный путь к файлу, его необходимо указывать от корневой папки Терминального Клиента и использовать обратные слеши ‘/’ как разделители. Можно использовать форматы png или jpeg.