Терминал самообслуживания
Руководство администратора по настройке шаблонов чеков
Версия документа: 0.1
Содержание
1. Введение. 3
1.1 Назначение документа. 3
1.2 Пользователи документа. 3
1.3 Связанные документы. 3
2. Шаблоны чеков. 4
2.1 Описание шаблона. 4
2.2 Переменные. 7
2. Введение
2.1 Назначение документа
Документ описывает правила создания собственных шаблонов для печати чеков. Приведен перечень переменных, с помощью которых на чек выводится различная информация.
2.2 Пользователи документа
Документ предназначен для администратора АТМ терминалов.
2.3 Связанные документы
1. ATM5 - Руководство администратора
3. Шаблоны чеков
3.1 Описание шаблона
Шаблоны для чеков находятся в файле printconfig. xml (находится в директории configs на терминале, а также можно назначать на сервере ПС). Общий вид файла:
<?xml version="1.0" encoding="utf-8"?>
<data>
<check>...</check>
<check>...</check>
<check>...</check>
</data>
Каждый шаблон чека описывается отдельной секцией check, а для указания назначения (привязки шаблона к типу или поставщику) есть атрибуты providerId, categoryId и type. Возможными значениями для providerId и categoryId являются целочисленные идентификаторы услуг или категорий. К примеру шаблон чеков для сотовых операторов будет находиться в секции <check categoryId='1'>...</check>, а шаблон чека для поставщика «Орифлейм» – <check providerId='400'>...</check>.
При необходимости распечатать платежный чек приложение производит поиск шаблона в следующей последовательности: вначале ищется шаблон для целевого поставщика по атрибуту providerId, если шаблон не найден, то производится поиск по категории целевого поставщика (т. к. поставщик всегда принадлежит какой-то группе) по атрибуту categoryId.
При печати инкассационного чека ищется шаблон с типом COLLECTION (<check type='COLLECTION'>...</check>)
Шаблон чека, фактически, описывает каждую строчку, которую необходимо напечатать.
Строки могу описываться следующими элементами:
· Line
· TableLine
· Feed
· DataSet
Line
Используется для печати строки. Возможные атрибуты и значения:
· fontSize — задает размер шрифта для печати. Возможные значения: big, medium, small (по умолчанию medium).
· bold — указывает использовать или нет жирный шрифт. Возможные значения: true, false (по умолчанию false).
· italic — указывает использовать или нет курсив. Возможные значения: true, false (по умолчанию false).
· alignment — задает выравнивание строки. Возможные значения: left, center, right.
· width — указывает длину строки в символах.
В том случае, если текст больше заданной длины, он будет разбит на отдельные строки, каждая из которых будет иметь все те же свойства.
Например, в шаблоне указано:
<Line bold='true' italic='true' width='9'>Текст для примера</Line>
На чеке будет напечатано:
Текст для |
примера |
TableLine
Используется для указания, что строка будет разбита на колонки. Каждая колонка должна быть описана элементом Column. Свойства печати (fontSize, bold и italic) распространяются на все вложенные элементы Column.
Возможные атрибуты и значения для TableLine:
· fontSize — задает размер шрифта для печати. Возможные значения : big, medium, small (по умолчанию medium)
· bold — указывает использовать или нет жирный шрифт. Возможные значения true, false (по умолчанию false)
· italic — указывает использовать или нет курсив. Возможные значения true, false (по умолчанию false)
Возможные атрибуты и значения для Column:
· fontSize — задает размер шрифта для печати. Возможные значения: big, medium, small (по умолчанию medium).
· bold — указывает использовать или нет жирный шрифт. Возможные значения: true, false (по умолчанию false)
· italic — указывает использовать или нет курсив. Возможные значения: true, false (по умолчанию false)
· alignment — задает выравнивание строки. Возможные значения: left, center, right
· width — указывает длину строки в символах
Свойства fontSize, bold и italic игнорируются, если они в явном виде указаны в элементе TableLine.
В том случае, если текст больше заданной длины, он будет разбит на отдельные строки. При этом позиции по колонкам сохранятся.
Например, в шаблоне указано:
<TableLine bold='false'>
<Column width='14' alignment='left' bold='true'>Текст в левой колонке</Column>
<Column width='14' italic='true' alignment='right'>Текст в правой колонке</Column>
</TableLine>
На чеке будет напечатано:
Текст в левой колонке | Текст в правой колонке |
Feed
Используется для указания пропуска (отступа) строк. У элемента всего одно свойство count — количество строк для отступа, по умолчанию пропускается одна строка.
DataSet
Используется для вывода на печать всех параметров платежа.
Данные выводятся в две колонки, в левой — описание параметра платежа, в правой — значение. Возможные атрибуты и значения:
· fontSize — задает размер шрифта для печати.
· bold — указывает использовать или нет жирный шрифт.
· italic — указывает использовать или нет курсив.
· alignment_left — задает выравнивание текста в левой колонке
· width_left — указывает длину левой колонки в символах
· alignment_right — задает выравнивание текста в правой колонке
· width_right — указывает длину правой колонки в символах
3.2 Переменные
При составлении текста, предназначенного для вывода на печать, можно пользоваться набором переменных, предопределенных в приложении. Каждая переменная имеет вид ${имя переменной}. В качестве имени переменной также допустимо использовать параметры платежа, например, при использовании ${T} в чеке для сотового оператора будет напечатан введенный номер телефона.
Список параметров платежей можно посмотреть на сервере платежной системы. Для доступа нужно иметь права администратора. Параметры платежа задаются в разделе Услуги при выборе действия Параметры платежа для определенной услуги:

