Skip to end of metadata
Go to start of metadata

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

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

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

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

Начиная с версии 4.6.54 реализована возможность проверки штрих-кода акцизной марки при продаже и возврате алкогольной продукции в рамках магазина или торговой сети.

Начиная с версии 4.6.57 добавлено резервирование акцизных марок на кассовом сервере.

Начиная с версии 4.6.61 акцизные марки дополнительно проверяются в справочнике акцизных марок, разрешенных к продаже.

Начиная с версии 4.6.64 при добавлении акцизного алкоголя в чек продажи проверяется наличие соответствующих ему алкокодов на кассовом сервере.

Начиная с версии 4.6.65 при сторнировании чека с несколькими акцизными марками на сервер отправляется один запрос со списком акцизных марок.

Начиная с версии 4.6.66 при добавлении акцизного алкоголя в чек продажи проверяется наличие товара на остатке.

Начиная с версии 4.6.68 перед закрытием документа, содержащего акцизный алкоголь, осуществляется проверка подлинности акцизной марки на сервере ЕГАИС.

Начиная с версии 4.6.82 добавлена передача в ЕГАИС в реквизитах чека номера фискального накопителя и номера фискального документа.

Начиная с версии 4.6.83-4 реализована возможность выбора реквизитов в качестве кода кассы и номера документа для отправки в ЕГАИС.

Начиная с версии 4.6.97 реализована возможность добавления акцизного алкоголя в чек по считыванию штрих-кода акцизной марки.

Начиная с версии 4.6.100 изменен размер и маска ввода для акцизной марки.

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

Конфигурирование модуля ЕГАИС

Обращение к серверам ЕГАИС для передачи информации об обороте алкогольной продукции осуществляется через транспортный модуль.

Icon
Перед подключением модуля необходимо убедиться в доступности транспортного модуля.

Подключение транспортного модуля Egais возможно при наличии идентификатора модуля, данных о размещении плагина и других параметрах. Для указания параметров транспортного модуля необходимо создать файл с расширением .xml, например, egais.xml, в директории /linuxcash/cash/conf/plugins.

НаименованиеТип данныхВозможные значенияОписаниеПримечания
idстроковый

Egais

Уникальное наименование модуля

 
pluginстроковый/linuxcash/cash/plugins/libEgais.so

Полный путь до плагина

 
addressстроковый

 

Url транспортного модуля ЕГАИС, используемый для продажи и возврата акцизной алкогольной продукции 
addressNonExciseстроковый Url транспортного модуля ЕГАИС, используемый для продажи и возврата алкогольной продукции без акцизной марки 
timeoutцелочисленныйЦелое положительное числоТаймаут ожидания ответа от сервера в секундахПо умолчанию 30 секунд
Пример настройки

Настройка кассы

Настройка модуля ЕГАИС

Параметры взаимодействия с модулем УТМ задаются в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [EGAIS].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
enableлогический
  • true
  • false
Включение проверки ЕГАИСПо умолчанию false
barcodeMaskстроковый Маска для проверки штрих-кода акцизной маркиПо умолчанию "\d\d[a-zA-Z0-9]{21}\d[0-1]\d[0-3]\d{10}[a-zA-Z0-9]{31}|[a-zA-Z0-9]{150}"

enableAdditionalBarcode

логический
  • true
  • false

Включить сканирование дополнительного штрих-кода DataMatrix акцизной марки

По умолчанию false

additionalBarcodeMask

строковый 

Маска для проверки дополнительного штрих-кода DataMatrix акцизной марки

По умолчанию "^(1[0-9]{2}-[0-9]{30}|2[0-9]{2}-[0-9]{29}|0000000)$"

checkAlcoCode

логический
  • true
  • false
Включить проверку алкокода акцизной марки в БД кассыПо умолчанию false
sendFnInfoлогический
  • true
  • false
Отправлять в качестве номеров документа и кассы значения фискального документа и номера ФНПо умолчанию true
useExciseMarkInInventoryлогический
  • true
  • false
