Ниже приведен список объектов, которые могут быть использованы в макросах при редактировании скидки и записаны в поле сообщения, которое будет выведено на экран, если в чеке сработала скидка.
Чек
Объект 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 | числовой | Вариант использования бонусов: | 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 – клиент
Свойство | Тип | Значение |
---|
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 – организации Свойство | Тип | Значение |
---|
code | строковый | Уникальный код организации | inn | строковый | ИНН | name | строковый | Наименование организации |
|
Объект 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". |