Ниже приведен список объектов, которые могут быть использованы в макросах при редактировании скидки и записаны в поле сообщения, которое будет выведено на экран, если в чеке сработала скидка.

Чек

Объект 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 – группа карт

Свойство

Тип

Значение

bonususecase

числовой

Вариант использования бонусов:

  • 0 – скидка;
  • 1 – оплата.

cardMode

числовой

Тип карт:

  • 0 – диконтная;
  • 1 – бонусная;
  • 2 – артикс дисконт.
discounttypeintчисловой

Тип скидки:

  • 0 – процентная;
  • 1 – абсолютная;
  • 2 – индексная.

discountvalue

вещественный

Размер скидки

extraVerificationMethodsстроковый

Методы дополнительной верификации, соответствующий способу вводу

idcardстроковыйИдентификационный номер карты
idcardgroupчисловой

Идентификатор записи группы карт в БД

idclientстроковыйИдентификационный номер клиента

inputmodemask

числовой

Маска способа ввода карты

lenbeg

числовой

Начало диапазона длин номеров карт, входящих в данную группу

lenend

числовой

Конец диапазона длин номеров карт, входящих в данную группу

name

строковый

Имя группы карт

needadditionalregistrationлогический

Запрашивать дополнительную регистрацию:

  • 0 – нет;
  • 1 – да.
notaddemptycardлогический

Не добавлять в чек карты из данной группы карт, если они не найдены в БД:

  • 0 – нет;
  • 1 – да.
optionsчисловой

Правило поиска онлайн-карты:

  • 0 или NULL – карта будет получена с  сервера;
  • 1 – поиск карты будет выполнен в БД кассы.

По умолчанию NULL.

(см. Правила использования битовых масок)

prefixbeg

строковый

Начало диапазона префикса номеров карт, входящих в данную группу

prefixend

строковый

Конец диапазона префикса номеров карт, входящих в данную группу

printcardinfoлогический

Печатать квитанцию с информацией о карте:

  • 0 – нет;
  • 1 – да.

regexpattern

строковый

Маска номеров карт в виде регулярного выражения

regexrule

строковый

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

searchruleчисловой

Правило поиска карт:

  • 0 или NULL – поиск карт происходит в БД кассы в справочнике карт;
  • 1 – поиск карт происходит в БД кассы по номеру телефона;
  • 3 – поиск карт по хэшу номера карты.
showcardinfoлогический

Показывать информацию о карте:

  • 0 – нет;
  • 1 – да.

text

строковый

Текст, относящийся к группе карт

userawdataлогический

Правило обработки номера карты перед отправкой на сервер:

  • 0 или NULL – номер карты преобразуется перед отправкой на сервер в соответствии с правилом преобразования;
  • 1 – номер карты отправляется на сервер без преобразования.
valutcodeчисловойКод валюты (устанавливается для бонусных карт, не используется)
verificationmethodsстроковый

Методы верификации, соответствующий способу вводу


Объект client – клиент

Свойство

Тип

Значение

address

строковый

Адрес клиента

birthday

дата

День рождения

childrencount

числовой

Количество детей клиента

clientitemidчисловойИдентификационный номер клиента

document

строковый

Данные документа клиента (паспорта, водительского удостоверения и т.д.)

email

строковый

E-mail

extendedoptions

строковый

Дополнительные параметры

idclient

числовой

Идентификационный номер клиента

inn

строковый

ИНН

name

строковый

ФИО клиента

occupation

строковый

Род занятий

okpd

строковый

ОКПД

okpo

строковый

ОКПО

phonenumber

строковый

Телефонный номер клиента

sex

числовой

Пол клиента:

  • 0 – мужской;
  • 1 – женский.

specialdate1

дата

Первая особая дата клиента

specialdate1name

строковый

Название первой особой (специальной) даты

specialdate2

дата

Вторая особая дата клиента

specialdate2name

строковый

Название второй особой (специальной) даты

specialdate3

дата

Третья особая дата клиента

specialdate3name

строковый

Название третьей особой (специальной) даты

textстроковыйДополнительная информация о клиенте

webpage

строковый

Web-страница

zipcode

строковый

Почтовый индекс клиента

Объект organization – организации

Свойство

Тип

Значение

code

строковый

Уникальный код организации

inn

строковый

ИНН

name

строковый

Наименование организации

Объект sourcecardgroup – поиск группы карт


Свойство

Тип

Значение

bonususecase

числовой

Способ применения бонусов:

  • 0 – скидка;
  • 1 – оплата.

(не используется)

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логический

Запрашивать дополнительную регистрацию:

  • 0 – нет;
  • 1 – да.
notaddemptycardлогический

Не добавлять в чек карты из данной группы карт, если они не найдены в БД:

  • 0 – нет;
  • 1 – да.
optionsчисловой

Правило поиска онлайн-карты:

  • 0 или NULL – карта будет получена с  сервера;
  • 1 – поиск карты будет выполнен в БД кассы.

По умолчанию NULL.

(см. Правила использования битовых масок)

prefixbeg

строковый

Начало диапазона префикса номеров карт, входящих в данную группу

prefixend

строковый

Конец диапазона префикса номеров карт, входящих в данную группу

printcardinfoлогический

Печатать квитанцию с информацией о карте:

  • 0 – нет;
  • 1 – да.

regexpattern

строковый

Маска номеров карт в виде регулярного выражения

regexrule

строковый

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

searchruleчисловой

Правило поиска карт:

  • 0 или NULL – поиск карт происходит в БД кассы в справочнике карт;
  • 1 – поиск карт происходит в БД кассы по номеру телефона;
  • 3 – поиск карт по хэшу номера карты.
showcardinfoлогический

Показывать информацию о карте:

  • 0 – нет;
  • 1 – да.

text

строковый

Текст, относящийся к группе карт

userawdataлогический

Правило обработки номера карты перед отправкой на сервер:

  • 0 или NULL – номер карты преобразуется перед отправкой на сервер в соответствии с правилом преобразования;
  • 1 – номер карты отправляется на сервер без преобразования.
valutcodeчисловойКод валюты (устанавливается для бонусных карт, не используется)
verificationmethodsстроковыйМетоды верификации, соответствующий способу вводу

Принцип работы с макроподстановками в сообщениях

Макроподстановки используются для формирования сообщения, которое будет выведено на экран, если в чеке сработала скидка.

Макроподстановки принимают вид:

${<данные>:<формат>}

, где:

  • "данные" могут быть нескольких типов:
    • целочисленный,
    • вещественный,
    • дата,
    • строка,
    • другой json-объект;
  • "формат" зависит от используемых данных.

Примеры макроподстановок

Для вывода целочисленных данных необходимо, чтобы данные были преобразованы в строку с помощью метода str().

Пример "номер чека"
${str(check['num']}

Для вывода вещественных данных необходимо указать формат вывода.

Пример "сумма чека с двумя знаками после запятой"
${check['sumb']:0.2f}

Для вывода даты необходимо указать формат:

  • Выражения для форматирования свойств с типом дата:
    • 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}

Для вывода строк формат не нужно указывать.

Пример "тип кассы"
${check['cashtype']}

Для доступа к вложенным объектам нужно получать поля по имени до необходимого.

Пример "имя группы карт"
${сard['card']['cardgroup']['name']}

Также над данными можно производить операции. Например, в чек добавлена бонусная карта с типом 1, чтобы изменить тип карты, нужно воспользоваться операцией вида:

Тип карты: ${str(card['card']['cardgroup']['cardmode']+ 100)}

В сообщении будет выведено "Тип карты: 101".

  • No labels