Запрашивать считывание акцизной марки при инвентаризации акцизной продукцииПо умолчанию false
Пример настройки

Использование УТМ активируется параметром enable:

  • при значении true модуль ЕГАИС включен;
  • при значении false модуль ЕГАИС отключен.

При добавлении и сканировании алкогольных товаров помимо штрих-кода товара (EAN13) обязательно сканирование акцизной марки (PDF417), маска которой указывается в параметре barcodeMask.

Icon
Ручной ввод данных акцизной марки запрещен, данные необходимо вводить только сканером.

В целях дополнительного контроля может быть использован дополнительный штрих-код акцизной марки (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.N] (где N - номер по порядку), в которой указываются правила поведения. Возможность выделения параметра в отдельную секцию указана в таблице:

Наименование настройкиСтатус

enable

общая
sendFnInfo
useExciseMarkInInventory

sendEgaisBeforeCashlessPayment

useSerialNumber
barcodeMask индивидуальная








enableAdditionalBarcode 
additionalBarcodeMask 
checkAlcoCode 
checkTmcAlcoCode
enableExciseMarkVerifyLocal 
enableExciseMarkVerify 
exciseMarkVerifyUrl 
exciseMarkVerifyTimeout 
ignoreExciseMarkVerifyErrors 

По умолчанию все настройки размещены в секции [EGAIS]. При необходимости все или часть индивидуальных настроек можно вынести в отдельную секцию [EGAIS.N]. Если в секции [EGAIS.N] указана только часть индивидуальных настроек, то для остальных настроек будет использовано значение по умолчанию.

В отдельной секции обязательно должна быть указана маска акцизной марки, для которой задаются настройки.

Пример разделения настроек приведен ниже:

Пример

Параметры торгового объекта

При обращении к транспортному модулю ЕГАИС касса передает дополнительные параметры для идентификации торгового объекта: ИНН, КПП, адрес, наименование. Параметры идентификации торгового объекта задаются в БД или конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [Shop].

При загрузке кассы значение innkppaddress транспортный модуль ЕГАИС получает из базы данных кассы, при их отсутствии данные берутся из файла ncash.ini:

  • при продаже алкогольной продукции через 1 транспортный модуль атрибуты магазина могут быть заданы на кассе или на КС;
  • при продаже алкогольных товаров через 2 УТМ атрибуты магазина задаются только на КС.
НаименованиеТип данныхВозможные значенияОписаниеПримечания
innстроковый

 

ИНН торгового объекта 
kppстроковый

 

КПП торгового объекта 
addressстроковый Адрес торгового объекта 
nameстроковый Наименование торгового объекта 
Пример настройки

Печать информации из ЕГАИС на чеке выполняется на основании шаблона egais.xml. 

Блок печати информации из ЕГАИС

Продажа алкогольной продукции

При формировании чека для отправки в ЕГАИС указывается дата и время добавления первой алкогольной позиции.

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

Товары с акцизной маркой

Для регистрации продажи алкогольного товара с акцизной маркой в ЕГАИС в свойствах товара устанавливается признак "Необходима регистрация в ЕГАИС". Опционально для алкогольной продукции указывается объем. Указание данных признаков поддерживают форматы AIF и дополнение формата Штрих-М.

Icon
Продажа акцизной алкогольной продукции, имеющей минимальную цену, равную 0, может быть запрещена или разрешена. Подробнее о запрете продажи алкогольной продукции можно прочитать в разделе "Цена товара".

Каждая акцизная марка имеет уникальный двумерный штрих-код, поэтому количество товаров с акцизной маркой в товарной позиции изменять нельзя, оно может равняться только 1 при выполнении любых кассовых операций.

Добавление акцизного алкоголя

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

  1. Последовательным сканированием штрих-кода товара и штрих-кода акцизной марки.
  2. Сканированием штрих-кода акцизной марки (настраивается с помощью правил разбора штрих-кода). При добавлении товара проверяется наличие акцизной марки в "белом" списке:
    • если акцизная марка разрешена к продаже, то товар добавится в чек;
    • если акцизная марка не найдена в списке, то на экран будет выведена ошибка "По акцизной марке товар не найден. Сканируйте штрих-код", товар в чек не добавится. Товар можно добавить в чек по последовательному считыванию штрих-кода товара и штрих-кода акцизной марки.
  3. Последовательным сканированием штрих-кода товара и вводом серийного номера акцизной марки, если штрих-код акцизной марки поврежден.

