Начиная с версии 4.6.176 реализована возможность работы счетчиков в чеках возврата и возврата по чекам продажи. Также реализована возможность отрицательного изменения счетчиков. |
ПО Artix позволяет задавать скидочные акции на ограниченное количество товара в чеке. При работе торговых сетей может возникать такая ситуация, при которой необходимо отслеживать покупки клиента и не позволять ему пользоваться данной скидкой повторно в течение определенного времени, например, в течение дня. Для осуществления контроля разработан сервис счетчиков, который будет отслеживать указанную информацию.
Ведение акций со счетчиками активируется параметром enable
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/d
iscountcounters.ini
в секции [DiscountCounters]
:
true
использование счетчиков включено. Акции со счетчиками срабатывают,false
использование счетчиков отключено. Акции, в которых заданы счетчики, не будет срабатывать на кассе.В параметрах модуля необходимо указать хост и порт сервиса счетчиков, а также логин и пароль для аутентификации по REST при отправке запросов на получение и сохранение счетчиков.
В кассовом ПО Artix реализована возможность отправки счетчиков, если при их получении возникла ошибка. Данное поведение регулируется параметром forbidSendingOnReceiveError
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/d
iscountcounters.ini
в секции [DiscountCounters]
:
true
счетчики не будут отправлены через очередь Artix-Queue, если возникла ошибка при их получении,false
счетчики будут отправлены через очередь Artix-Queue, если возникла ошибка при их получении.Шаблон идентификатора источника изменений счетчика задается параметром idChanger
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/d
iscountcounters.ini
в секции [DiscountCounters]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enable | логический |
| Использование счетчиков | По умолчанию false |
host | строковый | Имя хоста, на котором размещен сервис счетчиков | ||
port | целочисленный | Порт, по которому выполняется подключение к сервису счетчиков | ||
timeout | целочисленный | Таймаут ожидания ответа от сервера | По умолчанию 10 секунд | |
user | строковый | Логин для аутентификации по REST на сервисе счетчиков | ||
password | строковый | Пароль для аутентификации по REST на сервисе счетчиков | ||
forbidSendingOnReceiveError | логический |
| Запретить отправку счетчиков, если при их получении возникла ошибка | По умолчанию true |
idChanger | строковый | Шаблон идентификатора источника изменений счетчика | По умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d]) " |
[DiscountCounters] ; Настройки счетчиков ; По умолчанию выключены (enable = false) ;enable = false ; Имя хоста ;host = localhost ; Номер порта ;port = 8090 ; Таймаут ожидания ответа от сервера ; По умолчанию 10 секунд ;timeout = 10 ; Логин ;user = admin ; Пароль ;password = admin ; Запретить отправку счетчиков, если при их получении возникла ошибка ; По умолчанию true ;forbidSendingOnReceiveError = true ; Шаблон идентификатора источника изменений счетчика ; По умолчанию "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d])" ;idChanger = "%(document.shopCode[04d])%(document.cashCode[02d])%(document.shift[04d])%(document.num[04d])" |
Для ведения в ПО Artix акций со счетчиками необходимо:
DiscountCounters
в кассовом ПО,Порядок ведения акций следующий:
При добавлении карты клиента в чек, если сработали условия акции на кассе, к сервису счетчиков отправляется запрос о состоянии счетчиков.
Если на сервисе имеется такой счетчик, то на кассу возвращается значение счетчика. Если счетчика на сервисе нет, то он создается и ему присваивается значение 0.
Акция со счетчиком срабатывает на кассе в соответствии с условиями акции и полученным значением счетчика.
После закрытия чека на сервис отправляется значение счетчика, которое добавляется к уже имеющемуся. При следующем срабатывании акции будет применено новое значение. В настоящее время счетчики не имеют срока жизни, т.е. при достижении счетчиком определенного значения акция изменит свое поведение.
Если в чеке содержится несколько карт клиента, то отправка полученных от дисконта значений счетчиков будет осуществляться по всем картам. |
Пусть задана скидочная акция на товар с ограничениями по счетчику: "Скидка 10% на товар из каталога "Фрукты" со счетчиком "бананы" не более 5 кг". При применении скидки на кассе на товар из каталога "Фрукты" скидка 10% будет предоставляться до тех пор, пока общее количество приобретенного товара не составит 5 кг. Например: 1 чек. Количество товара 2 кг. Скидка 10 % будет предоставлена на 2 кг. Счетчик будет изменен со значения 0 на 2. 2 чек. Количество товара 1 кг. Скидка 10 % будет предоставлена на 1 кг. Счетчик будет изменен со значения 2 на 3. 3 чек. Количество товара 3 кг. Скидка 10 % будет предоставлена на 2 кг. На 1 кг скидка не предоставится, т.к. счетчик будет изменен с 3 на 5 и достигнет максимального значения. На все последующие чеки скидка по данной акции предоставлена не будет. |
Пусть задана скидочная акция на товары с ограничениями по счетчикам: "Скидка 10% на товары из каталога "Фрукты" со счетчиками: "бананы" не более 5 кг, "яблоки" не более 5 кг, "персики" не более 5 кг". При применении скидки на кассе на товары из каталога "Фрукты" скидка 10% будет предоставляться на каждый товар из каталога до тех пор, пока количество приобретенного товара не составит 5 кг. Например: 1 позиция. "Яблоки", количество товара 2 кг. Скидка 10 % будет предоставлена на 2 кг. Счетчик для "яблоки" будет изменен со значения 0 на 2. 2 позиция. "Яблоки", количество товара 1 кг. Скидка 10 % будет предоставлена на 1 кг. Счетчик для "яблоки" будет изменен со значения 2 на 3. 3 позиция. "Бананы", количество товара 3 кг. Скидка 10 % будет предоставлена на 3 кг. Счетчик для "бананы" будет изменен со значения 0 на 3. 4 позиция. "Персики", количество товара 2 кг. Скидка 10 % будет предоставлена на 2 кг. Счетчик для "персики" будет изменен со значения 0 на 2. 5 позиция. "Бананы", количество товара 3 кг. Скидка 10 % будет предоставлена на 2 кг. На 1 кг скидка не предоставится, т.к. счетчик для "бананы" будет изменен с 3 на 5 и достигнет максимального значения. 6 позиция. "Молоко", количество товара 1 шт. Товар не входит в каталог "Фрукты". Скидка не будет предоставлена, счетчик для "молоко" будет изменен со значения 0 на 1. После достижения каждым товаром из каталога "Фрукты" количества 5 кг скидка предоставляться не будет. |
Пусть покупателю положены 1000 бонусных баллов, которыми он может оплачивать 10% от покупки. Необходимо задать следующие скидочные акции:
|
Пусть в зависимости от суммы покупок для покупателя действуют разные скидки:
При покупки карты лояльности, сумма покупок будет копиться до конца следующего месяца. Далее сумма покупок будет обнуляться 1-го числа каждого месяца. Необходимо задать следующие скидочные акции:
|
Пусть сумма чека равна 30. Необходимо задать следующие скидочные акции:
|
При отсутствии связи с сервером счетчиков сообщения со значениями счетчиков сохраняются в очередь Artix-Queue и передаются на сервер после восстановления связи. |
При работе торговых сетей может возникать такая ситуация, при которой необходимо предоставлять покупателям скидку на каждый N-ый чек. Для этого в кассовом ПО Artix реализована возможность работы со счетчиками без привязки к карте.
Функционал не реализован для онлайн-чеков, отложенных чеков и софт-чеков. |
Активация плагина для работы со счетчиками без привязки к карте определяется параметром freecounters
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/freecounters.ini
в секции [plugins
]. Работает только при включенном плагине discountcounters
. При активированном параметре freecounters
происходит получение свободных счетчиков при добавлении позиции в чек.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
freecounters | строковый |
| Плагин для работы счетчиков без применения карты | По умолчанию Работает с плагином |
[plugins] ; Плагин для работы счетчиков, без применения карты ;freecounters = off |
Удаление свободных счетчиков при возврате из подытога в режим формирования чека определяется параметром removeOnReturnFromSubtotal
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/freecounters.ini
в секции [FreeCounters
].
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
removeOnReturnFromSubtotal | логический |
| Удаление свободных счетчиков при возвращении из подытога | По умолчанию |
[FreeCounters] ; Удаление свободных счетчиков при возвращении из подытога ; По умолчанию false ;removeOnReturnFromSubtotal = false |
Допускается задание нескольких секций с различными значениями SectionName
для получения нескольких счетчиков. В каждой секции должны быть заданы следующие параметры:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
counterId | строковый | Уникальный идентификатор счетчика | По умолчанию checkcounter |
identifier | строковый | Шаблон идентификатора, по которому начисляется и загружается счетчик | По умолчанию %(document.shopCode[04d])%(document.cashCode[02d]) |
changeOnLoad | числовой | Значение, на которое будет изменен счетчик, перед загрузкой на кассу | По умолчанию 1.0 |
[FreeCounters.SectionName] ; Уникальный идентификатор счетчика ; По умолчанию checkcounter ;counterId = checkcounter ; Шаблон идентификатора, по которому начисляется и загружается счетчик ; По умолчанию %(document.shopCode[04d])%(document.cashCode[02d]) ;identifier = "%(document.shopCode[04d])%(document.cashCode[02d])" ; Значение, на которое будет изменен счетчик, перед загрузкой на кассу ; По умолчанию 1.0 ;changeOnLoad = 1.0 |