Процесс работы с маркировкой, особенно с альтернативной табачной продукцией (АТП), часто сопровождается техническими сложностями, которые могут поставить в тупик даже опытного пользователя. Ошибки вида «Код маркировки не соответствует номенклатуре» или внезапное появление странных символов «АААААААА» в конце кода — это не случайные сбои, а признаки конкретных несоответствий в настройках программы, оборудования или актуальности релиза. В данной статье мы подробно разберем, почему возникают эти проблемы в «1С:Управление торговлей» (редакция 11.4) и как их устранить по шагам.
Одной из самых загадочных проблем является ситуация, когда после сканирования в форму подбора 1С добавляет 8 букв «А» к считанному коду. Давайте проанализируем ситуацию: это технический признак того, что программный модуль 1С не смог корректно «распарсить» (разобрать на составляющие) структуру DataMatrix. В кодах маркировки АТП криптохвост может иметь иную длину или состав, отличный от обычного табака. Если алгоритм 1С не находит ожидаемого разделителя или длина блока данных не совпадает с шаблоном, программа заполняет оставшееся место символами-заполнителями АААААААА.
Это сигнализирует о том, что:
Если при попытке сканирования напрямую в документ «Реализация товаров и услуг» вы получаете системную ошибку Поле объекта не обнаружено Строка, это прямое свидетельство программного бага в конкретных релизах (например, 11.4.13.281). В процедуре обработки оповещения от торгового оборудования программа ожидает получить структуру данных определенного вида, но из-за изменений в требованиях «Честного ЗНАКа» получает данные, которые не может сопоставить с внутренними переменными.
Для решения этой проблемы необходимо проверить наличие установленных патчей (исправлений) в разделе Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Ищите патчи с префиксами EF_00..., относящиеся к интеграции с ИС МП и оборудованием. Если база находится на поддержке, лучшим решением будет обновление до актуального релиза ветки 11.4.14 или переход на 11.5.
Рассмотрим подробнее работу сканирующего оборудования. Для корректной передачи кода маркировки крайне важно наличие символа GS (Group Separator, ASCII 29). Этот символ не имеет видимого отображения, но он разделяет группы данных внутри DataMatrix (например, отделяет GTIN от серийного номера и кода проверки).
Если ваш сканер работает в режиме эмуляции клавиатуры (HID), он может заменять этот символ на пробел или вовсе его игнорировать, что приводит к ошибке нормализации кода. Мы рекомендуем перевести сканер в режим Native USB (COM-порт). Это позволит 1С получать данные напрямую через драйвер торгового оборудования. После перевода сканера в режим COM-порта выполните следующие действия в 1С:
Часто ошибка «Код маркировки не соответствует номенклатуре» возникает из-за несовпадения идентификатора GTIN, зашитого в марке, и штрихкода, привязанного к карточке товара. Проанализируем логику 1С: при сканировании программа извлекает из кода GTIN (обычно это первые 14 цифр, начинающиеся с нуля) и ищет его среди загруженных штрихкодов в регистре сведений «Штрихкоды номенклатуры».
Обратите внимание на следующие моменты:
GTIN, который указан в Личном Кабинете «Честного ЗНАКа» для этой позиции.Особенность учета. Для альтернативного табака там должно стоять строго «Альтернативная табачная продукция». Если выбрано «Табачная продукция», программа будет применять другие алгоритмы проверки структуры кода, что вызовет конфликт.Проанализируем настройки системы маркировки. Перейдите в раздел НСИ и администрирование — Настройка интеграции — Настройка ИС МП. Убедитесь, что для товарной группы «Альтернативная табачная продукция» установлена корректная дата начала обязательной маркировки и проставлены галочки ведения учета или выполните загрузку КИЗ из XML (УПД) — есть автоматизация интеграции с ЦРПТ и учета маркировки.
Иногда помогает временное отключение контроля статусов кодов маркировки, чтобы понять, является ли проблема локальной (в базе 1С) или внешней (ответ от серверов ЦРПТ). Однако помните, что это лишь диагностическая мера.
Если вы видите сообщение Данные для нормализации кода отсутствуют, это означает, что 1С пытается привести считанную строку к стандартному виду, но не находит подходящего правила. Рассмотрим, как это исправить программно. В некоторых случаях помогает очистка кэша метаданных и временных файлов пользователя, так как 1С может сохранять «битые» данные о результатах предыдущих неудачных сканирований.
Если вы программист, вы можете проанализировать, как формируется структура данных при сканировании, обратив внимание на объект ОбработкаПроверкиКодовМаркировкиИСМТ. Примерный формат данных, который должна получать система, выглядит следующим образом:
// Пример упрощенной структуры для анализа
ДанныеКода = Новый Структура;
ДанныеКода.Вставить("Текст", СчитанныйШтрихкод);
ДанныеКода.Вставить("Тип", ТипКодаМаркировки);
// Если здесь передается просто строка вместо структуры,
// возникнет ошибка "Поле объекта не обнаружено"
Для исправления ситуации в релизе 11.4.13.281 без обновления всей конфигурации, необходимо проверить, установлены ли специфические исправления для общего модуля ИнтеграцияИСМП. Именно в нем прописаны логические проверки для АТП.
GTIN должен совпадать с маркой (14 символов), вид продукции — «Альтернативная табачная продукция».GS1 DataMatrix — есть обработка для проверки и фиксации кодов маркировки.Поле объекта не обнаружено через официальный сервис обновлений 1С.Соблюдение этих шагов позволит вам восстановить корректную отгрузку АТП через ЭДО и избавиться от технических ошибок парсинга кодов в «1С:Управление торговлей».