Ниже приведен список объектов, которые могут быть использованы в макросах при редактировании скидки и записаны в поле сообщения, которое будет выведено на экран, если в чеке сработала скидка.
Чек
Объект check
содержит те же свойства, что и объект document
, который используется в макросах при редактировании шаблонов документов, текста на экране кассира и т.д. Отличие заключается в том, что все свойства объекта check
написаны в нижнем регистре.
Карта
card – карта
Объект card
– карта
Свойство | Тип | Значение |
---|
bonusbalance | вещественный | Баланс бонусов на карте |
bonusbalanceInactive | вещественный | Баланс неактивных бонусов на карте |
blocked | логический | Признак блокировки карты |
cardgroupname | строковый | Наименование группы карт |
cardgrouptext | строковый | Описание группы карт |
cardnametodisplay | строковый | Наименование карты для отображения при отсутствии клиента |
cardstatus | числовой | Статус карты: - 0 – анонимная;
- 1 – активная;
- 2 – заблокирована.
|
cardsum | вещественный | Сумма карты |
codeinternal | числовой | Внутренний номер карты в документе |
dateTime | дата и время | Дата и время платежа |
discountpercent | вещественный | Процент скидки |
extendedoptions | строковый | Дополнительные параметры |
hash | строковый | Хэш номера карты |
id | числовой | Идентификатор карты |
inputSource | числовой | Способ ввода: - 1 – вручную;
- 2 – с помощью сканера;
- 3 – с помощью ридера.
|
minpointsforspend | числовой | Минимальная сумма для списания |
multiplicator | вещественный | Временный мультипликатор |
multiplicatorcurrent | вещественный | Постоянный мультипликатор |
multiplicatorbeg | дата и время | Начало действия временного мультипликатора |
multiplicatorend | дата и время | Окончание действия временного мультипликатора |
nearexpirationbonusdate | дата и время | Ближайшая дата истечения бонусов |
number | строковый | Номер записи |
operationid | числовой | Идентификатор операции |
operationinfo | строковый | Информация об операции |
pointsforearn | вещественный | сумма баллов для начисления |
pointsforspend | вещественный | сумма баллов для списания |
position | числовой | Номер позиции в документе |
purchases | числовой | Количество покупок |
rawdata | строковый | Номер карты без преобразований |
sourcedatetime | дата и время | Время добавления карты источника (необходимо для чека возврата по чеку продажи) |
spentsum | вещественный | Сумма списанных баллов |
terminalId | строковый | Идентификатор терминала |
verificationattribute | числовой | Признак верификации: - 0 – безусловная верификация;
- 1 – отложенная верификация;
- 2 – автоверификация.
|
verificationmethodname | строковый | Имя метода верификации |
verificationmethodtype | числовой | Тип верификации: - 0 – не выбрана;
- 1 – неизвестный тип верификации;
- 2 – верификация не требуется;
- 3 – автоверификация;
- 4 – СМС;
- 5 – Push уведомление;
- 6 – CardsMobile.
|
verificationstatus | числовой | Статус верификации: - 0 – не верифицирована;
- 1 – верифицирована.
|
verificationtype | числовой | Идентификатор записи верификации из БД |
verificationtypename | строковый | Имя типа верификации |
validitydatebeg | дата | Начало периода действия карты |
validitydateend | дата | Окончание периода действия карты |
cardGroup – группа карт
Объект cardGroup
– группа карт
Свойство | Тип | Значение |
---|
bonususecase | числовой | Вариант использования бонусов: |
cardMode | числовой | Тип карт: - 0 – диконтная;
- 1 – бонусная;
- 2 – артикс дисконт.
|
discounttypeint | числовой | Тип скидки: - 0 – процентная;
- 1 – абсолютная;
- 2 – индексная.
|
discountvalue | вещественный | Размер скидки |
extraVerificationMethods | строковый | Методы дополнительной верификации, соответствующий способу вводу |
idcard | строковый | Идентификационный номер карты |
idcardgroup | числовой | Идентификатор записи группы карт в БД |
idclient | строковый | Идентификационный номер клиента |
inputmodemask | числовой | Маска способа ввода карты |
lenbeg | числовой | Начало диапазона длин номеров карт, входящих в данную группу |
lenend | числовой | Конец диапазона длин номеров карт, входящих в данную группу |
name | строковый | Имя группы карт |
needadditionalregistration | логический | Запрашивать дополнительную регистрацию: |
notaddemptycard | логический | Не добавлять в чек карты из данной группы карт, если они не найдены в БД: |
options | числовой | Правило поиска онлайн-карты: - 0 или NULL – карта будет получена с сервера;
- 1 – поиск карты будет выполнен в БД кассы.
По умолчанию NULL. (см. Правила использования битовых масок) |
prefixbeg | строковый | Начало диапазона префикса номеров карт, входящих в данную группу |
prefixend | строковый | Конец диапазона префикса номеров карт, входящих в данную группу |
printcardinfo | логический | Печатать квитанцию с информацией о карте: |
regexpattern | строковый | Маска номеров карт в виде регулярного выражения |
regexrule | строковый | Правила получения выделения значащей последовательности из номеров карты (регулярное выражение) |
searchrule | числовой | Правило поиска карт: - 0 или NULL – поиск карт происходит в БД кассы в справочнике карт;
- 1 – поиск карт происходит в БД кассы по номеру телефона;
- 3 – поиск карт по хэшу номера карты.
|
showcardinfo | логический | Показывать информацию о карте: |
text | строковый | Текст, относящийся к группе карт |
userawdata | логический | Правило обработки номера карты перед отправкой на сервер: - 0 или NULL – номер карты преобразуется перед отправкой на сервер в соответствии с правилом преобразования;
- 1 – номер карты отправляется на сервер без преобразования.
|
valutcode | числовой | Код валюты (устанавливается для бонусных карт, не используется) |
verificationmethods | строковый | Методы верификации, соответствующий способу вводу |
client – клиент
Объект client
– клиент
Свойство | Тип | Значение |
---|
address | строковый | Адрес клиента |
birthday | дата | День рождения |
childrencount | числовой | Количество детей клиента |
clientitemid | числовой | Идентификационный номер клиента |
document | строковый | Данные документа клиента (паспорта, водительского удостоверения и т.д.) |
email | строковый | E-mail |
extendedoptions | строковый | Дополнительные параметры |
idclient | числовой | Идентификационный номер клиента |
inn | строковый | ИНН |
name | строковый | ФИО клиента |
occupation | строковый | Род занятий |
okpd | строковый | ОКПД |
okpo | строковый | ОКПО |
phonenumber | строковый | Телефонный номер клиента |
sex | числовой | Пол клиента: |
specialdate1 | дата | Первая особая дата клиента |
specialdate1name | строковый | Название первой особой (специальной) даты |
specialdate2 | дата | Вторая особая дата клиента |
specialdate2name | строковый | Название второй особой (специальной) даты |
specialdate3 | дата | Третья особая дата клиента |
specialdate3name | строковый | Название третьей особой (специальной) даты |
text | строковый | Дополнительная информация о клиенте |
webpage | строковый | Web-страница |
zipcode | строковый | Почтовый индекс клиента |
organization – организации
Объект organization
– организации
Свойство | Тип | Значение |
---|
code | строковый | Уникальный код организации |
inn | строковый | ИНН |
name | строковый | Наименование организации |
sourcecardgroup – поиск группы карт
Объект sourcecardgroup
– поиск группы карт
Свойство | Тип | Значение |
---|
bonususecase | числовой | Способ применения бонусов: (не используется) |
cardmode | числовой | Тип карты: - 0 – Дисконтная;
- 1 – Артикс Бонус;
- 2 – Артикс:Дисконт;
- 5 – Карта Террасофт;
- 6 – Социальная карта;
- 7 – RS.Loyalty;
- 8 – CardLab;
- 9 – Золотая корона;
- 10 – EPS;
- 11 – Loymax;
- 12 – ABMLoyalty;
- 14 – Manzana Loyalty;
- 17 – UDS;
- 18 – Plazius.
|
discounttypeint | числовой | Тип скидки: - 0 – процентная;
- 1 – абсолютная;
- 2 – индексная.
|
discountvalue | вещественный | Размер скидки |
extraVerificationMethods | строковый | Методы дополнительной верификации, соотв. способу ввода |
idcardgroup | числовой | Идентификатор записи группы карт в БД |
inputmodemask | числовой | Маска способа ввода карты |
lenbeg | числовой | Начало диапазона длин номеров карт, входящих в данную группу |
lenend | числовой | Конец диапазона длин номеров карт, входящих в данную группу |
name | числовой | Наименование |
needadditionalregistration | логический | Запрашивать дополнительную регистрацию: |
notaddemptycard | логический | Не добавлять в чек карты из данной группы карт, если они не найдены в БД: |
options | числовой | Правило поиска онлайн-карты: - 0 или NULL – карта будет получена с сервера;
- 1 – поиск карты будет выполнен в БД кассы.
По умолчанию NULL. (см. Правила использования битовых масок) |
prefixbeg | строковый | Начало диапазона префикса номеров карт, входящих в данную группу |
prefixend | строковый | Конец диапазона префикса номеров карт, входящих в данную группу |
printcardinfo | логический | Печатать квитанцию с информацией о карте: |
regexpattern | строковый | Маска номеров карт в виде регулярного выражения |
regexrule | строковый | Правила получения выделения значащей последовательности из номеров карты (регулярное выражение) |
searchrule | числовой | Правило поиска карт: - 0 или NULL – поиск карт происходит в БД кассы в справочнике карт;
- 1 – поиск карт происходит в БД кассы по номеру телефона;
- 3 – поиск карт по хэшу номера карты.
|
showcardinfo | логический | Показывать информацию о карте: |
text | строковый | Текст, относящийся к группе карт |
userawdata | логический | Правило обработки номера карты перед отправкой на сервер: - 0 или NULL – номер карты преобразуется перед отправкой на сервер в соответствии с правилом преобразования;
- 1 – номер карты отправляется на сервер без преобразования.
|
valutcode | числовой | Код валюты (устанавливается для бонусных карт, не используется) |
verificationmethods | строковый | Методы верификации, соответствующий способу вводу |
Принцип работы с макроподстановками в сообщениях
Макроподстановки используются для формирования сообщения, которое будет выведено на экран, если в чеке сработала скидка.
Макроподстановки принимают вид:
, где:
- "данные" могут быть нескольких типов:
- целочисленный,
- вещественный,
- дата,
- строка,
- другой json-объект;
- "формат" зависит от используемых данных.
Примеры макроподстановок
Для вывода целочисленных данных необходимо, чтобы данные были преобразованы в строку с помощью метода str()
.
Для вывода вещественных данных необходимо указать формат вывода.
Для вывода даты необходимо указать формат:
- Выражения для форматирования свойств с типом дата:
- d – день месяца без лидирующего ноля (1 – 31);
- dd – день месяца с лидирующим нолем (01 – 31);
- ddd – сокращенное наименование дня недели;
- dddd – полное наименование дня недели;
- M – номер месяца без лидирующего ноля (1 – 12);
- MM – номер месяца с лидирующим нолем (01 – 12);
- MMM – сокращенное наименование месяца;
- MMMM – полное наименование месяца;
- yy – два символа года (00-99);
- yyyy – четыре символа года;
- Выражения для форматирования свойств с типом время:
- h – часы без лидирующего ноля (0 – 23 или 1 – 12 при отображении AM/PM);
- hh – часы с лидирующим нолем (00 – 23 или 01 – 12 при отображении AM/PM);
- m – минуты без лидирующего ноля (0 – 59);
- mm – минуты с лидирующим нолем (00 – 59);
- s – секунды без лидирующего ноля (0 – 59);
- ss – секунды с лидирующим нолем (00 – 59);
- AP – отображать AM/PM, строка AP заменяется на AM или PM;
- ap – отображать am/pm, строка ap заменяется на am или pm.
${check['datetimebeg']:dddd MMMM yyyy AP}
Для вывода строк формат не нужно указывать.
Для доступа к вложенным объектам нужно получать поля по имени до необходимого.
${сard['card']['cardgroup']['name']}
Также над данными можно производить операции. Например, в чек добавлена бонусная карта с типом 1, чтобы изменить тип карты, нужно воспользоваться операцией вида:
Тип карты: ${str(card['card']['cardgroup']['cardmode']+ 100)}
В сообщении будет выведено "Тип карты: 101".