You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Начиная с версии 4.6.145 добавлена возможность возврата обувных товаров по чеку продажи на другой кассе.

ИС МООТ (Информационная система маркировки и мониторинга оборота обувных товаров) создана с целью информационного обеспечения маркировки товаров средствами идентификации и мониторинга оборота обувных товаров.

Система маркировки обувных товаров охватывает все этапы оборота товара: от производителя до потребителя. На каждом шаге код маркировки обувного товара проверяется.

Для контроля обувных товаров используется двумерный штрих-код Data Matrix, наносимый на потребительскую упаковку, товар или товарный ярлык. Data Matrix содержит в себе сведения о штрих-коде товара и коде идентификации.

Конфигурирование модуля

Модуль МООТ активируется параметром moot в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [plugins].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
mootлогический
  • on
  • off
Активация модуля МООТПо умолчанию off
Пример настройки
[plugins]
; Мониторинг оборота обувных товаров (обуви)
moot = off

Настройка модуля МООТ производится в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [Moot].

Маска для проверки кода маркировки обувных товаров задается настройкой dataMatrixMask.

НаименованиеТип данныхОписаниеПримечания
dataMatrixMaskстроковыйМаска для проверки Data Matrix обувных товаров

По умолчанию "01\d{14}21.{13}(240[a-zA-Z0-9]{4}|\s+){0,1}91.{4}92.{88}"

Пример настройки
[Moot]
; Настройки плагина мониторинга оборота обувных товаров(обуви)
; Маска для проверки DataMatrix обуви
; По умолчанию 01\d{14}21.{13}(240[a-zA-Z0-9]{4}|\s+){0,1}91.{4}92.{88}
;dataMatrixMask=01\d{14}21.{13}(240[a-zA-Z0-9]{4}|\s+){0,1}91.{4}92.{88}

Продажа обувных товаров

Добавление обувных товаров

Для определения обувного товара у товара должен быть установлен признак op_mode = 65536 (БД Dictionaries таблица tmc). При добавлении товара требуется считывание кода маркировки товара.

Добавление в чек товара с кодом маркировки осуществляется двумя способами:

  • последовательным сканированием штрих-кода/кода/артикула товара и кода маркировки,
  • сканированием кода маркировки (код маркировки содержит в себе данные штрих-кода, поэтому сканировать штрих-код не требуется) - настраивается с помощью правил разбора штрих-кода.

Так как код маркировки представляет собой уникальный код, то в товарной позиции может быть не более 1 единицы товара. Применение модификатора "Изменение количества" к позиции с обувным товаром запрещено.

Добавление в чек обувных товаров, как обычных (без ввода кода маркировки), определяется параметром addWithoutScanMark в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [Moot]

  • при значении true при добавлении товара в чек на экран будет выведен диалог сканирования кода маркировки, в котором есть возможность добавить обувь без маркировки;
  • при значении false при добавлении товара в чек на экран будет выведен диалог сканирования кода маркировки.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
addWithoutScanMarkлогический
  • true
  • false
Добавлять обувь в чек без ввода кода маркировкиПо умолчанию false
Пример настройки
[Moot]
; Настройки плагина мониторинга оборота обувных товаров(обуви)
...
; Добавлять обувь в чек без ввода кода маркировки
; По умолчанию false
;addWithoutScanMark = false

Удаление обувных товаров

При сторнировании обувных товаров требуется считывание кода маркировки товара. После сканирования кода маркировки из чека удаляется именно та позиция, данные которой были считаны, независимо от того, какая позиция была выделена при операции сторнирования. При сторнировании всего чека, содержащего обувные товары, операция выполняется без считывания кодов маркировки.

Возврат обувных товаров

Способ возврата обувных товаров в торговую сеть определяется наличием кода маркировки, с которым он был продан:

  • если код маркировки присутствует, то возврат обуви осуществляется с использованием режимов возврата и возврата по чеку продажи;
  • если код маркировки не сохранился, то возврат обуви может быть осуществлен без сканирования кода маркировки в режиме возврата по чеку продажи.

При возврате по чеку продажи позицию для возврата можно выбрать одним из способов:

  • выбрав товар из списка в режиме выбора позиций для возврата и считав код маркировки товара;
  • выбрав товар из списка в режиме выбора позиций для возврата и нажав "без маркировки" в диалоге считывания кода маркировки;
  • считав код маркировки товара.

Если обувной товар был возвращен на другой кассе, то невозможна повторная продажа этого товара на кассе, на которой он был продан изначально.

Если при добавлении обувного товара в чек возврата по чеку продажи код маркировки не использовался, то при сторнировании данной позиции не будет требоваться считывание кода маркировки.

