В процессе работы в рабочем месте кассира (РМК) конфигурации «1С:Розница» пользователи нередко сталкиваются с ситуацией, когда система позволяет добавить марку от одного вида алкоголя (например, вина) в позицию чека, соответствующую совершенно другому товару (например, водке). Это происходит в момент, когда программа запрашивает сканирование акцизной марки после считывания штрихкода EAN-13. Если кассир по ошибке или умышленно отсканирует марку с другой бутылки, система в старых релизах может принять её без проверки на соответствие номенклатуре. Рассмотрим подробно, почему это происходит и как настроить систему для исключения подобных ошибок.
Для начала разберем механизм работы «1С:Розница» версии 2.2.7 и ниже. В этот период интеграция с ЕГАИС в основном опиралась на партионный учет. Процесс продажи выглядел следующим образом: кассир сканирует линейный штрихкод (EAN-13), программа находит товар в справочнике Номенклатура и, понимая, что товар подакцизный, открывает модальное окно для ввода марки. В этом окне ожидается получение данных в формате PDF417 или DataMatrix.
Проблема заключалась в том, что в окне «Множественного ввода марок» алгоритм проверки зачастую ограничивался лишь проверкой формата самой марки (ее длины и структуры), но не сверял алкокод, зашитый в марке, с алкокодом, привязанным к карточке номенклатуры. В результате система «проглатывала» любую валидную марку, увеличивая количество в уже выбранной строке чека. Проанализируем ситуацию: если мы продаем водку, а сканируем марку вина, программа просто фиксирует факт продажи «какой-то» единицы алкоголя, что ведет к серьезным нарушениям в отчетности ЕГАИС и потенциальным штрафам.
Выясним причину, по которой обновление является приоритетным способом решения. Начиная с релизов 2.2.8 и 2.2.9, фирма «1С» кардинально переработала механизмы взаимодействия с ЕГАИС, внедрив полноценную поддержку ЕГАИС 3.0 (поштучный учет). Рассмотрим основные изменения:
ШтрихкодыУпаковок, система просто не позволит подставить её под другой товар.Для реализации этого функционала необходимо убедиться, что в настройках интеграции с ЕГАИС включен флаг «Вести поштучный учет» и заполнена база сопоставления номенклатуры и алкогольной продукции ЕГАИС.
Рассмотрим способ, который значительно упрощает работу кассира и минимизирует риск ошибки. Вместо последовательности «Штрихкод EAN -> Акцизная марка», мы можем настроить систему на работу по принципу «Только акцизная марка». Разберем, как это реализовать:
В настройках РМК и подключаемого оборудования следует убедиться, что сканер корректно передает префиксы. При сканировании марки программа должна обращаться к регистру сведений ШтрихкодыУпаковокТоваров. Если марка уникальна и ранее была зарегистрирована в системе (при получении ТТН), товар добавится в чек автоматически с правильным наименованием. В этом случае ситуация «вино вместо водки» исключена физически, так как кассир вообще не выбирает товар предварительно.
Если по каким-то причинам оперативное обновление конфигурации невозможно, рассмотрим технический вариант ограничения прав кассира. Проанализируем программный код обработки сканирования. Нам необходимо принудительно запретить кассиру сканировать более одной марки в одно окно, если это ведет к путанице. Однако более эффективным методом будет добавление проверки в процедуру обработки ввода акцизной марки.
Посмотрим на примерную логику проверки, которую можно внедрить в процедуру ОбработкаОповещения или специализированный модуль работы с ЕГАИС (в зависимости от релиза):
// Пример логики проверки соответствия марки и номенклатуры
АлкокодМарки = ПолучитьАлкокодИзМарки(ДанныеМарки);
АлкокодТовара = ПолучитьАлкокодНоменклатуры(ТекущаяСтрокаЧек.Номенклатура);
Если АлкокодМарки <> АлкокодТовара Тогда
ТекстОшибки = "Ошибка! Марка принадлежит другой продукции!";
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстОшибки);
Отказ = Истина;
КонецЕсли;
Данный код позволяет на лету сравнить данные, зашитые в PDF417, с реквизитами карточки товара. Важно помнить, что для новых марок (DataMatrix без явного алкокода) такая проверка возможна только через запрос к локальному кэшу или сервисам ЕГАИС.
Часто ошибки сканирования связаны с тем, что сканер работает в режиме «разрыва клавиатуры» (Keyboard Wedge). В этом режиме данные влетают в активное поле ввода так, будто они набраны на клавиатуре. Если в момент сканирования фокус ввода сместился или окно множественного ввода открылось с задержкой, часть данных марки может попасть не по назначению.
Рассмотрим переход на режим Native POS (эмуляция COM-порта):
ПодключаемоеОборудование настройте драйвер сканера, указав соответствующий COM-порт.Проанализируем ситуацию с точки зрения законодательства. Продажа вина по марке водки — это не просто техническая ошибка, а нарушение порядка учета алкогольной продукции. Росалкогольтабакконтроль (РАР) через систему УТМ моментально получает данные о чеке. Если в чеке указан один тип продукции (по EAN-13), а марка соответствует другому — это прямой повод для проверки.
Кроме того, существует контроль МРЦ (минимальной розничной цены). Если водка продается по цене вина, которая ниже установленного законом минимума для крепкого алкоголя, УТМ просто заблокирует такой чек и не выдаст слип-чек с QR-кодом. Это приведет к невозможности легальной продажи на кассе.
Подводя итог, для исключения продажи «пересорта» алкоголя, мы рекомендуем выполнить следующие шаги:
Таким образом, системный подход, сочетающий обновление программного обеспечения и правильную настройку торгового оборудования, позволяет полностью исключить человеческий фактор при продаже алкоголя и защитить бизнес от крупных штрафов.