Начиная с версии 4.6.264 работу с обувными товарами рекомендуется осуществлять в плагине маркированных товаров.
Информационная система маркировки и мониторинга оборота обувных товаров создана с целью информационного обеспечения маркировки товаров средствами идентификации и мониторинга оборота обувных товаров.
Система маркировки обувных товаров охватывает все этапы оборота товара: от производителя до потребителя. На каждом шаге код маркировки обувного товара проверяется.
Для контроля обувных товаров используется двумерный штрих-код Data Matrix, наносимый на потребительскую упаковку, товар или товарный ярлык. Data Matrix содержит в себе сведения о штрих-коде товара и коде идентификации.
Конфигурирование модуля
Модуль МООТ активируется параметром moot
в конфигурационном файле /linuxcash/cash/conf/ncash.
ini.d/moot.ini
в секции [plugins]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
moot | строковый |
| Активация модуля МООТ | По умолчанию off |
[plugins] ; Мониторинг оборота обувных товаров (обуви) moot = off
Настройка модуля МООТ производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
.
Маска для проверки кода маркировки обувных товаров задается настройкой dataMatrixMask
.
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
dataMatrixMask | строковый | Маска для проверки DataMatrix обувных товаров | По умолчанию " |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ; Маска для проверки DataMatrix обуви ; По умолчанию 01\d{14}21.{13}(240[a-zA-Z0-9]{4}|\s+){0,1}91.{4}92.{84,95} ;dataMatrixMask=01\d{14}21.{13}(240[a-zA-Z0-9]{4}|\s+){0,1}91.{4}92.{84,95}
Код маркировки должен подходить только под одну маску для проверки DataMatrix.
Продажа обувных товаров
Добавление обувных товаров
Для определения обувного товара у товара должен быть установлен признак op_mode = 65536
(БД Dictionaries
таблица Tmc
). При добавлении товара требуется считывание кода маркировки товара.
Добавление в чек товара с кодом маркировки осуществляется двумя способами:
- последовательным сканированием штрих-кода/кода/артикула товара и кода маркировки,
- сканированием кода маркировки (код маркировки содержит в себе данные штрих-кода, поэтому сканировать штрих-код не требуется).
Так как код маркировки представляет собой уникальный код, то в товарной позиции может быть не более 1 единицы товара. Применение модификатора "Изменение количества" к позиции с обувным товаром запрещено.
Добавление в чек обувных товаров, как обычных (без ввода кода маркировки), определяется параметром addWithoutScanMark
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
true
при добавлении товара в чек на экран будет выведен диалог сканирования кода маркировки, в котором есть возможность добавить обувь без маркировки, - при значении
false
при добавлении товара в чек на экран будет выведен диалог сканирования кода маркировки.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
addWithoutScanMark | логический |
| Добавлять обувь в чек без ввода кода маркировки | По умолчанию false |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ... ; Добавлять обувь в чек без ввода кода маркировки ; По умолчанию false ;addWithoutScanMark = false
В кассовом ПО Artix реализована возможность блокировать сканер при отображении диалога подтверждения ошибки сканирования кода маркировки. Данная возможность задается при помощи параметра showScanErrorDialog
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
. В случае возникновения ошибки сканирования:
при значении
true
сканер будет заблокирован, будет отображен диалог подтверждения ошибки с сообщением "Ошибка сканирования кода маркировки", товар не добавляется в чек,После закрытия диалога сканер будет разблокирован.- при значении
false
блокировка сканера не осуществляется, будет отображен диалог сканирования кода маркировки "Ошибка считывания кода маркировки, повторите сканирование", товар не добавляется в чек.
После ввода верного кода маркировки товар добавляется в чек.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
showScanErrorDialog | логический |
| Блокировать сканер и отображать диалог подтверждения ошибки сканирования кода маркировки | По умолчанию false |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ... ; Блокировать сканер и отображать диалог подтверждения ошибки сканирования кода маркировки ; По умолчанию false ;showScanErrorDialog = false
Разрешенные типы данных для ввода кода маркировки
В кассовом ПО Artix реализована возможность настройки разрешенных типов данных для ввода кода маркировки, задается параметром permittedInput
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot
]:
При добавлении в чек маркированного товара:
- сканированием кода маркировки с типом данных, не указанным в настройке, на экран будет выведена ошибка "Неверный тип ввода данных",
- последовательным сканированием штрих-кода и кода маркировки с типом данных, не указанным в настройке, код маркировки будет проигнорирован.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
permittedInput | целочисленный |
| Разрешенные типы вводимых данных | По умолчанию разрешены все типы вводимых данных |
[Moot] ... ; Разрешенные типы вводимых данных ; По умолчанию "" - все типы вводимых данных ;permittedInput =
Удаление обувных товаров
При сторнировании обувных товаров требуется считывание кода маркировки товара.
В кассовом ПО Artix реализована возможность удаления позиции с другим штрих-кодом при сторнировании по коду маркировки, задается параметром allowNotMatchingBarcodesOnStorno
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot
]:
- при значении
true
после сканирования кода маркировки из чека удаляется именно та позиция, данные которой были считаны, независимо от того, какая позиция была выбрана для сторнирования, - при значении
false
при сканировании кода маркировки, если он не соответствует выбранной позиции, на экран будет выведена ошибка "Отсканирована маркировка от другого товара". После подтверждения повторно отображается диалог сканирования кода маркировки.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
allowNotMatchingBarcodesOnStorno | логический |
| Разрешить удаление позиции с другим штрих-кодом при сторнировании по коду маркировки | По умолчанию true |
При сторнировании всего чека, содержащего обувные товары, операция выполняется без считывания кодов маркировок.
Возврат обувных товаров
Способ возврата обувных товаров в торговую сеть определяется наличием кода маркировки, с которым он был продан:
- если код маркировки присутствует, то возврат обуви осуществляется с использованием режимов возврата и возврата по чеку продажи,
- если код маркировки не сохранился, то возврат обуви может быть осуществлен без сканирования кода маркировки в режиме возврата по чеку продажи.
При возврате по чеку продажи позицию для возврата можно выбрать одним из способов:
- выбрав товар из списка в режиме выбора позиций для возврата и считав код маркировки товара,
- выбрав товар из списка в режиме выбора позиций для возврата и нажав "без маркировки" в диалоге считывания кода маркировки,
- считав код маркировки товара.
Для возврата обувных товаров по чеку продажи реализована возможность выбора позиции без сканирования кода маркировки, которая определяется параметром addWithoutScanMarkInBackBySale
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
true
при выборе товара для возврата на экран будет выведен диалог сканирования кода маркировки, в котором есть возможность добавить обувь без маркировки, - при значении
false
при выборе товара для возврата на экран будет выведен диалог сканирования кода маркировки.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
addWithoutScanMarkInBackBySale | логический |
| Добавлять обувь в чек возврата по чеку продажи без ввода кода маркировки | По умолчанию true |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ... ; Добавлять обувь в чек возврата по чеку продажи без ввода кода маркировки ; По умолчанию true ;addWithoutScanMarkInBackBySale = true
Если при добавлении обувного товара в чек возврата по чеку продажи код маркировки не использовался, то при сторнировании данной позиции не будет требоваться считывание кода маркировки.
Проверка кодов маркировок обувных товаров
Регламент работы по проверке кодов маркировок при продаже и возврате по чеку продажи обувных товаров определяется структурой торговой сети. Проверка кодов маркировок предполагает:
- проверку на факт продажи/возврата обувных товаров (в БД кассовой программы),
- проверку статуса кода маркировки на кассовом сервере,
- проверку кода маркировки в "белом" списке на сервере.
Проверка кода маркировки в проданной продукции на кассе задается параметром checkLocalUniqueness
в конфигурационном файле /linuxcash/cash/conf/
ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении параметра
true
осуществляется проверка в БДDocuments
в таблицеGoodsitem
на возможность продажи/возврата обувных товаров:- если код маркировки был продан/возвращен ранее, то при попытке продать/вернуть товар на экран выводится сообщение об ошибке "Код маркировки уже был зарегистрирован ранее", товар в чек не добавляется,
- если код маркировки не был продан/возвращен ранее, то товар добавляется в чек.
- при значении параметра
false
проверка кода маркировки в проданной продукции не осуществляется.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
checkLocalUniqueness | логический |
| Проверка кода маркировки в проданной продукции на кассе | По умолчанию true |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ... ; Проверка кода маркировки в проданной продукции на кассе ; По умолчанию true ;checkLocalUniqueness = true
Структура сети с кассовыми серверами
Структура сети с кассовыми серверами позволяет осуществлять контроль:
- дублей кодов маркировок (запрет повторной продажи/возврата одного и того же обувного товара),
- разрешенных к продаже кодов маркировок (запрет продажи/возврата товаров, коды маркировки которых не были внесены в "белый" список).
Настройки подключения к кассовому серверу задаются в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
enableMarkVerify | логический |
| Проверка кодов маркировок на сервере | По умолчанию false |
markVerifyUrl | строковый | Url сервера проверки кодов маркировок | По умолчанию Для работы с КС используется url " | |
markVerifyTimeout | строковый | Таймаут обращения к серверу проверки кодов маркировок в секундах | По умолчанию 30 | |
ignoreMarkVerifyErrors | логический |
| Игнорировать ошибки обращения к серверу проверки кодов маркировок | По умолчанию true |
skipCheckExciseMark | логический |
| Игнорировать проверку АМ при возврате по чеку (для онлайн-чеков при некорректных АМ) | По умолчанию false |
[Moot] ; Настройки плагина мониторинга оборота обувных товаров(обуви) ... ; Проверка кодов маркировки на сервере ; По умолчанию false enableMarkVerify=true ; Url сервера проверки кодов маркировки ; Для работы с КС используется следующий url "http://'IP-адрес КС':8080/CSrest/rest/sales/exciseMark/status" ; По умолчанию http://<host>:<port> markVerifyUrl=http://<host>:<port>/CSrest/rest/sales/exciseMark/status ; Таймаут обращения к серверу проверки кодов маркировки в секундах ; По умолчанию 30 markVerifyTimeout=30 ; Игнорировать ошибки обращения к серверу проверки кодов маркировки ; По умолчанию true ignoreMarkVerifyErrors=true ; Игнорировать проверку АМ при возврате по чеку (для онлайн-чеков при некорректных АМ) ; По умолчанию false ;skipCheckExciseMark = false
Проверка кодов маркировок на сервере задается при помощи параметра enableMarkVerify
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
true
осуществляется проверка кода маркировки на сервере, - при значении
false
проверка кода маркировки на сервере не выполняется.
Подключение к серверу задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
параметрами:
markVerifyUrl
– URL кассового сервера,markVerifyTimeout
– таймаут ожидания ответа от кассового сервера при проверке кодов маркировок.
Настройками программы можно разрешать или запрещать продажу/возврат обувных товаров при возникновении ошибок обращения к кассовому серверу. Возможность игнорирования возникающих ошибок определяется параметром ignoreMarkVerifyErrors
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
true
ошибки, возвращаемые кассовым сервером, игнорируются, - при значении
false
в случае возникновения ошибок при проверке кода маркировки на кассовом сервере продажа/возврат товара не может быть выполнена.
Для корректной проверки кодов маркировок на кассовом сервере также необходимо:
В настройках Artix Control Center:
- Перейти в меню "Настройки сервера" в раздел "Маркированная продукция".
- В настройке "Проверять список разрешенных к продаже кодов маркировок обуви" установить значение "Проверять по коду маркировки".
При добавлении обувных товаров в чек продажи на кассовый сервер отправляется REST-запрос на получение статуса кода маркировки. Дальнейшее поведение программы определяется полученным статусом.
Статус кода маркировки | Поведение кассы при продаже |
---|---|
Код маркировки не зарегистрирован в БД | Товар с кодом маркировки добавляется в чек и может быть продан |
Товар с таким кодом маркировки продан | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки уже был продан" |
Товар с таким кодом маркировки возвращен | Товар добавлен в чек и может быть продан |
Код маркировки зарезервирован в чеке продажи | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки уже был зарезервирован" |
Код маркировки снят с резерва в чеке продажи | Товар добавляется в чек и может быть продан |
Код маркировки зарезервирован в чеке возврата (чеке возврата по чеку продажи) | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки уже был зарезервирован" |
Код маркировки снят с резерва в чеке возврата (чеке возврата по чеку продажи) | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки уже был продан" |
Код маркировки отсутствует в списке разрешенных к продаже | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки запрещен к продаже" |
Штрих-код для проверки в списке кодов маркировок, разрешенных к продаже, не передан | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки запрещен к продаже. Не заполнен штрих-код для проверки в белом списке" |
Соответствие кода маркировки и штрих-кода в списке кодов маркировок, разрешенных к продаже, не найдено | Товар в чек не добавляется, на экран выводится ошибка "Товар с таким кодом маркировки запрещен к продаже. Не найдено соответствие кода маркировки и штрих-кода в белом списке" |
Неизвестный статус кода маркировки | Товар в чек не добавляется, на экран выводится ошибка "Неизвестный статус кода маркировки на сервере" |
После добавления товара в чек продажи/возврата по чеку продажи код маркировки ставится в резерв на кассовом сервере.
Изменение статуса кода маркировки на кассовом сервере в зависимости от операции выполняется:
- в режиме онлайн (по
REST
-запросу) – резервирование кода маркировки, - в режиме оффлайн (через очередь Artix-Queue) – снятие с резерва кода маркировки (сторнирование), после закрытия чека перевод в статус "продан", "возвращен".
Разрешительный режим
Начиная с версии 4.6.272-7 кассового ПО Artix реализована возможность проверки кодов маркировок в локальном модуле системы "Честный знак".
В кассовом ПО Artix реализован разрешительный режим – обязательная проверка кодов маркировок в системе цифровой маркировки "Честный знак".
На основании Постановления Правительства Российской Федерации от 21.11.2023 № 1944 с 1 апреля 2024 года в розничных магазинах при продаже маркированных товаров должна осуществляться обязательная проверка кодов маркировок в системе цифровой маркировки "Честный знак".
Разрешительный режим вводится в несколько этапов и имеет отличия по срокам для товарных групп, категорий продавцов и применения проверок в онлайн и офлайн режимах.
Рекомендуется дополнительно ознакомиться с методическими рекомендациями по разрешительному режиму здесь, со сроками запуска разрешительного режима и с другой информацией на официальной странице "Честного знака".
Помимо проверки валидности марки осуществляется проверка срока годности товара. Если у срока годности товара указана дата, но не указано время (в часах, минутах и секундах), то данный товар будет запрещен к продаже в полночь того же дня.
При проверке кодов маркировок некоторых товаров, ввозимых в Россию из стран таможенного союза, могут возникать ошибки.
Разрешительный режим также поддержан для софт-чеков и онлайн-чеков:
- проверка кодов маркировок происходит при восстановлении онлайн-чеков,
- для софт-чеков проверка кода маркировки товара происходит при сканировании маркированной позиции в заказе.
Если параметры проверки заданы некорректно или задан недействительный токен авторизации, то:
- продажа маркированных товаров будет осуществляться без проверки в системе цифровой маркировки "Честный знак",
- тег 1265 с результатом проверки заполняться не будет.
Обязательная проверка кодов маркировок на сервере системы "Честный знак" задается при помощи параметра enableMarkVerifyCrpt
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
true
осуществляется проверка кода маркировки на сервере системы "Честный знак", - при значении
false
проверка кода маркировки на сервере системы "Честный знак" не осуществляется.
Возможность игнорировать ошибки обращения к серверу системы "Честный знак" задается при помощи параметра ignoreMarkVerifyCrptConnectionErrors
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot]
:
- при значении
deny
в случае возникновения ошибок на экран будет выведен диалог с сообщением об ошибке: "Не удалось выполнить проверку кода маркировки (Ошибка соединения с сервером)", после закрытия диалога товар не будет добавлен в чек, - при значении
ask
в случае возникновения ошибок на экран будет выведен диалог с сообщением об ошибке: "Не удалось выполнить проверку кода маркировки (Ошибка соединения с сервером)", по нажатию клавиши "Продолжить" товар добавляется в чек, по нажатию клавиши "Отмена" товар не будет добавлен в чек, - при значении
allow
статус игнорируется, товар будет добавлен в чек.
Возможность запросить подтверждение добавления товара при провале проверки маркировки задается при помощи параметра markVerifyCrptAskConfirmation
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/
moot.ini
в секции [Moot]
:
- при значении
true
на экран будет выведен диалог с сообщением об ошибке: по нажатию клавиши "Ввод" товар будет добавлен в чек, по нажатию клавиши "Отмена" товар не будет добавлен в чек, - при значении
false
на экран будет выведен диалог с сообщением об ошибке, после закрытия диалога товар не будет добавлен в чек.
Наименование | Типа данных | Возможные значения | Описание | Примечание |
---|---|---|---|---|
enableMarkVerifyCrpt | логический |
| Проверка кодов маркировок на сервере честного знака | По умолчанию Для корректной работы при включенной настройке необходимо задать токен для доступа к серверу системы "Честный знак". |
markVerifyCrptUrl | строковый | Url сервера проверки кодов маркировок честного знака | По умолчанию Можно указать несколько значений через запятую | |
markVerifyCrptTimeout | целочисленный | Таймаут обращения к серверу проверки кодов маркировок честного знака в секундах | По умолчанию 30 | |
markVerifyCrptRequestTimeout | строковый | Таймаут обращения к CDN-серверу честного знака Если не задан, то используется значение настройки markVerifyCrptTimeout | По умолчанию не задан | |
ignoreMarkVerifyCrptConnectionErrors | строковый |
| Игнорировать ошибки обращения к серверу честного знака | По умолчанию deny |
markVerifyCrptAskConfirmation | логический |
| Запросить подтверждение добавления товара при провале проверки маркировки | По умолчанию false |
[Moot] ... ; Проверка кодов маркировки на сервере честного знака ; По умолчанию false ;enableMarkVerifyCrpt = false ; Url сервера проверки кодов маркировки честного знака ; По умолчанию https://cdn.crpt.ru ;markVerifyCrptUrl = https://cdn.crpt.ru ; Таймаут обращения к серверу проверки кодов маркировки честного знака в секундах ; По умолчанию 30 ;markVerifyCrptTimeout = 30 ; Таймаут обращения к CDN-серверу честного знака ; Если не задан, то используется значение настройки markVerifyCrptTimeout ; По умолчанию не задан ;markVerifyCrptRequestTimeout = ; Игнорировать ошибки обращения к серверу честного знака ; По умолчанию deny ;ignoreMarkVerifyCrptConnectionErrors = deny ; Запросить подтверждение добавления товара при провале проверки маркировки ; По умолчанию false ;markVerifyCrptAskConfirmation = false ...
В кассовом ПО Artix реализована возможность авторизации по токену УОТ (участника оборота товаров) в системе цифровой маркировки "Честный знак". Данная возможность задается при помощи параметра xapikey
в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot
]:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
xapikey | строковый | Токен для доступа к серверу честного знака |
Использование токена вида С информацией о получении токена можно ознакомиться в Методических рекомендациях по разрешительному режиму. |
[Moot] ... ; Токен для доступа к серверу честного знака ; При использовании нескольких юрлиц задаются токены для отделов: ; xapikey = [<отдел1>:<токен1>],[<отдел2>.<отдел3>:<токен2>] ; При использовании одного юрлица токен задается для отдела -1 ; xapikey = [-1:<токен>] ;xapikey = ...
Если задан невалидный токен, то будет выведено уведомление "Честный знак: ошибка токена. Чеки будут сформированы некорректно".
Если при работе с несколькими юридическими лицами не задан токен хотя бы для одного из отделов, то будет выведено предупреждение "Честный знак: токен для проверки не найден. Товар не будет добавлен".
При использовании нескольких юрлиц выполняется перебор токенов для авторизации (начиная с последнего указанного токена в параметре xapikey
). Если после перебора всех токенов авторизация не выполнится, то получить доступ к серверу для проверки кодов маркировок будет невозможно.
После авторизации по токену УОТ (участника оборота товаров) в момент запуска кассы в системе цифровой маркировки "Честный знак" будет получен список CDN-площадок для осуществления проверки кодов маркировок.
CDN-площадка для проверки кодов маркировок выбирается в порядке приоритета в зависимости от среднего времени ответа, получаемого при запросе статуса CDN-площадок. Самый высокий приоритет имеет CDN-площадка с наименьшим средним временем ответа.
Если соединение с приоритетной CDN-площадкой было потеряно, то данная CDN-площадка будет недоступна для проверки кодов маркировок в течение 15 минут, проверка будет осуществляться в той CDN-площадке, которая следует далее по приоритету.
За время, заданное в markVerifyCrptTimeout
, выполняется перебор CDN-площадок с таймаутом, который указан в параметре markVerifyCrptRequestTimeout
. Если он задан и его значение меньше, чем markVerifyCrptTimeout
, то сначала ожидается ответ в течение времени markVerifyCrptRequestTimeout
. Если ответа нет, то время ожидания ограничивается с учетом разности между значениями параметров markVerifyCrptTimeout
и markVerifyCrptRequestTimeout
.
Для корректной работы рекомендуется устанавливать значение парамерта markVerifyCrptRequestTimeout
меньше, чем markVerifyCrptTimeout
. Если markVerifyCrptRequestTimeout
≥ markVerifyCrptTimeout
, то до истечения markVerifyCrptTimeout
будет ожидаться ответ от сервера системы "Честный знак" без перебора CDN-площадок.
markVerifyCrptRequestTimeout
= 20markVerifyCrptTimeout
= 30
- Если получен успешный ответ на запрос:
- При добавлении маркированного товара отправляется запрос на сервер системы "Честный знак".
- Ожидается ответ в течение
markVerifyCrptRequestTimeout
= 20 секунд. - Получен успешный ответ, дальнейший перебор не выполняется.
- Если время ожидания ответа от сервера превысило таймаут:
- При добавлении маркированного товара отправляется запрос на сервер системы "Честный знак".
- Ожидается ответ в течение
markVerifyCrptRequestTimeout
= 20 секунд. - Отправляется запрос по следующему адресу.
- Ожидается ответ 10 секунд, так как стоит ограничение
markVerifyCrptTimeout
.
- Если отсутствует связь во время отправки запроса на сервер:
- При добавлении маркированного товара отправляется запрос на сервер системы "Честный знак".
- Ожидается ответ в течение
markVerifyCrptRequestTimeout
= 20 секунд. - Ответ не получен, дальнейший перебор не выполняется.
Если в течение таймаута, заданного в настройке markVerifyCrptTimeout
, ни одна из CDN-площадок из списка не ответила или оказалась недоступна, то, в зависимости от значения параметра ignoreMarkVerifyCrptConnectionErrors
, товар может быть добавлен в чек без проверки кода маркировки.
Настройки получения информации о CDN-площадках осуществляются в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/crpt.ini
в секции [CRPT
]:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
getInfoTimeout | целочисленный | Таймаут получения списка CDN-площадок | По умолчанию 10 секунд |
healthCheckTimeout | целочисленный | Таймаут получения состояния CDN-площадки | По умолчанию 10 секунд |
[CRPT] ; Настройки взаимодействия с ЦРПТ ; Таймаут получения списка CDN-площадок ; по умолчанию 10 секунд ;getInfoTimeout = 10 ; Таймаут получения состояния CDN-площадки ; по умолчанию 10 секунд ;healthCheckTimeout = 10
Обработка статусов кода маркировки
При добавлении маркированных товаров в чек продажи на сервер системы "Честный знак" отправляется REST-запрос на получение статуса кода маркировки.
Статус кода маркировки | Поведение кассы при продаже по умолчанию |
---|---|
Товар с некорректным кодом маркировки | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Код маркировки некорректен" |
Товар с такой маркой не прошел проверку подлинности | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Код маркировки не прошел проверку крипто подписи" |
Товар не имеет признака нанесения марки на упаковку | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. У кода маркировки отсутствует признак нанесения на упаковку" |
Товар с такой маркой продан или снят с продажи | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Код маркировки не в обороте" |
Товар с такой маркой имеет истекший срок годности | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Товар с таким кодом маркировки просрочен" |
Код маркировки данного товара выведен из оборота | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Код маркировки выведен из оборота" |
Товар с таким кодом маркировки не найден | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Код маркировки не найден" |
Товар заблокирован одной из CDN-площадок | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Товар с таким кодом маркировки заблокирован "<CDN-площадкой>" |
Товар не принадлежит продавцу | Товар в чек не добавляется, на экран выводится ошибка "Ошибка проверки кода маркировки позиции <...>. Товар не принадлежит продавцу" |
В кассовом ПО Artix реализована возможность игнорировать конкретные статусы, получаемые при проверке кода маркировки на сервере системы "Честный знак".
markVerifyCrptAskConfirmation
.
Данное поведение задается при помощи параметров, соответствующих полученным статусам, в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/
moot.ini
в секции [Moot]
:
- при значении
deny
в случае возникновения ошибок на экран будет выведен диалог с сообщением об ошибке, после закрытия диалога товар не будет добавлен в чек, - при значении
ask
в случае возникновения ошибок на экран будет выведен диалог с сообщением об ошибке: по нажатию клавиши "Продолжить" товар добавляется в чек, по нажатию клавиши "Отмена" товар не будет добавлен в чек, - при значении
allow
статус игнорируется, товар будет добавлен в чек.
Наименование | Типа данных | Возможные значения | Описание | Примечание |
---|---|---|---|---|
ignoreCrptStatusValid | строковый |
| Игнорировать результат проверки валидности кода маркировки | По умолчанию deny |
ignoreCrptStatusVerified | строковый | Игнорировать результат проверки крипто подписи кода маркировки | ||
ignoreCrptStatusUtilised | строковый | Игнорировать признак нанесения кода маркировки на упаковку | ||
ignoreCrptStatusRealizable | строковый | Игнорировать признак возможности реализации кода маркировки | ||
ignoreCrptStatusExpireDate | строковый | Игнорировать срок годности | ||
ignoreCrptStatusSold | строковый | Игнорировать вывод из оборота | ||
ignoreCrptStatusIsBlocked | строковый | Игнорировать блокировку КМ | ||
ignoreCrptStatusFound | строковый | Игнорировать не найденный КМ | ||
ignoreCrptStatusIsOwner | строковый | Игнорировать признак принадлежности продавцу | По умолчанию По умолчанию разрешена продажа товаров, для которых от сервера системы "Честный знак" при проверке кода маркировки не получен статус принадлежности участнику оборота Cогласно законодательству, на текущий момент наличие признака принадлежности у товара необязательно. При необходимости можно запретить продажу таких товаров, задав для параметра значение |
[Moot] ... ; Игнорировать получаемые статусы кода маркировки при проверке на сервере честного знака ; Возможные значения: "deny" - запретить продажу товара, если сервер вернул неверный статус, ; "ask" - запросить подтверждение продажи у кассира, ; "allow" - всегда разрешать продажу товара, независимо от получаемого статуса ; По умолчанию "deny" ; Игнорировать результат проверки валидности КМ ;ignoreCrptStatusValid = deny ; Игнорировать результат проверки крипто подписи КМ ;ignoreCrptStatusVerified = deny ; Игнорировать признак нанесения КМ на упаковку ;ignoreCrptStatusUtilised = deny ; Игнорировать признак возможности реализации КМ ;ignoreCrptStatusRealizable = deny ; Игнорировать срок годности ;ignoreCrptStatusExpireDate = deny ; Игнорировать вывод из оборота ;ignoreCrptStatusSold = deny ; Игнорировать блокировку КМ ;ignoreCrptStatusIsBlocked = deny ; Игнорировать не найденный КМ ;ignoreCrptStatusFound = deny ; Игнорировать признак принадлежности продавцу ;ignoreCrptStatusIsOwner = allow ...
Отраслевые реквизиты
Отраслевые реквизиты передаются в ОФД только в чеках продажи. Их заполнение обязательно всеми участниками оборота для тех товарных групп, которые подлежат обязательной проверке в системе цифровой маркировки "Честный знак".
Настройки отраслевых реквизитов задаются в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini
в секции [Moot
]:
Наименование | Тип данных | Описание | Примечания |
---|---|---|---|
foiv | строковый | Отраслевой реквизит: идентификатор ФОИВ | По умолчанию Указывается идентификатор ФОИВ. Идентификатор ФОИВ – это идентификатор федерального органа исполнительной власти. На текущий момент, согласно Постановлению Правительства Российской Федерации от 21.11.2023 № 1944, федеральный орган исполнительной власти – Министерство промышленности и торговли Российской Федерации. Соответственно параметр Реквизит передается в теге 1262 |
documentDate | строковый | Отраслевой реквизит: дата документа основания (дд.мм.гггг) | По умолчанию Указывается дата документа основания. На текущий момент документ основания – это Постановление Правительства Российской Федерации от 21.11.2023 № 1944, соответственно дата документа основания – 21.11.2023 .Реквизит передается в теге 1263 |
documentNumber | строковый | Отраслевой реквизит: номер документа основания | По умолчанию Указывается номер документа основания. На текущий момент документ основания – это Постановление Правительства Российской Федерации от 21.11.2023 № 1944, соответственно номер документа основания – 1944 .Реквизит передается в теге 1264 |
[Moot] ... ; Отраслевой реквизит: идентификатор ФОИВ ; По умолчанию "030" ;foiv = 030 ; Отраслевой реквизит: дата документа основания (дд.мм.гггг) ; По умолчанию "21.11.2023" ;documentDate = 21.11.2023 ; Отраслевой реквизит: номер документа основания ; По умолчанию "1944" ;documentNumber = 1944 ...
Если один из параметров foiv
, documentDate
, documentNumber
пуст, то будет выведено уведомление "Честный знак: ошибка в отраслевых реквизитах. Чеки будут сформированы некорректно".
По результатам проверки в системе цифровой маркировки "Честный знак" формируется отраслевой реквизит вида "UUID=<reqId>&Time=<reqTimestamp>
", который передается в ОФД в теге 1265.
Значения атрибутов подставляются из ответа от сервера системы цифровой маркировки "Честный знак":
reqId=2ce10bdb-6510-4d37-be04-dd473b98c728
,reqTimestamp=1692691702065
.