Возможность добавления алкогольной продукции по серийному номеру в чек задается параметром useSerialNumber в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [EGAIS]:

  • при значении параметра true в диалоге сканирования акцизной марки будет осуществлена возможность добавления алкогольной продукции по серийному номеру;
  • при значении параметра false при добавлении товара в чек на экран будет выведен диалог сканирования акцизной марки.
Icon

Серийный номер акцизной марки содержит серию (3 цифры) и номер (8 цифр). Ввод серийного номера осуществляется без пробелов, в поле ввода серия и номер визуально разделены на секции.

При вводе серийного номера происходит запрос к БД Dictionaries таблице Excisemarkwhite для осуществления поиска акцизной марки по серийному номеру и типу акцизной марки "ALCOHOL":

  • если марка найдена, то в чек добавляется первый найденный товар по введенному серийному номеру;
  • если марка не найдена, то на экран будет выведено диалоговое окно "Акцизная марка не найдена. Введите серийный номер акцизной марки". Товар не будет добавлен в чек при отказе от операции.

Кассовое ПО Artix позволяет запрещать добавление алкогольной продукции в чек последовательным сканированием штрих-кода товара и штрих-кода акцизной марки. Способ добавления алкоголя в чек, определяется параметром addAlcoholOnlyByExciseMark, который задается в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [EGAIS]:

  • при значении параметра true добавление алкогольных товаров в чек может быть осуществлено только сканированием штрих-кода акцизной марки. При добавлении алкоголя последовательным сканированием штрих-кода товара и штрих-кода акцизной марки на экран будет выведено предупреждение "Алкоголь разрешено добавлять только по акцизной марке".
  • при значении параметра false добавление алкогольных товаров в чек может быть осуществлено любым способом, описанным выше. 
НаименованиеТип данныхВозможные значенияОписаниеПримечания

useSerialNumber

логический
  • true
  • false
Использовать серийный номер для получения акцизной марки из БДПо умолчанию false
addAlcoholOnlyByExciseMarkлогический
  • true
  • false
Добавлять алкоголь только по акцизной маркеПо умолчанию false
Пример настройки

Добавление акцизного товара другими способами (по коду, по наименованию, с помощью горячих клавиш) запрещено.

Icon

При быстром сканировании штрих-кода товара и штрих-кода акцизной марки возможно их объединение ("слипание"), чтобы этого избежать необходимо в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [HW.KEYBOARD] для параметра separateCodes установить значение true. Получившиеся части будут введены последовательно.

Удаление акцизного алкоголя

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

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

Товары без акцизной марки

Начиная с версии 4.6.34 реализована продажа алкогольных товаров без акцизной марки ("пивной" чек).

В целях организации электронного журнала учета алкогольной продукции обеспечена возможность формировать и отправлять в ЕГАИС данные об алкогольной продукции, не имеющей акцизную марку. Данные чека при закрытии передаются на сервер ЕГАИС отдельным запросом. Результаты запроса к серверу ЕГАИС сохраняются в БД и на печать не выводятся.

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

В реквизитах алкогольного товара без акцизной марки обязательно указывается код вида алкогольной продукции, а также устанавливается признак алкогольного товара без акцизной марки. Установку свойств алкогольного товара без акцизной марки поддерживает формат AIF и дополнение формата Штрих-М. Если обязательное поле код вида алкогольной продукции не заполнено, то при добавлении товара на экран выводится сообщение "Ошибка добавления алкоголя в чек. Не заполнены обязательные поля товара".

Отсутствие акцизной марки позволяет не контролировать каждую единицу продукции, поэтому к алкогольным товарам без акцизной марки разрешено применение модификатора "Количество товара".

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

Продажа алкогольной продукции в кластерном режиме

