Как исправить ошибку «Невозможно обработать штрихкод — продана ранее» в 1С при продаже маркированного товара?

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

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

Почему возникает эта ошибка? Проанализируем механизмы 1С

Прежде всего, нам необходимо понять внутреннюю логику программы. В конфигурациях 1С, таких как Управление торговлей 11, Розница 2.3 или ERP, реализован двухэтапный контроль кодов маркировки. Программа проверяет статус не только во внешней системе ГИС МТ (Честный Знак), но и в собственной локальной базе данных. Для этого используется специальный регистр сведений ШтрихкодыУпаковокТоваров.

Рассмотрим основные причины появления «фантомных» записей о продаже:

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

Решение 1: Очистка регистра штрихкодов через технический интерфейс

Это самый эффективный и быстрый способ, если нам нужно «освободить» конкретный код для продажи здесь и сейчас. Проанализируем последовательность действий для программиста или системного администратора:

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

В открывшемся окне найдем раздел «Регистры сведений» и выберем Штрихкоды упаковок товаров. Выясним причину блокировки, выполнив поиск по значению отсканированного КМ (или его части). В найденной записи мы увидим колонку «Документ-основание» (или «Владелец»). Если это поле заполнено старым чеком или отчетом о продажах, значит, 1С считает код выведенным из оборота.

Существует два пути решения внутри регистра:

  1. Полное удаление записи: Мы просто удаляем строку с этим кодом. При следующем сканировании система создаст новую запись.
  2. Очистка владельца: Мы заходим внутрь записи и очищаем ссылку на документ продажи, возвращая коду статус свободного.

Решение 2: Корректировка документов «Отчет о розничных продажах»

Иногда ошибка возникает из-за того, что код «завис» в уже проведенном документе, который по какой-то причине не списал его окончательно или содержит дубли. Посмотрим на пример исправления через табличные части документов:

Нам необходимо найти документ Отчет о розничных продажах, на который ссылается ошибка. Внутри документа перейдем на вкладку «Товары». Однако, информация о марках часто скрыта в отдельной подчиненной таблице. В некоторых редакциях нужно нажать на ссылку «Акцизные марки» или «Коды маркировки» над табличной частью.

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

Решение 3: Изменение настроек контроля статусов ИСМП

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

Перейдем в раздел «НСИ и администрирование», далее выберем «Настройка интеграции с ИС МП (Честный Знак)». В этом разделе нас интересует подраздел «Продажи». Найдем флажок «Контролировать статусы кодов маркировки».

Важно понимать последствия:

В новых версиях 1С (начиная с релизов 2022-2023 годов) появилась более гибкая опция: «Выполнять проверку только средствами ГИС МТ». Если ее включить, программа будет игнорировать записи в локальном регистре Штрихкоды упаковок товаров и ориентироваться только на актуальный ответ от серверов «Честного Знака» в момент сканирования. Это идеальный баланс между безопасностью и стабильностью работы.

Решение 4: Особенности работы в РМК и кеширование

Разберем ситуацию, когда ошибка возникает в рамках одной кассовой смены. Кассир мог отсканировать товар, а затем просто удалить строку из списка. Проанализируем, почему код может остаться заблокированным:

В интерфейсе РМК при простом удалении строки с маркированным товаром, код иногда остается в оперативной памяти сессии кассира как «занятый». Чтобы этого избежать, рекомендуется:

  1. Использовать функцию «Отмена чека» вместо удаления строк по одной, если чек не будет пробит.
  2. Если ошибка уже возникла, попробуйте полностью закрыть форму РМК и открыть её заново.
  3. В крайнем случае поможет перезапуск сеанса работы пользователя 1С.

Профилактика возникновения проблемы

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

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

← На главную