Что делать, если не считывается код маркировки на пачке сигарет в 1С 7.7?

Программист 1С v7.7 Управленческий учет Торговля и дистрибуция
← На главную

Проблема нечитаемых кодов маркировки (DataMatrix) на табачной продукции — одна из самых распространенных сложностей, с которыми сталкиваются пользователи устаревших систем, таких как 1С:Предприятие 7.7. Причины могут варьироваться от физического повреждения пачки до технических особенностей настройки сканирующего оборудования. В этой статье мы подробно разберем, как идентифицировать причину проблемы, проанализируем структуру кода и рассмотрим варианты легального и технического решения задачи.

Анализ причин: почему сканер «не видит» марку?

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

  1. Инверсия цвета. На многих марках сигарет используется «инвертированная» печать (белые модули на темном фоне). Большинство бюджетных 2D-сканеров по умолчанию настроены на чтение только стандартных черных кодов на белом фоне. Если сканер не реагирует на марку, необходимо проверить его настройки и включить поддержку инверсии.
  2. Блики от полиэтилена. Защитная пленка на пачке сигарет создает значительные оптические помехи. Проанализируем ситуацию: при попадании прямого луча подсветки на пленку камера сканера «слепнет». Рекомендуется проводить сканирование под углом примерно 45 градусов к поверхности пачки.
  3. Низкое разрешение сканера. Коды на табаке очень мелкие. Для их уверенного распознавания требуется сканер с разрешением сенсора не менее 1280x800 пикселей. Устройства с низким разрешением (VGA 640x480) могут физически не различать границы модулей кода.

Разбор структуры кода маркировки табака

Если марка повреждена физически (царапина, потертость), но нам необходимо провести продажу через 1С 7.7, мы можем попытаться восстановить строку кода. Для этого рассмотрим, из чего состоит стандартный код маркировки сигарет. Обычно это последовательность символов, включающая в себя несколько идентификаторов (AI — Application Identifiers):

Посмотрим на примеры реальных строк, которые содержатся в DataMatrix пачек сигарет:


00000046206190NH9>00LABgokJlK
000000462061908.rRCwiABgokJlK

В данных примерах первые 14 цифр (00000046206190) представляют собой GTIN товара, а последующие символы (например, NH9>00L) — это уникальный серийный номер данной пачки. Остальная часть строки (ABgokJlK) является криптографическим хвостом. Выясним причину, по которой это важно: при продаже через 1С 7.7 программа ожидает от сканера именно эту полную последовательность символов.

Техническое решение: создание дубликата марки

Если марка не читается, но у вас есть аналогичная пачка из той же партии или данные в электронном УПД от поставщика, вы можете применить метод генерации дублирующего кода для внутреннего использования. Внимание: этот метод допустим только для идентификации товара в вашей учетной системе, если сама марка на пачке присутствует, но повреждена.

Рассмотрим алгоритм действий:

  1. Выделите из накладной (УПД) или из данных читаемой пачки GTIN и серийный номер нечитаемой пачки.
  2. Используйте любой генератор 2D-кодов (поддерживающий DataMatrix или QR) для создания изображения кода.
  3. Для корректной работы в 1С 7.7 важно, чтобы сформированная строка содержала спецсимволы разделителей (GS), если ваша конфигурация их требует.
  4. Распечатайте полученный код на термопринтере этикеток и используйте его при сканировании на кассе вместо поврежденного кода на пачке.

Проанализируем пример формирования строки. Если вы берете за основу рабочую марку с другой пачки, вам нужно заменить в ней только блок серийного номера, оставив криптохвост «как есть». На текущий момент (для старых форматов ФФД 1.05) глубокая проверка валидности криптохвоста на стороне кассы часто не производится, что позволяет провести продажу.

Использование внешних обработок в 1С 7.7

Для платформы 7.7 существуют специализированные обработки, которые упрощают процесс работы с нечитаемыми марками. Рассмотрим принцип их работы. Программа позволяет вручную ввести данные марки (взятые из личного кабинета «Честного ЗНАКа» или накладной) и сформировать печатную форму с кодом DataMatrix прямо из интерфейса 1С.

При использовании таких обработок в коде 1С задействуются функции работы с внешними компонентами для формирования штрихкодов. Например, может использоваться объект Barcode.DataMatrix. Посмотрим на логику вызова функции (условный пример):


// Пример логики формирования кода в 1С 7.7
Компонента = СоздатьОбъект("AddIn.ActiveBarcode");
Компонента.ТипКода = 14; // Тип для DataMatrix
Компонента.Текст = "00000046206190NH9>00LABgokJlK";
Компонента.Печатать();

Юридические риски и новые требования (ФФД 1.2)

Важно понимать, что описанные выше методы «склейки» кодов из частей были актуальны в период внедрения маркировки. С переходом на формат фискальных данных ФФД 1.2 ситуация существенно изменилась. Проанализируем ключевые отличия:

1. Проверка в ФН-М. Современные фискальные накопители (модели «М») самостоятельно проверяют криптографическую подпись кода. Если вы «подделаете» хвост или используете некорректную комбинацию, касса выдаст ошибку проверки маркировки.

2. Запрос в ОФД. Перед закрытием чека касса отправляет запрос в систему «Честный ЗНАК». Если код не числится за вашим магазином или имеет неверный статус, продажа может быть заблокирована.

3. Ответственность. Продажа товара с самодельным кодом может быть расценена как оборот немаркированной продукции. Согласно статье 15.12 КоАП РФ, это влечет за собой крупные штрафы (до 300 000 рублей для юридических лиц) и конфискацию товара.

Рекомендуемый алгоритм действий при обнаружении брака

Если вы столкнулись с тем, что марка на сигаретах не считывается, и настройки сканера (инверсия, угол наклона) не помогают, выполните следующие шаги:

  1. Возврат поставщику. Это самый безопасный и правильный метод. Если вы обнаружили брак при приемке, оформите расхождение. Если после приемки — оформите возврат через ЭДО (УКД). Поставщик обязан заменить товар с нечитаемым средством идентификации.
  2. Списание товара. Если возврат невозможен, пачку следует списать. В личном кабинете «Честного ЗНАКа» или через 1С 7.7 создайте документ «Вывод из оборота» с причиной «Брак» или «Повреждение средства идентификации».
  3. Ручной ввод данных. Если DataMatrix поврежден лишь частично и вы можете визуально прочитать символы под ним (что редкость для табака) или найти этот конкретный код в накладной, в некоторых кассовых программах на базе 1С 7.7 предусмотрен ручной ввод кода. Однако это требует доработки конфигурации для корректной обработки строки.

Подведем итог: попытки «напечатать свой код» для сигарет в современных условиях крайне рискованны из-за жесткого контроля криптографической части кода на уровне ФФД 1.2. Оптимальным решением для пользователя 1С 7.7 будет качественная настройка 2D-сканера (проверка режима инверсии и разрешения) или официальный возврат бракованной продукции поставщику.

← На главную