Конфигурирование модуля ЕГАИС
Обращение к серверам ЕГАИС для передачи информации об обороте алкогольной продукции осуществляется через транспортный модуль.
Подключение транспортного модуля Egais
возможно при наличии идентификатора модуля, данных о размещении плагина и других параметрах.
Начиная с версии 4.6.261 кассового ПО Artix:
настройка транспортного модуля в директории
/linuxcash/cash/conf/plugins
является устаревшей.реализована возможность настройки транспортного модуля в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/egais.ini.
Для этого необходимо:Активировать плагин
egais
в конфигурационном файле/linuxcash/cash/conf/ncash.ini.d/egais.ini
в секции[plugins]
.Наименование Тип данных Возможные значения Описание Примечания egais строковый - on
- off
Плагин для работы с ЕГАИС
По умолчанию off
Пример настройки[plugins] ; Плагин для работы с ЕГАИС ;egais = off
Настроить параметры для работы с транспортным модулем в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/egais.ini
в секции[Egais]
.Наименование Тип данных Возможные значения Описание Примечания address строковый http://<host>:<port>/xml
(для старого формата чека)http://<host>:<port>/xml?type=ChequeV3
(для формата чека ChequeV3)http://<host>:<port>/xml?type=ChequeV4
(для формата чека ChequeV4)
Адрес сервера УТМ
Указывается URL транспортного модуля ЕГАИС, который используется для розничной продажи по безналичному расчету:
- акцизной алкогольной и спиртосодержащей продукции (старый формат чека и формат ChequeV3),
- разливной маркированной алкогольной продукции при оказании услуг общественнного питания (формат чека ChequeV4).
По умолчанию "
http://127.0.0.1:8080/xml
"timeout целочисленный Таймаут обращения к серверу УТМ По умолчанию 30
секундПример настройки[Egais] ; Адрес сервера УТМ ; По умолчанию "http://127.0.0.1:8080/xml" ;address = "http://127.0.0.1:8080/xml" ; Таймаут обращения к серверу УТМ ; По умолчанию 10 секунд ;timeout = 10
Для работы с форматом ChequeV3
необходимо:
- В БД
Dictionaries
таблицеShop
заполнить полеfsraridexcise
. - В конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/egais.ini
в секции[Egais]
задать значение параметраaddress
вида "http://<host>:<port>/xml?type=ChequeV3
".
... [Egais] ; Адрес сервера УТМ ; По умолчанию "http://127.0.0.1:8080/xml" address = "http://127.0.0.1:58080/xml?type=ChequeV3" ...
Для работы с форматом ChequeV4
необходимо:
- В БД
Dictionaries
таблицеShop
заполнить полеfsraridexcise
. - Указать объем/вместимость тары (в литрах):
- для алкогольных товаров – в БД
Dictionaries
таблицеTmc
заполнить полеunit_weight
, - для алкогольных наборов – в БД
Dictionaries
таблице Alcoset заполнить полеtaracapacity
.
- для алкогольных товаров – в БД
- В конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/egais.ini
в секции[Egais]
задать значение параметраaddress
вида "http://<host>:<port>/xml?type=ChequeV4
".
... [Egais] ; Адрес сервера УТМ ; По умолчанию "http://127.0.0.1:8080/xml" address = "http://127.0.0.1:58080/xml?type=ChequeV4" ...
Настройка кассы
Настройка модуля ЕГАИС
Параметры взаимодействия с модулем УТМ задаются в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enable | логический |
| Включение проверки ЕГАИС | По умолчанию false |
barcodeMask | строковый | Маска для проверки штрих-кода акцизной марки | По умолчанию "([1-9]\d{2}|\d([1-9]\d|\d[1-9])){2}([1-9]\d{7}|\d([1-9]\d{6}|\d([1-9]\d{5}|\d([1-9]\d{4}|\d([1-9]\d{3}|\d([1-9]\d{2}|\d([1-9]\d|\d[1-9])))))))(0[1-9]|1[0-2])(1[8-9]|[2-9][0-9])([1-9]\d{2}|\d([1-9]\d|\d[1-9]))[0-9A-Z]{129}|\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}|[0-9]{40} " | |
enableAdditionalBarcode | логический |
| Включить сканирование дополнительного штрих-кода DataMatrix акцизной марки | По умолчанию false |
additionalBarcodeMask | строковый | Маска для проверки дополнительного штрих-кода DataMatrix акцизной марки | По умолчанию " | |
checkAlcoCode | логический |
| Включить проверку алкокода акцизной марки в БД кассы | По умолчанию false |
sendFnInfo | логический |
| Отправлять в качестве номеров документа и кассы значения фискального документа и номера ФН | По умолчанию true |
useExciseMarkInInventory | логический |
| Запрашивать считывание акцизной марки при инвентаризации акцизной продукции | По умолчанию false |
cancelInterval | целочисленный |
| Минимальный временной интервал до отмены чека в ЕГАИС | По умолчанию 120 |
[EGAIS] ; Настройки плагина ЕГАИС ; Включение проверки ЕГАИС ; По умолчанию false ;enable = false ; Маска для проверки штрих-кода Pdf417 акцизной марки ; По умолчанию "([1-9]\d{2}|\d([1-9]\d|\d[1-9])){2}([1-9]\d{7}|\d([1-9]\d{6}|\d([1-9]\d{5}|\d([1-9]\d{4}|\d([1-9]\d{3}|\d([1-9]\d{2}|\d([1-9]\d|\d[1-9])))))))(0[1-9]|1[0-2])(1[8-9]|[2-9][0-9])([1-9]\d{2}|\d([1-9]\d|\d[1-9]))[0-9A-Z]{129}|\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}|[0-9]{40}" ;barcodeMask = "([1-9]\d{2}|\d([1-9]\d|\d[1-9])){2}([1-9]\d{7}|\d([1-9]\d{6}|\d([1-9]\d{5}|\d([1-9]\d{4}|\d([1-9]\d{3}|\d([1-9]\d{2}|\d([1-9]\d|\d[1-9])))))))(0[1-9]|1[0-2])(1[8-9]|[2-9][0-9])([1-9]\d{2}|\d([1-9]\d|\d[1-9]))[0-9A-Z]{129}|\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}|[0-9]{40}" ; Включить сканирование доп. штрих-кода DataMatrix ; По умолчанию false ; enableAdditionalBarcode = false ; Маска для проверки штрих-кода DataMatrix акцизной марки ; По умолчанию "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$" ; additionalBarcodeMask = "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$ ; Проверять алкокод акцизной марки ; По умолчанию false ; checkAlcoCode = false ;Отправлять в качестве номеров документа и кассы значения из ФН ; По умолчанию true ; sendFnInfo = true ; Контролировать АМ при инвентаризации ; По умолчанию false ; useExciseMarkInInventory = false ; Минимальный временной интервал до отмены чека в ЕГАИС ; По умолчанию 120 секунд ;cancelInterval = 120
Использование УТМ активируется параметром enable
:
- при значении
true
модуль ЕГАИС включен, - при значении
false
модуль ЕГАИС отключен.
EAN13
) обязательно сканирование акцизной марки (PDF417
), маска которой указывается в параметре barcodeMask
секции [EGAIS]
.В целях дополнительного контроля может быть использован дополнительный штрих-код акцизной марки (DataMatrix
). Необходимость сканирования дополнительного штрих-кода акцизной марки задается параметром enableAddtitionalBarcode
:
- при значении
true
программа запрашивает сканирование дополнительного штрих-кода акцизной марки после того, как считана акцизная марка; - при значении
false
считывание дополнительного штрих-кода акцизной марки не требуется.
Маска для проверки дополнительного штрих-кода DataMatrix
акцизной марки определяется параметром additionalBarcodeMask
.
При продаже и возврате алкогольной продукции доступна проверка алкокода акцизной марки в БД Dictionaries
таблице Alcocode
. Для проверки алкокода в БД используется параметр checkAlcoCode
:
- при значении
true
выполняется проверка наличия алкокода акцизной марки. При отсутствии данных товар не может быть реализован, на экран выводится сообщение "Данная продукция недопустима к продаже"; - при значении
false
наличие алкокода акцизной марки не проверяется.
Данные алкокода записываются в товарную позицию в БД Documents
таблицу Goodsitem
.
Согласно требованиям законодательства определен перечень сведений передаваемых в ЕГАИС:
- в реквизите номер кассы передавать реквизит (ФН) – номер фискального накопителя,
- в реквизите номер чека передавать № ФД – номер фискального документа.
Выбор реквизитов документа для отправки в ЕГАИС определяется параметром sendFnInfo
:
- при значении
true
номер фискального документа и номер фискального накопителя, - при значении
false
программный номер документа и серийный номер ФР.
Инвентаризация алкогольной продукции может проводиться как для простого учета товаров, так и для ведения в БД кассовой программы списка акцизных марок, разрешенных к продаже. Порядок проведения инвентаризации алкогольной продукции определяется параметром useExciseMarkInInventory
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении
true
работа с алкогольным товаром осуществляется аналогично операциям в чеке продажи: при добавлении и сторнировании товара требуется считывание штрих-кода акцизной марки, запрещено применение модификатора "Количество", - при значении
false
порядок добавления и сторнирования акцизного алкоголя аналогичен работе с обычными товарами.
При закрытии документа инвентаризации в БД Dictionaries
в таблице Excisemarkwhite
для каждой акцизной позиции создается запись, в которой указывается пара штрих-код товара и акцизная марка. По полученному в результате инвентаризации "белому" списку будет производиться проверка акцизных марок при продаже алкоголя.
Разделение настроек для разных масок акцизных марок
При переходе к версии протокола ЕГАИС 3.0 может возникнуть потребность осуществлять разные проверки для разных масок акцизных марок, например, для "старых" акцизных марок проверять наличие алкокода, а для "новых" – проверять "белый список". В этом случае в секции [EGAIS]
в параметре barcodeMask
указываются все маски акцизных марок, а в секциях [EGAIS.N]
(где N – номер по порядку) указывается параметр barcodeMask
с необходимой маской акцизной марки и набором настроек, которые будут применены к акцизным маркам данного вида. Таким образом применение настроек для каждой секции зависит от вида акцизной марки.
Возможность выделения параметра в отдельную секцию указана в таблице:
Наименование настройки | Статус |
---|---|
enable | общая |
sendFnInfo | |
useExciseMarkInInventory | |
sendEgaisBeforeCashlessPayment | |
useSerialNumber | |
barcodeMask | индивидуальная |
enableAdditionalBarcode | |
additionalBarcodeMask | |
checkAlcoCode | |
checkTmcAlcoCode | |
enableExciseMarkVerifyLocal | |
enableExciseMarkVerify | |
exciseMarkVerifyUrl | |
exciseMarkVerifyTimeout | |
ignoreExciseMarkVerifyErrors |
По умолчанию все настройки размещены в секции [EGAIS]
. При необходимости все или часть индивидуальных настроек можно вынести в отдельную секцию [EGAIS.N]
. Если в секции [EGAIS.N]
указана только часть индивидуальных настроек, то для остальных настроек будет использовано значение по умолчанию.
В отдельной секции обязательно должна быть указана маска акцизной марки, для которой задаются настройки.
Пример разделения настроек приведен ниже:
[EGAIS] ; ; Настройки плагина ЕГАИС ; ; Включение проверки ЕГАИС ; По умолчанию false enable = true ; Отправлять в качестве номеров документа и кассы значения из ФН ; По умолчанию true ;sendFnInfo = true ; Контролировать АМ при инвентаризации ; По умолчанию false ;useExciseMarkInInventory = false ; Отправлять чек в ЕГАИС перед безналичной оплатой ; По умолчанию false ;sendEgaisBeforeCashlessPayment = false [EGAIS.1] ; Маска для проверки штрих-кода Pdf417 акцизной марки barcodeMask = "\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}" ; Включить сканирование доп штрих-кода DataMatrix ; По умолчанию false enableAdditionalBarcode = true ; Маска для проверки штрих-кода DataMatrix акцизной марки ; По умолчанию "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$" additionalBarcodeMask = "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$" ; Проверять алкокод акцизной марки ; По умолчанию false ;checkAlcoCode = false ; Проверять соответствие алкокода акцизной марки коду товара ; По умолчанию false ;checkTmcAlcoCode = false ; Проверять акцизные марки на кассе ; По умолчанию false enableExciseMarkVerifyLocal = true ; Проверять акцизные марки на сервере ; По умолчанию false ;enableExciseMarkVerify = false ; URL сервера проверки акцизных марок ; Для работы с КС используется следующий URL "http://'IP-адрес КС':8080/CSrest/rest/sales/exciseMark/status" ; По умолчанию http://localhost:8080 ;exciseMarkVerifyUrl = "http://localhost:8080" ; Таймаут обращения к серверу проверки акцизных марок в секундах ; По умолчанию 30 ;exciseMarkVerifyTimeout = 30 ; Игнорировать ошибки обращения к серверу проверки акцизных марок ; По умолчанию true ;ignoreExciseMarkVerifyErrors = true [EGAIS.2] ; Маска для проверки штрих-кода Pdf417 акцизной марки barcodeMask = "[a-zA-Z0-9]{150}" ; Включить сканирование доп штрих-кода DataMatrix ; По умолчанию false ;enableAdditionalBarcode = false ; Маска для проверки штрих-кода DataMatrix акцизной марки ; По умолчанию "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$" ;additionalBarcodeMask = "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$" ; Проверять алкокод акцизной марки ; По умолчанию false ;checkAlcoCode = false ; Проверять соответствие алкокода акцизной марки коду товара ; По умолчанию false ;checkTmcAlcoCode = false ; Проверять акцизные марки на кассе ; По умолчанию false ;enableExciseMarkVerifyLocal = false ; Проверять акцизные марки на сервере ; По умолчанию false enableExciseMarkVerify = true ; URL сервера проверки акцизных марок ; Для работы с КС используется следующий URL "http://'IP-адрес КС':8080/CSrest/rest/sales/exciseMark/status" ; По умолчанию http://localhost:8080 exciseMarkVerifyUrl = "http://192.169.1.100:8080" ; Таймаут обращения к серверу проверки акцизных марок в секундах ; По умолчанию 30 exciseMarkVerifyTimeout = 30 ; Игнорировать ошибки обращения к серверу проверки акцизных марок ; По умолчанию true ignoreExciseMarkVerifyErrors = false
Поиск и замена ошибок ЕГАИС
Для поиска и замены сообщений об ошибках, возвращаемых ЕГАИС, необходимо задать правила поиска и замены в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Egais.ErrorMessages]
.
Правила поиска и замены представляют собой набор пар вида:
search<порядок> = <"Текст искомого сообщения об ошибке"> replace<порядок> = <"Текст сообщения для замены">
,
где:
<порядок>
– порядок применения правил поиска и замены, целое положительное число,search
– правило поиска, задается в виде строки или регулярного выражения,replace
– правило замены, задается в виде строки.Если правило замены не задано, то найденная строка заменяется на пустую.
;[Egais.ErrorMessages] ; ; Поиск и замена ошибок ЕГАИС ; ; Правила поиска и преобразования ;search1 = "Проверка не пройдена: " ;replace1 = "" ;search2 = "продажа в запрещенное время" ;replace2 = "Запрещена продажа алкоголя в ночное время"
В кассовом ПО Artix реализована возможность выделения групп в выражении для правила поиска и их использования в выражении для замены. Например, для ошибки, связанной с попыткой продажи дубля продукции, правила поиска и замены примут вид:
;[Egais.ErrorMessages] ; ; Поиск и замена ошибок ЕГАИС ; ; Правила поиска и преобразования search1 = "Проверка не пройдена: попытка продажи дубля продукции ([0-9]+)" replace1 = "Повторный ШК \1"
После закрытия чека и замены сообщение примет вид: "Повторный ШК 4607032140207
".
Параметры торгового объекта
При обращении к транспортному модулю ЕГАИС касса передает дополнительные параметры для идентификации торгового объекта: ИНН, КПП, адрес, наименование. Параметры идентификации торгового объекта задаются в БД Dictionaries
таблицы Shop
или конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [Shop]
.
Источник настроек магазина (ИНН, КПП, адрес, название) определяется параметром paramsSource
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.
ini
в секции [Shop]
:
- при значении
default
настройки магазина будут получены из БД кассы, при их отсутствии будут использованы данные из файлаncash
.ini
:- при продаже алкогольной продукции через 1 транспортный модуль атрибуты магазина могут быть заданы на кассе или на КС,
- при продаже алкогольных товаров через 2 УТМ атрибуты магазина задаются только на КС,
- при значении
db
настройки магазина будут получены из БД кассы, - при значении
config
настройки магазина будут получены из конфигурационного файла/linuxcash/cash/conf/ncash.ini
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
paramsSource | строковый |
| Источник настроек магазина (ИНН, КПП, адрес, название) | По умолчанию default |
inn | строковый | ИНН торгового объекта | ||
kpp | строковый | КПП торгового объекта | ||
address | строковый | Адрес торгового объекта | ||
name | строковый | Наименование торгового объекта |
[Shop] ; Настройки магазина ; Источник настроек магазина (ИНН, КПП, адрес, название) ; default – по умолчанию, база данных и конфигурационный файл ; db – база данных ; config – конфигурационный файл ;paramsSource = default ; ИНН магазина ; По умолчанию "" ;inn = "1111111111" ; КПП магазина ; По умолчанию "" ;kpp = "111111111" ; Адрес магазина ; По умолчанию "" ;address = "Барнаул,ул. Калинина,116/44" ; Название магазина ; По умолчанию "" ;name = "Ритейл Сервис"
Печать информации из ЕГАИС на чеке выполняется на основании шаблона egais.xml
.
<?xml version="1.0" encoding="UTF-8"?> <!-- Шаблон чека ЕГАИС.--> <report name = "egais" type="document" cached="true" title="Чек продажи ЕГАИС"> <br/><text align="center" fillsymbol=" " maxwidth="all">$shop.name$</text><br/> <text align="left" fillsymbol=" " maxwidth="all">ИНН: $shop.inn$</text> <text align="right" fillsymbol=" " maxwidth="all">КПП: $shop.kpp$</text><br/> <text align="left" fillsymbol=" " maxwidth="all">КАССА: $cash.code$</text> <text align="right" fillsymbol=" " maxwidth="all">СМЕНА: $shift.num$</text><br/> <text align="left" fillsymbol=" " maxwidth="all">ЧЕК: $document.num$</text> <text align="right" fillsymbol=" " maxwidth="all">ДАТА: </text> <var name="time_beg" dateformat="d2-mm-yyyy hh:mi"/><br/><br/> <printer op="barcode" type="QR" barcode='$url_egais$'/><br/><br/> <extvar name="url_egais" width="-1" quoted="false"/><br/> <extvar name="signature_egais" width="-1" quoted="false"/><br/><br/> </report>
Продажа алкогольной продукции
При формировании чека для отправки в ЕГАИС указывается дата и время добавления первой алкогольной позиции.
Программа запрещает добавление товара в чек, если акцизная марка этого товара была зарегистрирована ранее или товар с такой акцизной маркой был продан.
Для регистрации продажи алкогольного товара с акцизной маркой в ЕГАИС в свойствах товара устанавливается признак "Необходима регистрация в ЕГАИС". Опционально для алкогольной продукции указывается объем. Указание данных признаков поддерживают форматы AIF и дополнение формата Штрих-М.
Каждая акцизная марка имеет уникальный двумерный штрих-код, поэтому в товарной позиции может быть не более 1 единицы товара. Применение модификатора "Количество" к позиции с маркированным товаром запрещено.
Добавление акцизного алкоголя
Добавление в чек товара с акцизной маркой осуществляется следующими способами:
- Последовательным сканированием штрих-кода товара и штрих-кода акцизной марки.
- Сканированием штрих-кода акцизной марки. При добавлении товара проверяется наличие акцизной марки в "белом" списке:
- если акцизная марка найдена в списке, то товар добавится в чек,
- если для акцизной марки найдено несколько штрих-кодов товара, то на экран будет выведено сообщение "Акцизной марке соответствует несколько штрих-кодов. Сканируйте штрих-код":
- при сканировании верного штрих-кода товара, товар добавляется в чек продажи,
- при сканировании несоответствующего штрих-кода товара, на экран будет выведена ошибка "Штрих-код '<отсканированный_штрих_код>' не соответствует акцизной марке", товар в чек не добавляется,
- если акцизная марка не найдена в списке, то на экран будет выведена ошибка "По акцизной марке товар не найден. Сканируйте штрих-код", товар в чек не добавится. Товар можно добавить в чек по последовательному считыванию штрих-кода товара и штрих-кода акцизной марки.
- Последовательным сканированием штрих-кода товара и вводом серийного номера акцизной марки, если штрих-код акцизной марки поврежден.
Возможность добавления алкогольной продукции по серийному номеру в чек задается параметром useSerialNumber
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
в диалоге сканирования акцизной марки будет осуществлена возможность добавления алкогольной продукции по серийному номеру, - при значении параметра
false
при добавлении товара в чек на экран будет выведен диалог сканирования акцизной марки.
Серийный номер акцизной марки содержит серию (3 цифры) и номер (8 или 9 цифр). Ввод серийного номера осуществляется без пробелов, в поле ввода серия и номер визуально разделены на секции.
При вводе серийного номера происходит запрос к БД Dictionaries
таблице Excisemarkwhite
для осуществления поиска акцизной марки по серийному номеру и типу акцизной марки "ALCOHOL
":
- если марка найдена, то в чек добавляется первый найденный товар по введенному серийному номеру,
- если марка не найдена, то на экран будет выведено диалоговое окно "Акцизная марка не найдена. Введите серийный номер акцизной марки". Товар не будет добавлен в чек при отказе от операции.
Кассовое ПО Artix позволяет запрещать добавление алкогольной продукции в чек последовательным сканированием штрих-кода товара и штрих-кода акцизной марки. Способ добавления алкоголя в чек, определяется параметром addAlcoholOnlyByExciseMark
, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
добавление алкогольных товаров в чек может быть осуществлено только сканированием штрих-кода акцизной марки. При добавлении алкоголя последовательным сканированием штрих-кода товара и штрих-кода акцизной марки на экран будет выведено предупреждение "Алкоголь разрешено добавлять только по акцизной марке", - при значении параметра
false
добавление алкогольных товаров в чек может быть осуществлено любым способом, описанным выше.
В кассовом ПО Artix реализована возможность блокировать сканер при отображении диалога подтверждения ошибки сканирования акцизной марки. Данная возможность задается при помощи параметра showScanErrorDialog
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
. В случае возникновения ошибки сканирования:
при значении
true
сканер будет заблокирован, будет отображен диалог подтверждения ошибки с сообщением "Ошибка сканирования акцизной марки", товар не добавляется в чек,После закрытия диалога сканер будет разблокирован.- при значении
false
блокировка сканера не осуществляется, будет отображен диалог сканирования кода маркировки "Ошибка считывания акцизной марки, повторите сканирование", товар не добавляется в чек.
После ввода верного кода маркировки товар добавляется в чек.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
showScanErrorDialog | логический |
| Блокировать сканер и отображать диалог подтверждения ошибки сканирования акцизной марки | По умолчанию false |
[EGAIS] ... ; Блокировать сканер и отображать диалог подтверждения ошибки сканирования акцизной марки ; По умолчанию false ;showScanErrorDialog = false
В кассовом ПО Artix реализована проверка доступности сервера ЕГАИС при добавлении алкогольной продукции в чек продажи/возврата или при выборе алкогольной позиции в чеке возврата по чеку продажи. Проверка регулируется параметром checkEgaisAvailableBeforeAddPosition
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
:- если сервер недоступен, то на экран будет выведено предупреждение "Сервер ЕГАИС недоступен",
- если сервер доступен, то алкогольная продукция будет добавлена в чек.
- при значении параметра
false
:- если сервер недоступен, то при закрытии чека на экран будет выведена ошибка "Ошибка соединения с сервером ЕГАИС. Сторнируйте алкогольную продукцию",
- если сервер доступен, то алкогольная продукция будет добавлена в чек.
Кассовое ПО Artix позволяет устанавливать для алкогольной продукции минимальную розничную цену равную цене товара, если МРЦ не задана, регулируется параметром setMinRetailPrice
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении
true
если для алкогольной продукции минимальная розничная цена не задана, то МРЦ будет равна цене товара, - при значении
false
для алкогольной продукции будет использоваться минимальная розничная цена, заданная в БД или равная значению параметраminRetailPrice
.
Параметр setMinRetailPrice
не работает совместно с параметром minRetailPrice
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
useSerialNumber | логический |
| Использовать серийный номер для получения акцизной марки из БД | По умолчанию false |
addAlcoholOnlyByExciseMark | логический |
| Добавлять алкоголь только по акцизной марке | По умолчанию false |
checkEgaisAvailableBeforeAddPosition | логический |
| Проверять доступность ЕГАИС перед добавлением позиции | По умолчанию false |
setMinRetailPrice | логический |
| Устанавливать для позиции минимальную розничную цену равной цене, если минимальная розничная цена не задана | По умолчанию false |
[EGAIS] ... ; Использовать серийный номер для получения акцизной марки из БД ; По умолчанию false ;useSerialNumber = false ; Добавлять алкоголь только по акцизной марке ; По умолчанию false ;addAlcoholOnlyByExciseMark = false ; Проверять доступность ЕГАИС перед добавлением позиции ; По умолчанию false ;checkEgaisAvailableBeforeAddPosition = false ; Устанавливать для позиции минимальную розничную цену равной цене, если минимальная розничная цена не задана ; По умолчанию false ;setMinRetailPrice = false
Добавление акцизного товара другими способами (по коду, по наименованию, с помощью горячих клавиш) запрещено.
При быстром сканировании штрих-кода товара и штрих-кода акцизной марки возможно их объединение ("слипание"), чтобы этого избежать необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [HW.KEYBOARD]
для параметра separateCodes
установить значение true
. Получившиеся части будут введены последовательно.
Удаление акцизного алкоголя
При сторнировании алкогольной позиции программа запрашивает ввод штрих-кода акцизной марки. После сканирования штрих-кода акцизной марки или ввода серийного номера из чека удаляется именно та позиция, данные которой были считаны, независимо от того, какая позиция была выделена при операции сторнирования.
При сторнировании всего чека, содержащего алкогольные товары, операция выполняется без считывания штрих-кодов акцизных марок.
Продажа алкогольной продукции в кластерном режиме
Начиная с версии 4.6.120 реализован поиск алкогольной продукции в БД кассового сервера с учетом кластера.
При использовании кластерного режима возникает необходимость проверки акцизной марки отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при запросе статуса акцизной марки касса отправляет на кассовый сервер запрос, включающий идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini
устанавливается ID кластера.
Подтверждение продажи алкогольной продукции
Для подтверждения продажи алкогольной продукции осуществляется обращение к УТМ и выполняется регистрация продажи в ЕГАИС. Порядок отправки данных в ЕГАИС и проведение оплаты чека определяется типом оплаты:
- при оплате чека наличными обращение к транспортному модулю всегда осуществляется после внесения оплаты и перед регистрацией продажи в фискальном регистраторе,
- при оплате чека по безналу порядок выполнения действий определяется настройками кассовой программы.
Порядок отправки данных в ЕГАИС при оплате по безналу определяется параметром sendEgaisBeforeCashlessPayment
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
факт продажи алкогольной продукции будет направлен в ЕГАИС до проведения безналичной оплаты, - при значении параметра
false
факт продажи алкоголя направляется в ЕГАИС после проведения безналичной оплаты. Значение по умолчанию. При добавлением оплаты чека через банковский терминал осуществляется дополнительная проверка доступа к транспортному модулю с целью снижения рисков возникновения ситуации, при которой после оплаты пропадает связь с сервером ЕГАИС.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
sendEgaisBeforeCashlessPayment | логический |
| Отправлять чек в ЕГАИС перед проведением безналичной оплаты | По умолчанию false |
[EGAIS] ... ; Отправлять чек в ЕГАИС перед безналичной оплатой. По умолчанию false ; sendEgaisBeforeCashlessPayment = false
В случае успешной проверки на чековой ленте печатается URL и цифровая подпись (QR-код).
Согласно приказу Федеральной службы по регулированию алкогольного рынка от 01.02.2018 № 30 "О перечнях сведений, содержащихся в штрих-коде документа, предоставляемого покупателю, о факте фиксации информации о розничной продаже алкогольной продукции в единой государственной автоматизированной информационной системе учета объема производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции" Росалкогольрегулирование считает возможным не наносить отдельного штрих-кода в рамках введения системы ЕГАИС и использовать единый штрих-код для ЕГАИС и ККТ. Проверка факта фиксации розничной продажи по единому штрих-коду, будет успешно осуществляться в прежнем режиме через мобильное приложение Росалкогольрегулирования «Антиконтрафакт Алко».
Для отключения печати квитанции при продаже товаров, проходящих проверку ЕГАИС, необходимо удалить шаблон квитанции egais.xml
из директории /linuxcash/cash/reports
.
Если при продаже алкоголя транспортный модуль недоступен, то на экран кассира выводится сообщение об ошибке:
- если сообщение от ЕГАИС может быть интерпретированно кассой, то оно отобразится на экране кассира,
- если интерпретация сообщения невозможна, то на экран будет выведена ошибка "Ошибка обращения к ЕГАИС. Сторнируйте алкогольную продукцию".
Такой товар не может быть реализован (возвращен).
Если проверка завершается неудачей – закрытие чека блокируется, в этом случае необходимо вернуться к списку товаров и удалить алкогольную продукцию.
При добавлении в чек алкогольного товара, у которого не указан один из обязательных параметров, на экран будет выведено сообщение "Ошибка добавления алкоголя в чек. Не заполнены обязательные поля товара". Такой товар нельзя добавить в чек.
Отмена продажи алкогольной продукции
Отмена продажи в ЕГАИС отправляется при:
- сторнировании всех позиций в документе,
- добавлении новой товарной позиции с акцизным алкоголем в режиме формирования (если чек продажи был ранее отправлен в УТМ).
При отправке чека в ЕГАИС может возникнуть ситуация, когда сервер оборвал соединение, но при этом данные акцизной марки дошли до сервера УТМ и чек был зарегистрирован. В этом случае отмена продажи алкогольной продукции в ЕГАИС отправлена не будет.
Отмена продажи в ЕГАИС регистрируется как возврат. Чек возврата отправляется в УТМ после сторнирования алкогольных позиций. По умолчанию сторнирование возможно через 120 секунд после регистрации чека продажи в ЕГАИС.
Пусть имеется чек продажи:
- Водка "Петр 1"
- Вино "Сладость лозы"
Перед осуществлением безналичной оплаты чек продажи с 2-мя позициями акцизного алкоголя был отправлен в УТМ. При оплате обнаружилась недостача средств на банковской карте.
После закрытия ошибки оплаты пользователь переходит в режим формирования документа продажи и пытается сторнировать позицию Водка "Петр 1", после чего на экран выводится ошибка "Сторнирование алкогольной продукции возможно через <...> секунд. Сторнируйте алкогольную продукцию". По истечении указанного времени пользователь сторнирует позицию Водка "Петр 1", после чего в УТМ отправляется отмена операции продажи (чек возврата).
При переходе в подытог перед повторной оплатой по безналу в УТМ отправляется чек продажи только с позицией Вино "Сладость лозы".
В случае, если УТМ уже обработал отправленный ранее чек возврата, то чек продажи может быть закрыт. Если чек возврата в УТМ еще не обработан, то необходимо дождаться обработки сообщений в очереди УТМ.
Примечание: по умолчанию обработка сообщений в очереди осуществляется в течение 2 минут.
Возврат алкогольной продукции
Возврат алкогольных товаров с акцизной маркой в торговую сеть может быть выполнен двумя способами:
- При возврате товара в режиме "Возврат".
- При возврате по чеку продажи.
Возврат алкогольной продукции по чеку продажи на другой кассе запрещен до версии 4.6.144 включительно.
Алкогольные товары с акцизной маркой не могут быть возвращены в режиме "Возврат по чеку продажи", если отключена форма выбора товаров для возврата, так как для возврата требуется сканирование штрих-кода акцизной марки каждой единицы товара. В этом случае при переходе к формированию чека возврата товары с акцизной маркой удаляются из чека.
Выбор позиций для возврата алкогольных товаров с акцизной маркой осуществляется тремя способами:
- Вручную при помощи клавиатуры (клавиши навигации, Enter) с последующим считыванием штрих-кода или ввода серийного номера акцизной марки.
- Считыванием штрих-кода товара с последующим считыванием штрих-кода или ввода серийного номера акцизной марки.
- Считыванием двумерного штрих-кода акцизной марки.
Выбор алкогольных товаров с акцизной маркой в форме выбора позиций для возврата не может быть отменен. Сторнирование выбранных позиций можно выполнить в режиме формирования чека возврата по чеку продажи.
Если акцизный алкоголь был возвращен на другой кассе, то невозможна повторная продажа этого товара на кассе, на которой он был продан изначально.
Проверка акцизных марок
Регламент работы по проверке акцизных марок при продаже и возврате акцизного алкоголя определяется структурой торговой сети. Проверка акцизной марки предполагает:
- проверку на факт продажи/возврата алкоголя с акцизной маркой,
- проверку статуса акцизной марки (зарезервирована, продана и т.д.),
- проверку акцизной марки в "белом" списке (акцизные марки, разрешенные к продаже).
В соответствии с устройством сети проверка акцизных марок может быть выполнена:
- на кассе и на сервере – для больших сетей, включающих N-е количество магазинов под управлением кассового сервера,
- на кассе – для небольших торговых объектов, не оборудованные кассовыми серверами.
При добавлении акцизного товара в чек всегда выполняется проверка данных в документах продаж в рамках всех смен, данные о которых хранятся на кассе:
- если товар с соотвествующей акцизной маркой не был продан, то его разрешено добавлять в чек продажи,
- если такой товар был продан, то его разрешено добавлять в чек возврата.
Возможность дополнительной проверки акцизных марок может быть настроена в соответствии с описанием ниже.
При добавлении товара с акцизной маркой в чек продажи/возврата будет отправлен запрос статуса акцизной марки на сервер. Если при запросе статуса акцизной марки в чеке продажи/возврата возникла сетевая ошибка (сервер недоступен), то в очередь Artix-Queue будет отправлено сообщение с запросом на снятие акцизной марки с резерва (1 случай), однако, если при этом настройка "ignoreExciseMarkVerifyErrors" установлена в "true", то в очередь Artix-Queue будет отправлено сообщение с запросом на резервирование акцизной марки (4 случай). Если через какое-то время будет осуществлен повторный запрос статуса акцизной марки в чеке продажи/возврата, то продажа/возврат товара будут осуществлены (2 случай). При закрытии чека или сторнировании товара с акцизной маркой будет отправлен запрос на изменение статуса акцизной марки (3 случай).
При выполнении повторного запроса на резервирование акцизной марки в чеке продажи/возврата будет осуществлена проверка на соответствие идентификатора чека и идентификатора запроса на резервирование акцизной марки (GUID, БД сервера DocumentsAll
таблица Excisemarks
поле reserveid
):
- если идентификатор чека и идентификатор запроса резервирования акцизной марки (GUID) совпадают с соответствующими значениями предыдущего запроса, то статус акцизной марки будет изменен (для чека продажи – статус 4, для чека возврата – статус 6);
- если идентификатор чека и идентификатор запроса резервирования акцизной марки (GUID) не совпадают с соответствующими значениями предыдущего запроса, то статус акцизной марки не будет изменен (для чека продажи останется статус 3, для чека возврата – статус 5).
Структура сети без кассовых серверов (только кассы)
Помимо проверки акцизных марок в данных о продажах в кассовой программе можно настроить проверку "белого" списка акцизных марок (списка акцизных марок, разрешенных к продаже). "Белый" список акцизных марок может быть сформирован при приемке ТТН на кассе или проведении инвентаризации, а также с помощью сервисов обмена выгружен на кассу из товароучетной системы.
Проверка акцизных марок в "белом" списке в БД кассовой программы задается параметром enableExciseMarkVerifyLocal
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
проверка акцизной марки осуществляется в БДDictionaries
в таблицеExcisemarkwhite
:
при последовательном сканировании штрих-кода товара и штрих-кода акцизной марки:- если акцизная марка найдена в списке, и штрих-код товара соответствует штрих-коду акцизной марки, то товар добавляется в чек продажи,
- если акцизная марка найдена в списке, а штрих-код товара отсутствует, то товар добавляется в чек продажи,
- если акцизная марка найдена в списке, но штрих-код товара не соответствует штрих-коду акцизной марки, то на экран выводится ошибка "Акцизная марка не соответствует штрих-коду", товар в чек не добавляется,
- если акцизная марка отсутствует в списке, то на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже", товар в чек не добавляется.
- если акцизная марка найдена в списке, то товар добавляется в чек продажи,
- если для акцизной марки найдено несколько штрих-кодов товара, то на экран будет выведено сообщение "Акцизной марке соответствует несколько штрих-кодов. Сканируйте штрих-код":
- при сканировании верного штрих-кода товара, товар добавляется в чек продажи,
- при сканировании несоответствующего штрих-кода товара, на экран будет выведена ошибка "Штрих-код '<отсканированный_штрих_код>' не соответствует акцизной марке", товар в чек не добавляется,
- если акцизная марка отсутствует в списке, то на экран выводится сообщение об ошибке "Товар с такой акцизной маркой запрещен к продаже", товар в чек не добавляется,
- при значении параметра
false
проверка акцизной марки в "белом" списке не выполняется.
После проверки акцизной марки в "белом" списке настройками программы может быть предусмотрена проверка соответствия алкокода акцизной марки коду товара в БД Dictionaries
в таблице Tmcalcocode
. Для проверки используется параметр checkTmcAlcoCode
в конфигурационном файле /linuxcash/cash/conf/ncash.ini
в секции [EGAIS]
:
- при значении параметра
true
:- если
enableExciseMarkVerifyLocal = false
, то алкокод проверяться не будет, - если
enableExciseMarkVerifyLocal = true
и акцизная марка найдена в "белом" списке, то проверка соответствия кода товара и алкокода не выполняется, - если
checkTmcAlcoCode = true
и акцизная марка не найдена в "белом" списке, то выполняется проверка соответствия кода товара и алкокода,
- если
- при значении параметра
false
проверка соответствия кода товара и алкокода выполняться не будет.
В таблице Tmcalcocode
одному коду товара может соответствовать несколько алкокодов.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enableExciseMarkVerifyLocal | логический |
| Проверять акцизные марки на кассе | По умолчанию false |
checkTmcAlcoCode | логический |
| Проверять соответствие алкокода акцизной марки коду товара | По умолчанию false |
[EGAIS] ... ; Проверять акцизные марки на кассе (по умолчанию false) ; enableExciseMarkVerifyLocal = false ; Проверять соответствие алкокода акцизной марки коду товара ; По умолчанию false ; checkTmcAlcoCode = false
Структура сети с кассовыми серверами
При добавлении акцизного товара в чек продажи/возврата на кассовый сервер в режиме онлайн направляется запрос о текущем статусе акцизной марки добавляемой позиции. Дальнейшее поведение программы определяется полученным статусом.
Проверка регистрации акцизных марок при продаже/возврате производится по умолчанию в рамках всех смен, данные о которых хранятся на кассе. Кассовое ПО позволяет дополнительно осуществлять контроль продажи/возврата акцизного алкоголя в рамках магазина или торговой сети. Информация о зарегистрированных ранее акцизных марках хранится на сервере торгового предприятия. Проверка акцизных марок на сервере задается при помощи параметра enableExciseMarkVerify
:
- при значении параметра
true
осуществляется проверка зарегистрированных акцизных марок на сервере, - при значении параметра
false
контроль акцизных марок в рамках магазина (торговой сети) не производится.
Для проверки акцизных марок на всех кассах магазина (торговой сети) необходимо задать параметры подключения к серверу:
url
сервера, где хранятся данные об акцизных марках, –exciseMarkVerifyUrl
,- таймаут подключения к серверу –
exciseMarkVerifyTimeout
.
Настройками программы можно разрешать или запрещать продажу/возврат акцизного алкоголя при возникновении ошибок обращения к серверу. Возможность игнорирования возникающих ошибок определяется параметром ignoreExciseMarkVerifyErrors
:
- при значении параметра
true
в случае возникновения ошибок подключения к серверу они игнорируются, продажа/возврат акцизного алкоголя осуществляется без проверки акцизной марки на сервере, - при значении параметра
false
в случае возникновения ошибок подключения к серверу продажа товара не может быть выполнена. На экран кассира выводится сообщение о том, что акцизная марка не может быть проверена.
Для корректной проверки акцизных марок в белом списке на кассовом сервере необходимо:
В настройках Artix Control Center:
- Перейти в меню "Настройки сервера" в раздел "Акцизная продукция".
- Активировать настройку "Контроль алкокодов при продаже акцизной продукции (образца 2016 года)".
- В настройке "Проверять список разрешенных акцизных марок образца 2018 года алкогольной продукции" установить значение "Проверять по акцизной марке".
Параметры проверки статусов акцизных марок и их резервирования задаются в секции EGAIS
конфигурационного файла /linuxcash/cash/conf/ncash.ini
.
Наименование | Тип данных | Воможные значения | Описание | Примечания |
---|---|---|---|---|
enableExciseMarkVerify | логический |
| Проверять акцизные марки на сервере | По умолчанию false |
exciseMarkVerifyUrl | строковый | URL сервера проверки акцизных марок | По умолчанию В случае размещения кассового сервера на мощностях Artix в качестве url используется значение При наличии собственного кассового сервера в качестве url необходимо использовать адрес на кассовом сервере до REST сервиса | |
exciseMarkVerifyTimeout | числовой | Таймаут обращения к серверу проверки акцизных марок в секундах | По умолчанию 30 секунд | |
ignoreExciseMarkVerifyErrors | логический |
| Игнорировать ошибки обращения к серверу проверки акцизных марок | По умолчанию true |
[EGAIS] ... ; Проверять акцизные марки на сервере (по умолчанию false) ; enableExciseMarkVerify = false ; URL сервера проверки акцизных марок (по умолчанию http://localhost:8080) ; exciseMarkVerifyUrl = "http://localhost:8080" ; Таймаут обращения к серверу проверки акцизных марок в секундах(по умолчанию 30 сек) ; exciseMarkVerifyTimeout = 30 ; Игнорировать ошибки обращения к серверу проверки акцизных марок (по умолчанию true) ; ignoreExciseMarkVerifyErrors = true
Статус акцизной марки может принимать следующие значения:
- 0 – Марка не зарегистрирована в БД,
- 1 – Товар с такой маркой продан,
- 2 – Товар с такой маркой возвращен,
- 3 – Марка зарезервирована в чеке продажи,
- 4 – Марка снята с резерва в чеке продажи,
- 5 – Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи),
- 6 – Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи),
- 7 – Акцизная марка отсутствует в списке разрешенных к продаже,
- 8 – Связка кода и алкокода товара отсутствует,
- 9 – Товар отсутствует на остатке,
- 10 – Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не передан,
- 11 – Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найдено,
- 12 – Магазин для проверки остатков не найден,
- 13 – Штрих-код для проверки остатков не заполнен,
- 14 – Код товара для проверки остатков не заполнен,
- 15 – Справочник остатков для товара, по которому проверяем остатки, заполнен не корректно,
- Любое другое значение – неизвестный статус акцизной марки.
При получении неизвестного статуса акцизной марки проверяется наличие сообщения об ошибке в ответе от сервера:
если сообщение присутствует, то на экран выводится ошибка с текстом из сообщения:
ПримерОтвет от сервера: [{"status": 20, "message": "Товар был продан в другом магазине", "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERRRRIOPQ"}]
На экран выводится ошибка: "Товар был продан в другом магазине".
если сообщение отсутствует, то на экран выводится ошибка "Неизвестный статус акцизной марки на сервере".
ПримерОтвет от сервера: [{"status": 16, "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERRRRIOPQ"}]
На экран выводится ошибка: "Неизвестный статус акцизной марки на сервере".
Резервирование акцизной марки выполняется после проверки всех действующих ограничений на возраст покупателя, время покупки, а также после обработки данных модификаторов позиции.
Процесс проверки акцизных марок
При добавлении акцизного алкоголя в документ продажи на кассовом сервере осуществляются следующие проверки:
- получение статуса акцизной марки из данных о продажах,
- если в данных о продажах акцизная марка не найдена, то выполняется проверка в справочнике статусов акцизных марок,
- если продажа разрешена или акцизная марка не обнаружена, то проверяется справочник акцизных марок, разрешенных к продаже.
Если по результатам всех проверок товар с акцизной маркой может быть продан, то на кассу передается статус проверок и акцизная марка ставится в резерв продажи на кассовом сервере.
При добавлении акцизного товара в документ возврата на кассовом сервере выполняются проверки:
- получение статуса акцизной марки из данных о продажах,
- если в продажах акцизная марка не найдена, то марка проверяется в справочнике статусов акцизных марок,
- если акцизная марка найдена в справочнике, то на кассу передается статус из справочника,
- если в справочнике марка не найдена, то на кассу передается справочник из документов продаж.
Если после всех проверок товар с акцизной маркой можно вернуть, то на кассу передается статус проверок и акцизная марка ставится в резерв возврата на кассовом сервере.
Изменение статуса акцизной марки на кассовом сервере в зависимости от операции выполняется:
- в режиме онлайн (по
REST
-запросу) – резервирование акцизной марки, - в режиме оффлайн (через очередь Artix-Queue) – снятие с резерва акцизной марки (сторнирование), после закрытия чека перевод в статус "продана", "возвращена".
Проверка акцизных марок в справочнике акцизных марок, разрешенных к продаже, выполняется только при соответствующей настройке кассового сервера.
Поведение на кассе
Резервирование акцизной марки выполняется после проверки всех действующих ограничений на возраст покупателя, время покупки, а также после обработки данных модификаторов позиции. В зависимости от статуса акцизной марки, который возвращает кассовый сервер после проверки, поведение кассовой программы может отличаться.
Статус акцизной марки | Поведение кассы при продаже | Поведение кассы при возврате |
---|---|---|
Марка не зарегистрирована в БД | Товар с акцизной маркой добавляется в чек и может быть продан. | Так как товар не был ранее продан, то на экран выводится сообщение "Товар с акцизной маркой отсутствует на сервере", товар не добавляется в чек и не может быть возвращен |
Товар с такой маркой продан | Товар в чек не добавляется, на экран выводится ошибка "Товар с акцизной маркой уже был продан". | Товар добавляется в чек, его можно вернуть |
Товар с такой маркой возвращен | Товар добавлен в чек и может быть продан. | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был возвращен" |
Марка зарезервирована в чеке продажи | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован". | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован" |
Марка снята с резерва в чеке продажи | Товар добавляется в чек и может быть продан. | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой еще не продан" |
Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи) | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован". | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован" |
Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи) | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был продан". | Товар добавляется в чек, его можно вернуть |
Акцизная марка отсутствует в списке разрешенных к продаже | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже". | Статус не проверяется на сервере |
На кассовом сервере отсутствует связка кода и алкокода товара | Товар в чек не добавляется, на экран выводится ошибка «Товар с такой акцизной маркой запрещен к продаже. Код алкогольной продукции не найден». | Товар добавлен в чек и может быть возвращен |
Товар отсутствует на остатке | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Нет на остатке". | Товар добавлен в чек и может быть возвращен |
Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не передан | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не заполнен штрих-код для проверки в белом списке". | Товар добавлен в чек и может быть возвращен |
Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найдено | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не найдено соответствие акцизной марки и штрих-кода в белом списке". | Товар добавлен в чек и может быть возвращен |
Магазин для проверки остатков не найден | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не найден магазин для проверки остатков". | Товар добавлен в чек и может быть возвращен |
Штрих-код для проверки остатков не заполнен | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не заполнен штрих-код для проверки остатков". | Товар добавлен в чек и может быть возвращен |
Код товара для проверки остатков не заполнен | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не заполнен код товара для проверки остатков". | Товар добавлен в чек и может быть возвращен |
Справочник остатков для товара, по которому проверяем остатки, заполнен не корректно | Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Некорректно заполнен справочник остатков для товара". | Товар добавлен в чек и может быть возвращен |
Неизвестный статус акцизной марки | Товар в чек не добавляется, на экран выводится ошибка "Неизвестный статус акцизной марки на сервере". | Товар в чек не добавляется, на экран выводится ошибка "Неизвестный статус акцизной марки на сервере" |
Если акцизная марка была поставлена в резерв, т.е. уже была добавлена в чек, то такой товар в чек не может быть добавлен. После осуществления продажи/возврата акцизная марка позиции снимается с резерва и переходит в статус, соответствующий выполненной операции – продана/возвращена. Снятие резерва с акцизной марки выполняется также при сторнировании товарной позиции из документа.
Если на кассе установлена версия ПО ниже 4.6.96, то для того чтобы статус резервной марки изменялся после закрытия чек необходимо осуществлять выгрузку продаж после закрытия каждого чека. Для этого необходимо на событие "Действие после закрытия документа" назначить макрос "Выгрузка текущих продаж" с параметром "Выгрузка продаж на КС". Подробнее о задании макросов можно прочитать в разделе "События и макросы".