Начиная с версии 4.6.120 реализован поиск алкогольной продукции в БД кассового сервера с учетом кластера.

При использовании кластерного режима возникает необходимость проверки акцизной марки отдельно для каждого из клиентов, подключенных к кассовому серверу. В этом случае при запросе статуса акцизной марки касса отправляет на кассовый сервер запрос, включающий идентификатор кластера. При подключении к кассовому серверу в файле настроек sync-агента /linuxcash/cash/sync/properties/cash.ini устанавливается ID кластера.

Подтверждение продажи алкогольной продукции

Для подтверждения продажи алкогольной продукции осуществляется обращение к УТМ и выполняется регистрация продажи в ЕГАИС. Порядок отправки данных в ЕГАИС и проведение оплаты чека определяется типом оплаты:

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

Порядок отправки данных в ЕГАИС при оплате по безналу определяется параметром sendEgaisBeforeCashlessPayment в конфигурационном файле /linuxcash/cash/conf/ncash.ini в секции [EGAIS]:

  • при значении параметра true факт продажи алкогольной продукции будет направлен в ЕГАИС до проведения безналичной оплаты;
  • при значении параметра false факт продажи алкоголя направляется в ЕГАИС после проведения безналичной оплаты. Значение по умолчанию. При добавлением оплаты чека через банковский терминал осуществляется дополнительная проверка доступа к транспортному модулю с целью снижения рисков возникновения ситуации, при которой после оплаты пропадает связь с сервером ЕГАИС. 
НаименованиеТип данныхВозможные значенияОписаниеПримечания

sendEgaisBeforeCashlessPayment

логический
  • true
  • false
Отправлять чек в ЕГАИС перед проведением безналичной оплатыПо умолчанию false
Пример настройки

В случае успешной проверки на чековой ленте печатается URL и цифровая подпись (QR-код). 

Согласно приказу Федеральной службы по регулированию алкогольного рынка от 01.02.2018 № 30 "О перечнях сведений, содержащихся в штрих-коде документа, предоставляемого покупателю, о факте фиксации информации о розничной продаже алкогольной продукции в единой государственной автоматизированной информационной системе учета объема производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции" Росалкогольрегулирование считает возможным не наносить отдельного штрих-кода в рамках введения системы ЕГАИС и использовать единый штрих-код для ЕГАИС и ККТ. Проверка факта фиксации розничной продажи по единому штрих-коду, будет успешно осуществляться в прежнем режиме через мобильное приложение Росалкогольрегулирования «Антиконтрафакт Алко».

Для отключения печати квитанции при продаже товаров, проходящих проверку ЕГАИС, необходимо удалить шаблон квитанции egais.xml из директории /linuxcash/cash/reports.

При продаже алкоголя возможны следующие ошибки при отправке данных в ЕГАИС:

  • в случае недоступности транспортного модуля на экран кассира выводится сообщение "Сервер ЕГАИС недоступен. Сторнируйте алкогольную продукцию";
  • если акцизная марка товара не прошла проверку, то на экран кассира выводится сообщение "Акцизная марка не прошла проверку ЕГАИС. Сторнируйте алкогольную продукцию с акцизной маркой". Такой товар не может быть реализован (возвращен).

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

При добавлении в чек алкогольного товара, у которого не указан один из обязательных параметров, на экран будет выведено сообщение "Ошибка добавления алкоголя в чек. Не заполнены обязательные поля товара". Такой товар нельзя добавить в чек.

В случае возникновения ошибок при:

  • оплате;
  • регистрации продажи в фискальном регистраторе;
  • закрытии чека и других ошибках отмена продажи в ЕГАИС не отправляется. Чек может быть закрыт после исправления ошибки. 

Отмена продажи в ЕГАИС отправляется при:

  • сторнировании одной или нескольких алкогольных позиций;
  • добавлении новой товарной позиции с акцизным алкоголем в режиме формирования (если чек продажи был ранее отправлен в УТМ). 

Отмена в ЕГАИС регистрируется как возврат.

Пример

