Реализовано начиная с версии 4.6.272-7.
Начиная с версии 4.6.280 реализована возможность офлайн-проверки кодов маркировки для нескольких юридических лиц.
Начиная с версии 4.6.285 реализована возможность отправки запроса для активации проверки товаров из серых списков GTIN.
Проверка производится только для товаров в чеке продажи.
Для проверки в локальном модуле будет отправлен код идентификации. Выделение кода идентификации из кода маркировки осуществляется в соответствии с Методическими рекомендациями.
В кассовом ПО Artix реализован разрешительный режим – обязательная проверка кодов маркировки в системе цифровой маркировки "Честный знак". При отсутствии связи или ошибках обращения к CDN-площадкам будет выполнена офлайн-проверка кодов маркировки. Возможность офлайн-проверки реализована в модуле LMCHZ (ЛМЧЗ – локальный модуль системы "Честный знак").
Функционал поддержан для следующих плагинов маркированных товаров:
draftbeer,markedgoods,moot,motp.
Конфигурирование модуля
Существует возможность установки модуля ЛМЧЗ на отдельном сервере, работающем на других ОС, список вариантов установки и ссылки на дистрибутивы указаны в Методических рекомендациях на сайте системы "Честный знак".
Для локальной установки и использования модуля на кассе необходимо:
Установить пакет
regimeиз репозитория Artix для Ubuntu 22.04, выполнив команду:aptitude install regime
При установке пакета необходимо указать адрес сервера конфигурации ЛМЧЗ, а также логин и пароль, которые будут использованы для авторизации.
Установка пакета
regimeиз репозитория возможна только для Ubuntu 22.04.Настроить модуль в конфигурационном файле
/linuxcash/cash/conf/ncash.ini.d/crpt.iniв секции[LMCHZ].Наименование Типа данных Возможные значения Описание Примечание enable логический - true
- false
Использование ЛМЧЗ для офлайн-проверок По умолчанию
falsemaintain логический - true
- false
Управление инициализацией ЛМЧЗ По умолчанию
falsetoken строковый Аутентификационный токен участника оборота Используется для инициализации, если указан.
Значение параметра
tokenдолжно совпадать со значением параметраxapikeyиз плагина (например:markedgoods), в котором настроена онлайн-проверка кода маркировки на сервере системы "Честный знак".Пример:
xapikey= [-1;xtoken]token = xtoken
Заполнение параметра строго обязательно.url строковый Адрес сервиса ЛМЧЗ По умолчанию
"http://127.0.0.1:5995"user строковый Имя пользователя для доступа к ЛМЧЗ password
строковый Пароль для доступа к ЛМЧЗ timeout числовой Таймаут обращения к ЛМЧЗ По умолчанию
5секундПример настройки[LMCHZ] ; Использование ЛМЧЗ для офлайн-проверок ; по умолчанию false ;enable = false ; Управление инициализацией ЛМЧЗ ; по умолчанию false ;maintain = false ; Аутентификационный токен участника оборота ; Используется для инициализации, если указан ; По умолчанию "" ;token = "" ; Адрес сервиса ЛМЧЗ ; по умолчанию "http://127.0.0.1:5995" ;url = "http://127.0.0.1:5995" ; Имя пользователя для доступа к ЛМЧЗ ; по умолчанию "" ;user = "" ; Пароль для доступа к ЛМЧЗ ; по умолчанию "" ;password = "" ; Таймаут обращения к ЛМЧЗ ; по умолчанию 5 секунд ;timeout = 5
Активация серых списков GTIN
В кассовом ПО Artix реализована возможность активации серых списков GTIN, которая определяется параметрами enableGreyList и maintain в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/crpt.ini в секции [LMCHZ]:
- при
maintain=true:- если
enableGreyList=true, то на сервер отправляется запрос на включение проверки серых списков GTIN, еслиenableGreyList=false, то на сервер отправляется запрос на отключение проверки серых списков GTIN,- если
enableGreyListне задан, то запрос на сервер не отправляется.
- если
- при
maintain=falseзначение параметраenableGreyListигнорируется.
| Наименование | Типа данных | Возможные значения | Описание | Примечание |
|---|---|---|---|---|
| enableGreyList | логический |
| Активация серых списков GTIN | По умолчанию не задан При включении данной настройки вы соглашаетесь, что не сможете выполнять офлайн-проверку товаров, по которым есть блокировки кодов идентификации. Вы также несете риск неблагоприятных последствий – в том числе риск убытков, которые могут возникнуть у третьих лиц. Работает только при включенной настройке maintain. |
[LMCHZ] ... ; Активация серых списков GTIN ; При включении данной опции вы соглашаетесь, что не сможете проверять в офлайне товары, по которым есть ; блокировки кодов идентификации и несёте риск неблагоприятных последствий, в том числе риск ; убытков, которые могут возникнуть у третьих лиц ; Работает в сочетании с настройкой maintain ; При true - включает использование списков GTIN ; При false - выключает использование списков GTIN ; По умолчанию не задан ;enableGreyList = ...
Конфигурирование ЛМЧЗ для нескольких юридических лиц
Для каждого юридического лица должен быть установлен собственный модуль LMCHZ на отдельной машине.
При работе на кассе может возникнуть необходимость офлайн-проверки кодов маркировки для маркированных товаров, соответствующих разным юридическим лицам. В этом случае для каждого юридического лица необходимо использовать сервер с собственным модулем LMCHZ. Допускается установка одного из модулей локально на кассе.
В кассовом ПО реализована возможность подключения к нескольким локальным модулям системы "Честный знак". Для работы с несколькими юридическими лицами необходимо задать параметры в подсекциях вида [LMCHZ.<номер>]. Для каждого юридического лица должна быть настроена подсекция с индивидуальными параметрами подключения к одному из модулей LMCHZ.
Для корректной работы параметр token должен быть задан во всех подсекциях.
Значения токенов должны быть уникальны в пределах всех подсекций.
[LMCHZ.1] ; Использование ЛМЧЗ для офлайн-проверок ; по умолчанию false enable = true ; Управление ЛМЧЗ ; по умолчанию false ;maintain = false ; Аутентификационный токен участника оборота ; По умолчанию "" token = token1 ; Адрес сервиса ЛМЧЗ ; по умолчанию "http://127.0.0.1:5995" url = "url1" ; Имя пользователя для доступа к ЛМЧЗ ; по умолчанию "" ;user = "user1" ; Пароль для доступа к ЛМЧЗ ; по умолчанию "" ;password = "pass1" ; Таймаут обращения к ЛМЧЗ ; по умолчанию 5 секунд ;timeout = 5 [LMCHZ.2] ; Использование ЛМЧЗ для офлайн-проверок ; по умолчанию false enable = true ; Управление ЛМЧЗ ; по умолчанию false ;maintain = false ; Аутентификационный токен участника оборота ; По умолчанию "" token = token2 ; Адрес сервиса ЛМЧЗ ; по умолчанию "http://127.0.0.1:5995" url = "url2" ; Имя пользователя для доступа к ЛМЧЗ ; по умолчанию "" user = "user2" ; Пароль для доступа к ЛМЧЗ ; по умолчанию "" password = "pass2" ; Таймаут обращения к ЛМЧЗ ; по умолчанию 5 секунд ;timeout = 5
При добавлении маркированного товара для офлайн-проверки будет осуществлен поиск значения токена, соответствующего отделу, к которому привязан товар. В зависимости от значения токена будут осуществлены:
- Поиск подсекции, в которой заполнен параметр
tokenс полученным значением. - Определение адреса сервиса ЛМЧЗ и других параметров для обращения к модулю
LMCHZ. - Офлайн-проверка кода маркировки на сервисе ЛМЧЗ с использованием нужного модуля
LMCHZ.
Пусть:
в подсекциях для параметров
urlиtokenзаданы следующие значения:[LMCHZ.1] ... ; Аутентификационный токен участника оборота token = token1 ; Адрес сервиса ЛМЧЗ url = "url1" [LMCHZ.2] ... ; Аутентификационный токен участника оборота token = token2 ; Адрес сервиса ЛМЧЗ url = "url2"
в параметре xapikey плагина для работы с маркированными товарами задано соответствие отделов (юридических лиц) и токенов:
Пример задания соответствия отделов и токенов в настройках плагина Markedgoods[MarkedGoods] ... ; xapikey = [<отдел1>:<токен1>],[<отдел2>:<токен2>], ... , [<отделN>:<токенN>] xapikey = [1:token1],[2:token2]
При добавлении маркированного товара:
- из отдела 1 – запрос для офлайн-проверки кода маркировки в модуле
LMCHZбудет отправлен по адресу "url1" с токеном "token1" (см. подсекцию[LMCHZ.1]), - из отдела 2 – запрос для офлайн-проверки кода маркировки в модуле
LMCHZбудет отправлен по адресу "url2" с токеном "token2" (см. подсекцию[LMCHZ.2]).
Конфигурирование модуля на кассовом сервере
Вместо настройки модуля LMCHZ на каждой кассе может быть выполнена централизованная настройка на кассовом сервере через Artix Control Center.
Для этого необходимо добавить конфигурационную метку для локального модуля:
- В группе классов "Маркированные товары" выбрать класс "ЛМЧЗ".
- Задать значения для параметров модуля
LMCHZ:Индивидуальные настройки доступа к локальному модулю системы "Честный знак" (ЛМЧЗ) позволяют задать собственный адрес сервисаLMCHZдля каждого магазина. Настроить "Глобальные параметры" в выбранной конфигурации.
Для глобального параметраlmchzTokensтребуется указать пару вида: {<код магазина>=<ip-адрес сервера ЛМЧЗ:порт>_<токен>}.Пример заполнения глобального параметра- ключ –
shopCode1, - значение –
http://127.0.0.1:5995_token1.
Если значение для магазина не заполнено, то оно будет считано из соответствующих полей
url,tokenв классе "ЛМЧЗ".- ключ –
Инициализация модуля ЛМЧЗ на кассе
Перед инициализацией отправляется запрос на сервис ЛМЧЗ. Если в ответе получен статус:
- "
not_configured" (не сконфигурирован, не готов к работе), то выполняется инициализация модуля, - "
ready" (готов к работе), то инициализация модуля не выполняется.
Принцип работы
При попытке добавить товар в чек отсканированный код маркировки отправляется на удаленный сервер системы "Честный знак". Выполняется перебор CDN-площадок.
Офлайн-проверка кодов маркировки в модуле LMCHZ выполняется:
- при отсутствии ответа от сервера системы "Честный знак" в течение
markverifycrpttimeout, - при возникновении аварийной ситуации,
- при отсутствии связи с сервером системы "Честный знак",
- при отсутствии доступных CDN-площадок.
Результат проверки определяется значением ключа "isBlocked" – товар с таким кодом маркировки заблокирован на сервере системы "Честный знак":
- если ответ от сервера содержит
"isBlocked":true, то будет выведено сообщение: "Ошибка проверки кода маркировки позиции '<Наименование товара>'. Товар с таким кодом маркировки заблокирован". Товар в чек не добавляется, - если ответ от сервера содержит
"isBlocked":false, то товар будет добавлен в чек.
Значение ключа "isBlocked" можно посмотреть в логе /linuxcash/logs/current/terminal.log кассового ПО.
Если включена настройка для проверки товаров из серых списков, то результат проверки определяется значением ключа "isGreyGtin":
если ответ от сервера содержит
"isGreyGtin":true, то будет выведено сообщение: "Ошибка проверки кода маркировки позиции '<Наименование товара>'. Продажа товара заблокирована, т.к проверка кода маркировки с таким GTIN возможна только в режиме онлайн",- если ответ от сервера содержит
"isGreyGtin":false, то результат добавления будет зависеть от значения ключа "isBlocked".
При получении от сервера одновременно двух ключей "isGreyGtin" и "isBlocked" со значениями true будет обработано только значение ключа "isGreyGtin".
Значение ключа "isGreyGtin" можно посмотреть в логе /linuxcash/logs/current/terminal.log кассового ПО.
При закрытии чека формируется отраслевой реквизит вида "UUID=<reqId>&Time=<reqTimestamp>&Inst=<inst>&Ver=<version>", который передается в ОФД в теге 1265.
Значения атрибутов подставляются из ответа от сервера для каждой марки. Например:
reqId=2ce10bdb-6510-4d37-be04-dd473b98c728,reqTimestamp=1692691702065,inst=9fee3da1-ec4a-42c2-b6be-b4f502676caa,version=7312a9ab-e26d-476d-848f-4d18030eb5d3.
Возможные ошибки
Если товар с кодом маркировки будет заблокирован на сервере системы "Честный знак", то на экран кассира будет выведено сообщение:
Если модуль LMCHZ не сконфигурирован или недоступен, то на экран кассира будет выведено сообщение:
Если один и тот же маркированный товар добавляется в чек повторно, то на экран кассира будет выведено сообщение:
Если включена проверка товаров из серых списков GTIN, то при попытке добавить такой товар в чек на экран кассира будет выведено сообщение:
Логирование
Логирование работы модуля ведется в файле /linuxcash/logs/current/terminal.log.