Имя параметра, которое вы используете как имя переменной, на сервере называется «Имя для терминала», это вторая колонка таблицы.
Ниже приведен список переменных, которые приложение определяет для любого типа чека:
Название переменной | Описание |
TERM | Номер терминала |
TERM_NAME | Имя терминала (логин) |
DATE | Текущая дата в формате dd. MM. yyyy |
TIME | Текущее время в формате hh:mm:ss |
OWNER | Владелец терминала |
INN | ИНН владельца терминала |
OWNER_ADDRESS | Адрес владельца терминала |
OWNER_PHONE | Контактный телефон владельца терминала |
TEXT1 | Рекламный текст (задается на сервере как «текст вверху чека») |
TEXT3 | Рекламный текст (задается на сервере как «текст внизу чека») |
PAYOPER_PHONE | Телефон оператора по приему платежей (контактный телефон платежной системы) |
ADDRESS | Адрес терминала |
Дополнительные переменные, доступные при печати чека платежа:
Название переменной | Описание |
ID | Номер платежа |
GROSS_SUM | Сумма платежа |
SERVICE_NAME | Короткое название услуги |
PROVIDER_NAME | Полное название услуги (название поставщика) |
PROVIDER_INN | ИНН поставщика |
PROVIDER_ADDRESS | Адрес поставщика услуги |
PROVIDER_PHONE | Контактный телефон поставщика |
COMMISSION | Сумма комиссии |
NET_SUM | Сумма к зачислению |
Дополнительные переменные, доступные при печати инкассационного чека:
Название переменной | Описание |
MCI | Номер инкассации |
MCFPN | Номер первого платежа, входящего в инкассацию |
MCLPN | Номер последнего платежа, входящего в инкассацию |
LMCD | Дата предыдущей инкассации |
NOMINAL10COUNT | А также NOMINAL50COUNT, NOMINAL100COUNT, NOMINAL500COUNT, NOMINAL1000COUNT, NOMINAL5000COUNT. количество банкнот указанного номинала |
NOMINAL10SUM | А также NOMINAL50SUM, NOMINAL100SUM, NOMINAL500SUM, NOMINAL1000SUM, NOMINAL5000SUM. Сумма банкнот указанного номинала |
TOTAL_COUNT | Общее количество банкнот |
TOTAL_SUM | Общая сумма инкассации |