Проверка кодов маркировки обувных товаров

Регламент работы по проверке кодов маркировки при продаже и возврате по чеку продажи обувных товаров определяется структурой торговой сети. Проверка кодов маркировки предполагает:

  • проверку на факт продажи/возврата обувных товаров (в БД кассовой программы),
  • проверку статуса кода маркировки на кассовом сервере,
  • проверку кода маркировки в "белом" списке на сервере.
Проверка статуса кода маркировки и его наличия в списке кодов маркировки, разрешенных к продаже, на кассовом сервере при использовании режима возврата не осуществляется.

Проверка кода маркировки в проданной продукции на кассе задается параметром checkLocalUniqueness в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [Moot]:

  • при значении параметра true осуществляется проверка в БД Documents в таблице goodsitem на возможность продажи/возврата обувных товаров:
    • если код маркировки был продан/возвращен ранее, то при попытке продать/вернуть товар на экран выводится сообщение об ошибке "Код маркировки уже был зарегистрирован ранее", товар в чек не добавляется;
    • если код маркировки не был продан/возвращен ранее, то товар добавляется в чек.
  • при значении параметра false проверка кода маркировки в проданной продукции не осуществляется.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
checkLocalUniquenessлогический
  • true
  • false
Проверять уникальность маркировки локальноПо умолчанию true
Пример настройки
[Moot]
; Настройки плагина мониторинга оборота обувных товаров(обуви)
...
; Проверять уникальность маркировки локально
; По умолчанию true
;checkLocalUniqueness = true

Структура сети с кассовыми серверами

Структура сети с кассовыми серверами позволяет осуществлять контроль:

  • дублей кодов маркировки (запрет повторной продажи/возврата одного и того же обувного товара),
  • разрешенных к продаже кодов маркировки (запрет продажи/возврата товаров, коды маркировки которых не были внесены в "белый" список).

Настройки подключения к кассовому серверу задаются в конфигурационном файле /linuxcash/cash/conf/ncash.ini.d/moot.ini в секции [Moot]:

НаименованиеТип данныхВозможные значенияОписаниеПримечания
enableMarkVerifyлогический
  • true
  • false
Проверка кодов маркировки на сервереПо умолчанию false.
markVerifyUrlстроковый
Url сервера проверки кодов маркировки

По умолчанию http://localhost:8080.

Для работы с КС используется следующий url "http://<host>:<port>/CSrest/rest/sales/exciseMark/status".

markVerifyTimeoutстроковый
Таймаут обращения к серверу проверки кодов маркировки в секундахПо умолчанию 30.
ignoreMarkVerifyErrorsлогический
  • true
  • false
Игнорировать ошибки обращения к серверу проверки кодов маркировкиПо умолчанию true.
skipCheckExciseMarkлогический
  • true
  • false
Игнорировать проверку АМ при возврате по чеку (для онлайн-чеков при некорректных АМ)По умолчанию 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 в случае возникновения ошибок при проверке кода маркировки на кассовом сервере продажа/возврат товара не может быть выполнена.

При добавлении обувных товаров в чек продажи на кассовый сервер отправляется REST-запрос на получение статуса кода маркировки. Дальнейшее поведение программы определяется полученным статусом.

Статус кода маркировкиПоведение кассы при продаже
Марка не зарегистрирована в БДТовар с акцизной маркой добавляется в чек и может быть продан.
Товар с такой маркой проданТовар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был продан".
Товар с такой маркой возвращенТовар добавлен в чек и может быть продан.
Марка зарезервирована в чеке продажиТовар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован".
Марка снята с резерва в чеке продажиТовар добавляется в чек и может быть продан.
Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи)Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был зарезервирован".
Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи)Товар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой уже был продан".
Акцизная марка отсутствует в списке разрешенных к продажеТовар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже".
Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не переданТовар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не заполнен штрих-код для проверки в белом списке".
Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найденоТовар в чек не добавляется, на экран выводится ошибка "Товар с такой акцизной маркой запрещен к продаже. Не найдено соответствие акцизной марки и штрих-кода в белом списке".
Неизвестный статус акцизной маркиТовар в чек не добавляется, на экран выводится ошибка "Неизвестный статус акцизной марки на сервере".

После добавления товара в чек продажи/возврата по чеку продажи код маркировки ставится в резерв на кассовом сервере.

Изменение статуса кода маркировки на кассовом сервере в зависимости от операции выполняется:

  • в режиме онлайн (по REST-запросу) - резервирование кода маркировки;
  • в режиме оффлайн (через очередь Artix-Queue) - снятие с резерва кода маркировки (сторнирование), после закрытия чека перевод в статус "продан", "возвращен".
  • No labels