При работе с маркируемой продукцией в программах «1С:Управление торговлей», «1С:ERP» или «1С:Комплексная автоматизация» пользователи часто сталкиваются с системным сообщением: «Невозможно добавить маркируемую продукцию с кодом маркировки по причине: обрабатывается повторно» — есть автоматизированная проверка уникальности кодов маркировки. Важно понимать, что данная ошибка в большинстве случаев не связана со статусом кода в системе «Честный ЗНАК» (ГИС МТ), хотя стабильная работа с госсистемой, включая своевременное обновление токенов Честного Знака, является основой всего процесса, а является следствием внутренних проверок самой платформы 1С. Рассмотрим подробно, почему это происходит и как устранить проблему.
Проанализируем, как система ведет себя в момент сканирования штрихкода DataMatrix. В современных конфигурациях 1С используется специальный механизм временного хранения данных — кэш. Когда вы открываете форму «Проверка и подбор маркируемой продукции» (удобно через инструмент контроля и подбора маркировки), программа создает временную таблицу КодыМаркировкиДляСканирования или использует внутренние структуры данных в оперативной памяти.
Ошибка «обрабатывается повторно» возникает тогда, когда алгоритм проверки находит текущий сканируемый код в этом временном списке. Выясним основные причины такого поведения:
Для решения этой проблемы первым делом попробуем полностью закрыть документ без сохранения и открыть его заново. Если это не помогает, рекомендуется воспользоваться кнопкой «Сбросить» или «Очистить» непосредственно в форме подбора маркируемой продукции.
Одной из наиболее распространенных причин ошибки является некорректная настройка суффиксов торгового оборудования. Рассмотрим ситуацию: когда сканер считывает DataMatrix, он передает данные в 1С. Если в настройках драйвера сканера или в самом устройстве установлен двойной суффикс (например, два символа CR или LF), программа инициирует процедуру обработки дважды с интервалом в несколько миллисекунд.
В этом случае первый поток обработки успешно захватывает код и начинает его проверку, а второй поток, стартующий мгновенно следом, натыкается на блокировку и выдает сообщение о повторной обработке. Чтобы исправить это, выполним следующие действия:
13 (CR). Если там указано несколько значений, попробуем оставить только одно.Код маркировки формата DataMatrix обязан содержать невидимый спецсимвол-разделитель GS (Group Separator, ASCII-код 29). Этот символ позволяет системе корректно отделять GTIN от серийного номера и других идентификаторов применения.
Если сканер настроен в режиме эмуляции клавиатуры и не передает символ GS должным образом, 1С может ошибочно интерпретировать структуру кода. В некоторых релизах это приводило к тому, что система «обрезала» хвост кода и считала разные физические марки одинаковыми. Чтобы убедиться, что вы работаете с корректным идентификатором, можно использовать инструменты для сохранения полных кодов маркировки из документов эмиссии. Выясним, как это проверить: попробуем переключить сканер в режим NativeApi или COM-эмуляции, которые корректно обрабатывают спецсимволы, в отличие от режима клавиатуры.
Если стандартные методы не помогают, проанализируем ситуацию с помощью отладчика. Технически ошибка генерируется в общем модуле, отвечающем за интеграцию с ИС МП. Посмотрим на конкретные места в коде, где стоит поставить точку останова.
Наиболее критичный участок кода находится в процедуре:
ШтрихкодированиеОбщегоНазначенияИС.ЗаполнитьКэшКодовМаркировкиПоСтрокамДереваСКонтролемВхождения(КэшКодовМаркировки, СтрокиДерева)
Рассмотрим пошагово, что нужно проверить в конфигураторе:
КэшКодовМаркировки. Если в ней уже присутствует запись с вашим кодом, необходимо проследить, откуда она там появилась — из текущего сеанса или из базы данных (регистр «Штрихкоды упаковок и товаров»).Разберем вопрос соответствия GTIN в коде маркировки и в карточке товара 1С. Программа жестко связывает марку с конкретным товаром через идентификатор GTIN. Если вы пытаетесь отсканировать марку, в которой «зашит» GTIN, уже присвоенный другой позиции номенклатуры, система может выдать ошибку контроля.
Проанализируем ситуацию с «чужими» GTIN. Иногда поставщики маркируют товар кодами, где GTIN не совпадает с тем, что заведен у вас в базе. В этом случае 1С может посчитать это попыткой повторной обработки кода, который уже сопоставлен с другой сущностью. Отдельные бизнес-процессы, например для маркетплейсов, могут требовать более сложных операций, таких как создание дубликатов кодов маркировки, но в стандартной приемке это является ошибкой. Рекомендуется:
GTIN, который содержится внутри марки (первые 14 цифр кода DataMatrix).Подводя итог, для устранения ошибки «обрабатывается повторно» выполним последовательно следующие действия:
AppData).GS.Соблюдение этих инструкций позволит восстановить корректную работу с маркируемой продукцией и избежать ложных срабатываний системы контроля уникальности кодов.