В кассовом ПО 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
.
- кода валюты, не указанного в