Пусть имеется чек продажи:

  1. Водка "Петр 1"
  2. Вино "Сладость лозы"

Перед осуществлением безналичной оплаты чек продажи с 2-мя позициями акцизного алкоголя был отправлен в УТМ. При оплате обнаружилась недостача средств на банковской карте.

После закрытия ошибки оплаты пользователь переходит в режим формирования документа продажи и сторнирует позицию Водка "Петр 1". В УТМ отправляется отмена операции (чек возврата).

При переходе в подитог перед повторной оплатой по безналу в УТМ отправляется чек продажи только с позицией Вино "Сладость лозы".

В случае, если УТМ уже обработал отправленный ранее чек возврата, то чек продажи может быть закрыт. Если чек возврата в УТМ еще не обработан, то необходимо дождаться обработки сообщений в очереди УТМ.

Примечание: обработка сообщений в очереди осуществляется в течение 2 минут.

Возврат алкогольной продукции

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

  1. При возврате товара в режиме "Возврат".
  2. При возврате по чеку продажи.
Icon

Возврат алкогольной продукции по чеку продажи на другой кассе запрещен.

Icon

Алкогольные товары с акцизной маркой не могут быть возвращены в режиме "Возврат по чеку продажи", если отключена форма выбора товаров для возврата, так как для возврата требуется сканирование штрих-кода акцизной марки каждой единицы товара. В этом случае при переходе к формированию чека возврата товары с акцизной маркой удаляются из чека.

Выбор позиций для возврата алкогольных товаров с акцизной маркой осуществляется тремя способами:

  1. Вручную при помощи клавиатуры (клавиши навигации, Enter) с последующим считыванием штрих-кода или ввода серийного номера акцизной марки.
  2. Считыванием штрих-кода товара с последующим считыванием штрих-кода или ввода серийного номера акцизной марки.
  3. Считыванием двумерного штрих-кода акцизной марки.
Icon

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

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

Проверка акцизных марок

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

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

В соответствии с устройством сети проверка акцизных марок может быть выполнена:

  • на кассе и на сервере - для больших сетей, включающих N-е количество магазинов под управлением кассового сервера;
  • на кассе - для небольших торговых объектов, не оборудованные кассовыми серверами.

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

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

Возможность дополнительной проверки акцизных марок может быть настроена в соответствии с описанием ниже.

Структура сети без кассовых серверов (только кассы)

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

Проверка акцизных марок в "белом" списке в БД кассовой программы задается параметром 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 и акцизная марка найдена в "белом" списке, то проверка соответствия кода товара и алкокода не выполняется;
    • если enableExciseMarkVerifyLocal = true и акцизная марка не найдена в "белом" списке, то выполняется проверка соответствия кода товара и алкокода;
  • при значении параметра false проверка соответствия кода товара и алкокода выполняться не будет.

В таблице tmcalcocode одному коду товара может соответствовать несколько алкокодов.

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

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

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

Проверка регистрации акцизных марок при продаже/возврате производится по умолчанию в рамках всех смен, данные о которых хранятся на кассе. Кассовое ПО позволяет дополнительно осуществлять контроль продажи/возврата акцизного алкоголя в рамках магазина или торговой сети. Информация о зарегистрированных ранее акцизных марках хранится на сервере торгового предприятия. Проверка акцизных марок на сервере задается при помощи параметра enableExciseMarkVerify:

  • при значении параметра true осуществляется проверка зарегистрированных акцизных марок на сервере;
  • при значении параметра false контроль акцизных марок в рамках магазина (торговой сети) не производится.

Для проверки акцизных марок на всех кассах магазина (торговой сети) необходимо задать параметры подключения к серверу:

  • url сервера, где хранятся данные об акцизных марках, - exciseMarkVerifyUrl;
  • таймаут подключения к серверу - exciseMarkVerifyTimeout.

