Проблема нечитаемых кодов маркировки (DataMatrix) на табачной продукции — одна из самых распространенных сложностей, с которыми сталкиваются пользователи устаревших систем, таких как 1С:Предприятие 7.7. Причины могут варьироваться от физического повреждения пачки до технических особенностей настройки сканирующего оборудования. В этой статье мы подробно разберем, как идентифицировать причину проблемы, проанализируем структуру кода и рассмотрим варианты легального и технического решения задачи.
Прежде чем приступать к радикальным мерам по восстановлению кода, проанализируем техническую сторону вопроса. В торговле табаком используются высокоплотные коды GS1 DataMatrix. Рассмотрим основные факторы, препятствующие корректному считыванию:
Если марка повреждена физически (царапина, потертость), но нам необходимо провести продажу через 1С 7.7, мы можем попытаться восстановить строку кода. Для этого рассмотрим, из чего состоит стандартный код маркировки сигарет. Обычно это последовательность символов, включающая в себя несколько идентификаторов (AI — Application Identifiers):
Посмотрим на примеры реальных строк, которые содержатся в DataMatrix пачек сигарет:
00000046206190NH9>00LABgokJlK
000000462061908.rRCwiABgokJlK
В данных примерах первые 14 цифр (00000046206190) представляют собой GTIN товара, а последующие символы (например, NH9>00L) — это уникальный серийный номер данной пачки. Остальная часть строки (ABgokJlK) является криптографическим хвостом. Выясним причину, по которой это важно: при продаже через 1С 7.7 программа ожидает от сканера именно эту полную последовательность символов.
Если марка не читается, но у вас есть аналогичная пачка из той же партии или данные в электронном УПД от поставщика, вы можете применить метод генерации дублирующего кода для внутреннего использования. Внимание: этот метод допустим только для идентификации товара в вашей учетной системе, если сама марка на пачке присутствует, но повреждена.
Рассмотрим алгоритм действий:
Проанализируем пример формирования строки. Если вы берете за основу рабочую марку с другой пачки, вам нужно заменить в ней только блок серийного номера, оставив криптохвост «как есть». На текущий момент (для старых форматов ФФД 1.05) глубокая проверка валидности криптохвоста на стороне кассы часто не производится, что позволяет провести продажу.
Для платформы 7.7 существуют специализированные обработки, которые упрощают процесс работы с нечитаемыми марками. Рассмотрим принцип их работы. Программа позволяет вручную ввести данные марки (взятые из личного кабинета «Честного ЗНАКа» или накладной) и сформировать печатную форму с кодом DataMatrix прямо из интерфейса 1С.
При использовании таких обработок в коде 1С задействуются функции работы с внешними компонентами для формирования штрихкодов. Например, может использоваться объект Barcode.DataMatrix. Посмотрим на логику вызова функции (условный пример):
// Пример логики формирования кода в 1С 7.7
Компонента = СоздатьОбъект("AddIn.ActiveBarcode");
Компонента.ТипКода = 14; // Тип для DataMatrix
Компонента.Текст = "00000046206190NH9>00LABgokJlK";
Компонента.Печатать();
Важно понимать, что описанные выше методы «склейки» кодов из частей были актуальны в период внедрения маркировки. С переходом на формат фискальных данных ФФД 1.2 ситуация существенно изменилась. Проанализируем ключевые отличия:
1. Проверка в ФН-М. Современные фискальные накопители (модели «М») самостоятельно проверяют криптографическую подпись кода. Если вы «подделаете» хвост или используете некорректную комбинацию, касса выдаст ошибку проверки маркировки.
2. Запрос в ОФД. Перед закрытием чека касса отправляет запрос в систему «Честный ЗНАК». Если код не числится за вашим магазином или имеет неверный статус, продажа может быть заблокирована.
3. Ответственность. Продажа товара с самодельным кодом может быть расценена как оборот немаркированной продукции. Согласно статье 15.12 КоАП РФ, это влечет за собой крупные штрафы (до 300 000 рублей для юридических лиц) и конфискацию товара.
Если вы столкнулись с тем, что марка на сигаретах не считывается, и настройки сканера (инверсия, угол наклона) не помогают, выполните следующие шаги:
Подведем итог: попытки «напечатать свой код» для сигарет в современных условиях крайне рискованны из-за жесткого контроля криптографической части кода на уровне ФФД 1.2. Оптимальным решением для пользователя 1С 7.7 будет качественная настройка 2D-сканера (проверка режима инверсии и разрешения) или официальный возврат бракованной продукции поставщику.