Что делать, если акцизные марки из ЕГАИС не читаются сканером при печати из 1С:Розница

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

В процессе работы с алкогольной продукцией в программе 1С:Розница 2.2 пользователи часто сталкиваются с ситуацией, когда штатный функционал запроса акцизных марок через ЕГАИС возвращает корректный код, но распечатанный штрихкод PDF417 категорически не воспринимается 2D-сканером. При этом, если сгенерировать аналогичный код через сторонние сервисы, он считывается моментально. Рассмотрим причины возникновения этой проблемы и разберем несколько эффективных способов её решения.

Причина 1: Некорректное масштабирование картинки в макете 1С

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

Проанализируем свойства объекта «Рисунок» в макете. По умолчанию там часто установлено свойство РазмерКартинкиРастянуть. При таком режиме платформа масштабирует изображение по своему усмотрению. Штрихкод PDF417 состоит из множества мелких черных и белых прямоугольников (модулей). При масштабировании (особенно при уменьшении или непропорциональном растяжении) некоторые пиксели «выпадают» или сливаются. Для человеческого глаза марка выглядит нормально, но для математического алгоритма сканера контрольные суммы становятся неверными.

Как исправить настройки макета:

  1. Перейдем в режим конфигуратора или откроем обработку печати акцизных марок.
  2. Найдем область макета, где формируется изображение марки.
  3. Выделим объект картинки и откроем его свойства.
  4. Изменим значение свойства РазмерКартинки с Растянуть на Реальный размер.
  5. Увеличим область в макете (количество ячеек по вертикали и горизонтали) таким образом, чтобы штрихкод в реальном масштабе полностью в него помещался. Если картинка будет обрезана краями области, она также не будет читаться.
  6. Рекомендуется убрать пунктирную рамку вокруг штрихкода, так как она может создавать визуальный шум для дешевых моделей 2D-сканеров.

Причина 2: Поиск марки в информационной базе по номеру заявки

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

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

Проанализируем структуру старой марки (68 символов):


22N 00000AC4594GAE1Y 0T5S70823004 008918 D18T0L1IJNVXR9NAXRRZ5BM9I62WK2L

Где:

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

Причина 3: Особенности работы с новыми марками (DataMatrix)

Посмотрим на методологию 2.4 и более поздние. Для продукции, произведенной после июля 2018 года, используются новые марки формата DataMatrix (150 символов). По закону, запрос цифрового идентификатора (восстановление марки) для такой продукции через сервис ЕГАИС «Запрос акцизных марок» не предусмотрен.

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

Как оформить продажу, если штрихкод отсутствует или не печатается

Представим ситуацию, когда бутылка фактически есть, её нужно продать, код вы нашли в базе (способом поиска по номеру заявки), но распечатать его для сканирования не получается. Разберем алгоритм ручного ввода:

  1. Откройте список чеков ККМ (не через интерфейс РМК, а через обычный список документов «Продажи» — «Чеки»).
  2. Создайте новый документ Чек.
  3. Добавьте номенклатуру (бутылку) в табличную часть.
  4. Активируйте поле ввода акцизной марки (обычно нажатием клавиши F7 или через специальную кнопку в строке товара).
  5. Скопируйте найденный в базе или XML-ответе код (68 или 150 знаков) и вставьте его в поле ввода.
  6. Проведите документ и пробьйте чек. ЕГАИС примет такой код, так как он будет передан текстовой строкой, минуя этап оптического сканирования.

Дополнительные технические советы

Иногда проблема кроется не в 1С, а во внешних факторах. Проанализируем следующие моменты:

Таким образом, мы выяснили, что наиболее эффективным решением является либо отключение масштабирования в макете для корректного вывода изображения, либо поиск существующего кода в базе по визуальным реквизитам с этикетки (номер заявки). Комбинируя эти методы, можно решить проблему нечитаемых марок без привлечения службы поддержки 1С.

← На главную