Настройками программы можно разрешать или запрещать продажу/возврат акцизного алкоголя при возникновении ошибок обращения к серверу. Возможность игнорирования возникающих ошибок определяется параметром ignoreExciseMarkVerifyErrors:

  • при значении параметра true в случае возникновения ошибок подключения к серверу они игнорируются, продажа/возврат акцизного алкоголя осуществляется без проверки акцизной марки на сервере;
  • при значении параметра false в случае возникновения ошибок подключения к серверу продажа товара не может быть выполнена. На экран кассира выводится сообщение о том, что акцизная марка не может быть проверена.

Параметры проверки статусов акцизных марок и их резервирования задаются в секции EGAIS конфигурационного файла /linuxcash/cash/conf/ncash.ini.

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

URL сервера проверки акцизных марок

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

В случае размещения кассового сервера на мощностях Artix в качестве url используется значение http://<host>:8080/CSrest/rest/sales/exciseMark/status, где <host> - ip адрес кассового сервера.

При наличии собственного кассового сервера в качестве url необходимо использовать адрес на кассовом сервере до REST сервиса.

exciseMarkVerifyTimeout числовой 

Таймаут обращения к серверу проверки акцизных марок в секундах

По умолчанию 30 секунд
ignoreExciseMarkVerifyErrors логический
  • true
  • false

Игнорировать ошибки обращения к серверу проверки акцизных марок

По умолчанию true
Пример настройки

Статус акцизной марки может принимать следующие значения: 

  • 0 - Марка не зарегистрирована в БД;
  • 1 - Товар с такой маркой продан;
  • 2 - Товар с такой маркой возвращен;
  • 3 - Марка зарезервирована в чеке продажи;
  • 4 - Марка снята с резерва в чеке продажи;
  • 5 - Марка зарезервирована в чеке возврата (чеке возврата по чеку продажи);
  • 6 - Марка снята с резерва в чеке возврата (чеке возврата по чеку продажи);
  • 7 - Акцизная марка отсутствует в списке разрешенных к продаже;
  • 8 - Связка кода и алкокода товара отсутствует;
  • 9 - Товар отсутствует на остатке;
  • 10 - Штрих-код для проверки в списке акцизных марок, разрешенных к продаже, не передан;
  • 11 - Соответствие акцизной марки и штрих-кода в списке акцизных марок, разрешенных к продаже, не найдено;
  • 12 - Магазин для проверки остатков не найден;
  • 13 - Штрих-код для проверки остатков не заполнен;
  • 14 - Код товара для проверки остатков не заполнен;
  • 15 - Справочник остатков для товара, по которому проверяем остатки, заполнен не корректно;
  • Любое другое значение - неизвестный статус акцизной марки.
Icon

При получении неизвестного статуса акцизной марки проверяется наличие сообщения об ошибке в ответе от сервера:

  • если сообщение присутствует, то на экран выводится ошибка с текстом из сообщения:

    Пример

    Ответ от сервера: [{"status": 20, "message": "Товар был продан в другом магазине", "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERRRRIOPQ"}]

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

  • если сообщение отсутствует, то на экран выводится ошибка "Неизвестный статус акцизной марки на сервере".

    Пример

    Ответ от сервера: [{"status": 16, "exciseMarkId": "12QWERTYUIOPLKJHGFDSAZX11111234567890QWERTYUIOPQWERTYUIOPQWERRRRIOPQ"}]

    На экран выводится ошибка: "Неизвестный статус акцизной марки на сервере".

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

Процесс проверки акцизных марок

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

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

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

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

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

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

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

  • в режиме онлайн (по REST-запросу) - резервирование / снятие с резерва акцизной марки;
  • в режиме оффлайн (после закрытия чека через artix-queue) - перевод в статус "продана", "возвращена" (начиная с версии 4.6.96).
Icon

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

Поведение на кассе

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

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

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

Если на кассе установлена версия ПО ниже 4.6.96 , то для того чтобы статус резервной марки изменялся после закрытия чек необходимо осуществлять выгрузку продаж после закрытия каждого чека. Для этого необходимо на событие "Действие после закрытия документа" назначить макрос "Выгрузка текущих продаж" с параметром "Выгрузка продаж на КС". Подробнее о задании макросов можно прочитать в разделе "События и макросы".