Как исправить ошибку «Невозможно добавить маркируемую продукцию: обрабатывается повторно» в 1С?

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

При работе с маркируемой продукцией в программах «1С:Управление торговлей», «1С:ERP» или «1С:Комплексная автоматизация» пользователи часто сталкиваются с системным сообщением: «Невозможно добавить маркируемую продукцию с кодом маркировки по причине: обрабатывается повторно» — есть автоматизированная проверка уникальности кодов маркировки. Важно понимать, что данная ошибка в большинстве случаев не связана со статусом кода в системе «Честный ЗНАК» (ГИС МТ), хотя стабильная работа с госсистемой, включая своевременное обновление токенов Честного Знака, является основой всего процесса, а является следствием внутренних проверок самой платформы 1С. Рассмотрим подробно, почему это происходит и как устранить проблему.

Разберем механизм кэширования кодов в 1С

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

Ошибка «обрабатывается повторно» возникает тогда, когда алгоритм проверки находит текущий сканируемый код в этом временном списке. Выясним основные причины такого поведения:

  1. Скрытое дублирование в сессии: Если пользователь ранее отсканировал код, а затем удалил строку из документа, информация о нем могла сохраниться в сессионном кэше. При повторной попытке добавления 1С «видит», что этот идентификатор уже находится в обработке.
  2. Незавершенные транзакции: Если при предыдущем сканировании произошел сбой связи с оборудованием или сервером, запись могла остаться в статусе «в процессе проверки».

Для решения этой проблемы первым делом попробуем полностью закрыть документ без сохранения и открыть его заново. Если это не помогает, рекомендуется воспользоваться кнопкой «Сбросить» или «Очистить» непосредственно в форме подбора маркируемой продукции.

Проанализируем технические настройки сканера штрихкодов

Одной из наиболее распространенных причин ошибки является некорректная настройка суффиксов торгового оборудования. Рассмотрим ситуацию: когда сканер считывает DataMatrix, он передает данные в 1С. Если в настройках драйвера сканера или в самом устройстве установлен двойной суффикс (например, два символа CR или LF), программа инициирует процедуру обработки дважды с интервалом в несколько миллисекунд.

В этом случае первый поток обработки успешно захватывает код и начинает его проверку, а второй поток, стартующий мгновенно следом, натыкается на блокировку и выдает сообщение о повторной обработке. Чтобы исправить это, выполним следующие действия:

  1. Перейдем в раздел Администрирование — РМК и оборудование — Подключаемое оборудование.
  2. Откроем настройки используемого сканера и перейдем в «Параметры подключения».
  3. Проверим значение поля «Суффикс». Обычно корректным значением является 13 (CR). Если там указано несколько значений, попробуем оставить только одно.
  4. Протестируем работу сканера в обычном текстовом редакторе (Блокноте). Если после одного сканирования курсор перепрыгивает через строку, значит, сканер настроен на передачу лишних управляющих символов.

Исследуем проблему со спецсимволом GS (FNC1)

Код маркировки формата DataMatrix обязан содержать невидимый спецсимвол-разделитель GS (Group Separator, ASCII-код 29). Этот символ позволяет системе корректно отделять GTIN от серийного номера и других идентификаторов применения.

Если сканер настроен в режиме эмуляции клавиатуры и не передает символ GS должным образом, 1С может ошибочно интерпретировать структуру кода. В некоторых релизах это приводило к тому, что система «обрезала» хвост кода и считала разные физические марки одинаковыми. Чтобы убедиться, что вы работаете с корректным идентификатором, можно использовать инструменты для сохранения полных кодов маркировки из документов эмиссии. Выясним, как это проверить: попробуем переключить сканер в режим NativeApi или COM-эмуляции, которые корректно обрабатывают спецсимволы, в отличие от режима клавиатуры.

Процедура отладки для программиста

Если стандартные методы не помогают, проанализируем ситуацию с помощью отладчика. Технически ошибка генерируется в общем модуле, отвечающем за интеграцию с ИС МП. Посмотрим на конкретные места в коде, где стоит поставить точку останова.

Наиболее критичный участок кода находится в процедуре:


ШтрихкодированиеОбщегоНазначенияИС.ЗаполнитьКэшКодовМаркировкиПоСтрокамДереваСКонтролемВхождения(КэшКодовМаркировки, СтрокиДерева)

Рассмотрим пошагово, что нужно проверить в конфигураторе:

  1. Найдем вышеуказанную процедуру через глобальный поиск.
  2. Установим точку останова в начале алгоритма проверки на вхождение.
  3. Запустим сканирование проблемного кода.
  4. Посмотрим содержимое таблицы КэшКодовМаркировки. Если в ней уже присутствует запись с вашим кодом, необходимо проследить, откуда она там появилась — из текущего сеанса или из базы данных (регистр «Штрихкоды упаковок и товаров»).

Взаимосвязь GTIN и карточки номенклатуры

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

Проанализируем ситуацию с «чужими» GTIN. Иногда поставщики маркируют товар кодами, где GTIN не совпадает с тем, что заведен у вас в базе. В этом случае 1С может посчитать это попыткой повторной обработки кода, который уже сопоставлен с другой сущностью. Отдельные бизнес-процессы, например для маркетплейсов, могут требовать более сложных операций, таких как создание дубликатов кодов маркировки, но в стандартной приемке это является ошибкой. Рекомендуется:

Итоговые рекомендации по исправлению

Подводя итог, для устранения ошибки «обрабатывается повторно» выполним последовательно следующие действия:

  1. Очистим временные данные: Полностью закроем форму подбора и документ, при необходимости очистим кэш пользователя 1С (папка AppData).
  2. Настроим оборудование: Уберем лишние суффиксы в настройках сканера и проверим передачу символа GS.
  3. Проверим уникальность: Убедимся, что данный код маркировки не был загружен ранее в другие документы (например, в «Приобретение товаров и услуг» или «Уведомление о поступлении»). Корректный ввод кодов на самых ранних этапах, например, при первичной маркировке остатков на складе, помогает избежать таких ситуаций в будущем.
  4. Обновим программу: Если вы используете ранние версии УТ 11.4 или 11.5, проверьте наличие патчей на портале ИТС, так как в некоторых релизах была зафиксирована ошибка некорректной очистки таблиц подбора.

Соблюдение этих инструкций позволит восстановить корректную работу с маркируемой продукцией и избежать ложных срабатываний системы контроля уникальности кодов.

← На главную