Как проверить акцизные марки ЕГАИС при приемке алкогольной продукции в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При розничной продаже алкоголя торговые точки часто сталкиваются с жестким контролем со стороны Универсального транспортного модуля (УТМ). Система автоматически блокирует продажу дубликатов марок, фальсифицированной продукции или марок, которые уже были проданы в другом месте. Однако гораздо безопаснее выявлять такие проблемные бутылки еще на этапе приемки товара от поставщика, а не на кассе перед покупателем.

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

Почему стандартная проверка в 1С не связывается с ЕГАИС напрямую?

Проанализируем типичную ситуацию. В конфигурации 1С:Управление торговлей (начиная с версии 11.4) есть стандартная обработка «Проверка поступившей алкогольной продукции». Многие пользователи ошибочно полагают, что при сканировании бутылок в этой обработке программа отправляет запрос в центральную базу ЕГАИС для валидации каждой марки. Это не так.

Разберем, как работает этот механизм по шагам:

  1. Поставщик отправляет вам входящую товарно-транспортную накладную (ТТН ЕГАИС). В этом документе уже жестко прописаны штрихкоды акцизных марок, которые он вам отгрузил.
  2. При выполнении проверки в 1С программа сверяет фактически отсканированную вами марку со списком марок, содержащихся во входящем файле ТТН.
  3. Главная уязвимость: данная сверка гарантирует только то, что поставщик привез именно ту бутылку, которую указал в документах. Но она никак не защищает от ситуаций, когда:
    • Поставщик по ошибке или намеренно отправил эту же марку в другой магазин в другой накладной.
    • Завод-изготовитель выпустил «зеркальные» (дублирующие) марки.
    • Марка на бутылке является качественной фальсифицированной копией, которая уже была продана в абсолютно другой торговой сети.

Ограничения стандартных запросов ЕГАИС

Выясним, почему встроенные XML-запросы УТМ не решают проблему проверки «чужих» марок. Некоторые разработчики пытаются использовать запрос движения марок QueryHistoryRestShop. Проанализируем этот запрос.

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

Также существует запрос информации о продукции по коду (алгоритм расшифровки PDF417/DataMatrix). Однако он всего лишь извлекает из марки код алкогольной продукции (код АП) и запрашивает общие сведения из классификатора ЕГАИС (наименование, крепость, производитель). Саму марку на легальность и уникальность этот запрос не проверяет.

Современные способы автоматизированной проверки марок при приемке

К счастью, развитие ЕГАИС и механизмов интеграции в 1С принесло новые технические возможности, которые позволяют решить проблему автоматического контроля марок на этапе склада.

1. Использование встроенного сервиса проверки в УТМ

В современных версиях УТМ (начиная с версии 4.0.2 и выше) на локальной домашней странице модуля (доступной по адресу http://localhost:8080) появился штатный раздел «Проверка продукции». Этот веб-интерфейс работает по тому же онлайн-алгоритму проверки, который касса использует при формировании чека. Сканируя марку там, вы можете мгновенно узнать ее статус в ЕГАИС до подтверждения накладной.

2. Автоматизация через UTM API (Swagger) в 1С

Для программистов 1С локальный УТМ предоставляет открытый интерфейс Swagger API. Это позволяет написать собственную обработку, которая будет отправлять HTTP-запросы к УТМ непосредственно в момент сканирования бутылки на складе.

Рассмотрим пример кода на языке 1С для отправки запроса к API локального УТМ с целью проверки статуса акцизной марки:


// Функция выполняет запрос к локальному УТМ для проверки легальности марки
Функция ПроверитьМаркуЧерезЛокальныйУТМ(ШтрихкодМарки) Экспорт
    
    АдресСервера = "localhost";
    ПортСервера = 8080;
    
    // Формируем HTTP-соединение к сервису УТМ
    HTTPСоединение = Новый HTTPСоединение(АдресСервера, ПортСервера);
    
    // Формируем запрос к API проверки марок (в соответствии со Swagger-документацией вашего УТМ)
    АдресРесурса = "/api/v1/check/stamp";
    HTTPЗапрос = Новый HTTPЗапрос(АдресРесурса);
    
    // Передаем марку в теле запроса в формате JSON
    ПараметрыЗапроса = Новый Структура;
    ПараметрыЗапроса.Вставить("raw_barcode", ШтрихкодМарки);
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, ПараметрыЗапроса);
    СтрокаJSON = ЗаписьJSON.Закрыть();
    
    HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаJSON, КодировкаТекста.UTF8, ИспользованиеМаркераПоследовательностиВайтов.НеИспользовать);
    HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
    
    Попытка
        HTTPОтвет = HTTPСоединение.ОтправитьДляОбъекта(HTTPЗапрос);
        Если HTTPОтвет.КодСостояния = 200 Тогда
            РезультатПроверки = HTTPОтвет.ПолучитьТелоКакСтроку();
            Возврат РезультатПроверки; // Возвращаем JSON с подробным статусом марки в ЕГАИС
        Иначе
            ВызватьИсключение "Ошибка соединения с УТМ. Код ответа: " + HTTPОтвет.КодСостояния;
        КонецЕсли;
    Исключение
        ЗаписатьЛогОшибок(ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
    
КонецФункции

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

3. Документ «Проверка марок в УТМ» в современных конфигурациях 1С

В типовых решениях (например, в 1С:Розница или 1С:УНФ) разработчики внедрили специализированный документ «Проверка марок в УТМ». Этот инструмент позволяет сопоставить акцизные марки, хранящиеся в вашей информационной базе, с их фактическим балансовым состоянием на третьем регистре ЕГАИС. Каждой марке присваивается признак «На балансе» (Да/Нет), что исключает попытку продажи «виртуальных» остатков.

4. Использование мобильного приложения «АТК» при приемке

Если у кладовщиков нет возможности работать за стационарным компьютером с подключенным сканером, отличным решением станет использование официального мобильного приложения «АТК» (Антиконтрафакт Алко) от Росалкогольтабакконтроля. Смартфон с этим приложением заменяет терминал сбора данных: камера считывает штрихкод акцизной марки, и приложение мгновенно выводит легальность, производителя, дату розлива и всю цепочку движения бутылки напрямую из базы ЕГАИС.

Рекомендация по организации процесса приемки

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

  1. При поступлении ТТН переведите документ в режим поштучной проверки марок.
  2. Обязательно сканируйте каждую бутылку (не допускайте доверительной приемки коробками).
  3. Если при сканировании марка выдает ошибку соответствия или система сигнализирует о неверном статусе владельца (марка числится за другим юрлицом или уже продана), оформляйте Акт расхождений (составляйте акт недопоставки или полностью отказывайтесь от накладной).
← На главную