В кассовом ПО Artix реализована возможность выполнения действия при срабатывании определенной акции или скидки. Для этого необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountactions.ini
:
Активировать плагин
discountactions
в секции[plugins]
.Наименование Тип данных Возможные значения Описание Примечания discountactions строковый - on
- off
Активация плагина для работы со скидочными действиями
По умолчанию on
Пример настройки[plugins] discountactions = on
- Создать секции
[DiscountActions.N]
и[SpendBonusActions.N]
, где<N>
является кодом акции или скидки. Выполнение действий возможно:- DiscountActions – при переходе в подытог,
- SpendBonusActions– после оплаты бонусами.
command
необходимо указать команду, которая будет использоваться.Параметр
byDiscountCode
отвечает за то, будет использован код акции или скидки для скидочных действий:- при значении
true
используется код скидки, - при значении
false
используется код акции.
В качестве аргументов команды могут быть использованы параметры команды (см. пример ниже).
Наименование Тип данных Возможные значения Описание Примечания command строковый Команда repeat логический - true
- false
Скидочное воздействие срабатывает при каждом переходе в подытог По умолчанию
false
byDiscountCode логический - true
- false
Применение действия на акцию или скидку По умолчанию false
arg.<аргумент> строковый Аргументы команды Пример настройки; Настройка действий ; Для добавления действия необходимо добавить секцию вида ;[<Actions>.<Код акции/скидки>] ;command = COMMAND_CARD ;repeat = false ;byDiscountCode = false ;arg.<argument> = param ; где Actions - действия, которые выполняются при срабатывании определенной акции/скидки ; * DiscountActions - действия при переходе в подытог ; * SpendBonusActions - действия после оплаты бонусами ; Код акции/скидки - код акции/скидки, при срабатывании которой будет выполняться действие ; command - команда ; repeat - скидочное воздействие срабатывает при каждом переходе в подытог ; byDiscountCode - применение действия на акцию или скидку ; arg.<argument> - аргументы команды ;[DiscountActions.N] ;command = COMMAND_CARD ;repeat = false ;byDiscountCode = false ;arg.arg1 = param1 ;arg.arg2 = param2 ;[SpendBonusActions.N] ;command = COMMAND_ADD_ALLOWED_VALUTS ;byDiscountCode = true ;arg.allowedValuts = "1,3"
Скидочные действия при переходе в подытог
Пусть в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountactions.ini
заданы следующие настройки:
[DiscountActions.2] command = COMMAND_CARD repeat = true byDiscountCode = false arg.dialogtitle = Участие в акции arg.dialogmessage = Чек участвует в акции Кока-Кола! Введите номер телефона клиента arg.dialogokbuttonmsgid = inputTextFormOkBtn arg.dialogcancelbuttonmsgid = inputTextFormCancelBtn arg.dialoginputpattern = +7(999)999-99-99 arg.forcedverifiedinput = true
Необходимо создать 2 группы карт:
- Группа карт с маской для номера телефона, способ ввода "Вручную".
- Группа карт с наименованием и маской "Отмена", способ ввода "Вручную".
Если в чеке есть скидочное действие, то при переходе в подытог на экран будет выведен диалог:
Для согласия на участие в акции введите номер телефона, нажмите клавишу "< -" (стрелка влево) и подтвердите действие клавишей "Ввод". В чек будет добавлена карта покупателя с введенным номером.
При возврате в режим формирования и повторном переходе в подытог на экран вновь будет выведен диалог для ввода номера телефона. Для автоматического удаления ранее введенной карты необходимо использовать настройкуdeleteCardByBackFormingMode
.
После закрытия чека номер карты будет записан в БДDocuments
таблицуCarditem
.- Для отказа от участия в акции нажмите клавишу "->" (стрелка вправо) и подтвердите действие клавишей "Ввод". В чек будет добавлена карта с наименованием "Отмена".
После закрытия чека в БДDocuments
таблицуCarditem
полеnumber
будет сохранено значение "Отмена".
Для изменения текста кнопок "ОК" или "Отмена" в файле перевода *.msg можно использовать уже существующие идентификаторы (inputTextFormOkBtn="ОК"
или inputTextFormCancelBtn="Отмена"
) или задать уникальный идентификатор с текстом:
discountActionOkButton = "Регистрация"
Созданный идентификатор необходимо передавать в качестве аргумента для дисконтного действия:
[DiscountActions.1] command = COMMAND_CARD ;byDiscountCode = false arg.dialogtitle = Участие в акции arg.dialogmessage = Чек участвует в акции «ВЫИГРАЙ 100 ПУТЁВОК В ДЕТСКИЙ ЛАГЕРЬ». Для участия в акции Вам необходимо ввести свой номер телефона arg.dialoginputpattern = +7(999)999-99-99 arg.dialogokbuttonmsgid = discountActionOkButton
Скидочные действия при выборе определенного вида оплаты
Для скидочных действий при выборе определенного вида оплаты настройка repeat
не используется.
Пусть в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountactions.ini
заданы следующие настройки:
[DiscountActions.22] command = COMMAND_CARD byDiscountCode = false arg.dialogtitle = Участие в акции arg.dialogmessage = Чек участвует в акции "Скидка при оплате через СБП". Введите номер телефона клиента arg.dialogokbuttonmsgid = inputTextFormOkBtn arg.dialogcancelbuttonmsgid = inputTextFormCancelBtn arg.dialoginputpattern = +7(999)999-99-99 arg.forcedverifiedinput = true
Необходимо создать 2 группы карт:
- Группа карт с маской для номера телефона, способ ввода "Вручную".
- Группа карт с наименованием и маской "Отмена", способ ввода "Вручную".
После выбора вида оплаты, соответствующего условиям акции, на экран будет выведен диалог:
Для согласия на участие в акции введите номер телефона, нажмите клавишу "<-" (стрелка влево) и подтвердите действие клавишей "Ввод". В чек будет добавлена карта покупателя с введенным номером.
При отмене оплаты карта автоматически удаляется из чека.После закрытия чека введенный номер телефона будет записан в БД
Documents
таблицуCarditem
.- Для отказа от участия в акции нажмите клавишу "->" (стрелка вправо) и подтвердите действие клавишей "Ввод". В чек будет добавлена карта с наименованием "Отмена".
После закрытия чека в БДDocuments
таблицуCarditem
полеnumber
будет сохранено значение "Отмена".
Для изменения текста кнопок "ОК" или "Отмена" в файле перевода *.msg можно использовать уже существующие идентификаторы (inputTextFormOkBtn="ОК"
или inputTextFormCancelBtn="Отмена"
) или задать уникальный идентификатор с текстом:
discountActionOkButton = "Регистрация"
Созданный идентификатор необходимо передавать в качестве аргумента для дисконтного действия:
[DiscountActions.1] command = COMMAND_CARD ;byDiscountCode = false arg.dialogtitle = Участие в акции arg.dialogmessage = Чек участвует в акции «ВЫИГРАЙ 100 ПУТЁВОК В ДЕТСКИЙ ЛАГЕРЬ». Для участия в акции Вам необходимо ввести свой номер телефона arg.dialoginputpattern = +7(999)999-99-99 arg.dialogokbuttonmsgid = discountActionOkButton
Скидочные действия после оплаты бонусами
Пусть в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/discountactions.ini
заданы следующие настройки:
[SpendBonusActions.91] command = COMMAND_ADD_ALLOWED_VALUTS byDiscountCode = true arg.allowedValuts = "1,4"
Необходимо:
- Создать акцию на списание бонусов с кодом 91.
- Добавить в чек карту лояльности.
- Перейти в подытог, списать бонусы по акции с кодом 91.
- При выборе:
- кода валюты, не указанного в
allowedValuts
, на экран выводится ошибка: - кода валюты, указанного в
allowedValuts
, чек оплачивается.
После закрытия чека код оплаты будет записан в БДDocuments
таблицуMoneyitem
.
- кода валюты, не указанного в