При работе с маркированными товарами, в частности с обувью, многие пользователи 1С:Управление торговлей 11 сталкиваются с неприятной ситуацией: товар физически возвращен покупателем, чек возврата пробит, в системе «Честный ЗНАК» (ГИС МТ) документ отображается, но при попытке повторной продажи 1С выдает ошибку, сообщая, что «код маркировки уже продан». Это происходит из-за того, что внутренняя логика программы блокирует операции с кодами, которые по данным информационной базы (ИБ) имеют статус «Выведен из оборота».
В этой статье мы подробно разберем, почему так происходит, как правильно оформить возврат и что делать, если автоматическая синхронизация статусов дала сбой. Мы проанализируем механизмы работы регистров и выясним, какие шаги необходимо предпринять для корректного возобновления продаж.
Для начала разберем внутреннюю архитектуру системы. 1С:Управление торговлей 11 хранит данные о маркировке не только в справочнике Штрихкоды упаковок товаров, но и в специальном регистре сведений. В зависимости от версии вашей конфигурации он может называться Состояния кодов маркировки ИС МП или Состояния кодов маркировки СУЗ.
Когда вы пробиваете чек на продажу, 1С фиксирует в этом регистре, что данный конкретный код (КМ) теперь имеет статус «Продан». При последующем возврате через РМК (Рабочее место кассира) или документ «Возврат товаров от клиента» система должна автоматически изменить этот статус. Однако в старых релизах (например, ветки 11.4.13) или при определенных настройках этот механизм может не сработать. Система при сканировании обращается сначала к своей внутренней базе, видит там статус «Продан» и, не отправляя запрос в облако «Честного ЗНАКа» (для экономии времени и ресурсов), сразу выдает ошибку.
Самый правильный и «чистый» способ с точки зрения методологии 1С — это использование специализированных документов обмена с ИС МП. Даже если чек возврата ушел через ОФД, 1С часто требует создания отдельного распоряжения для актуализации своего внутреннего состояния.
Проанализируем шаги по созданию этого документа:
Возврат в оборот ИС МП.После того как статус документа изменится на «Коды возвращены в оборот», 1С автоматически обновит записи в регистре Состояния кодов маркировки, и товар станет доступен для продажи в РМК.
Если по какой-то причине документ «Возврат в оборот» не видит нужные коды или система продолжает выдавать ошибку, мы можем прибегнуть к технической корректировке. Как упоминалось в обсуждениях, «чистить» справочник Штрихкоды упаковок товаров вручную или переименовывать КМ — это плохая практика, которая может привести к нарушению ссылочной целостности.
Вместо этого мы воспользуемся обработкой «Групповое изменение реквизитов» для изменения записей в регистре сведений:
Регистр сведений: Состояния кодов маркировки ИС МП.Код маркировки (или Штрихкод упаковки). Укажем значение нашего «проблемного» кода.Состояние и установим для него значение «В обороте» (или «Эмитирован» в зависимости от версии).Рассмотрим, что произойдет в базе данных на техническом уровне:
// Пример логики, которую выполняет система за кулисами:
НаборЗаписей = РегистрыСведений.СостоянияКодовМаркировкиИСПМ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ШтрихкодУпаковки.Установить(ТекущийШтрихкод);
Запись = НаборЗаписей.Добавить();
Запись.ШтрихкодУпаковки = ТекущийШтрихкод;
Запись.Состояние = Перечисления.СостоянияКодовМаркировкиИСМП.ВОббороте;
НаборЗаписей.Записать();
После этой манипуляции проверка при подборе товара в чек будет проходить успешно, так как внутренний контроль статусов увидит разрешенное состояние.
Если проблема носит массовый характер, а продажи нельзя останавливать из-за ошибок синхронизации, мы можем временно ослабить контроль со стороны 1С. Это позволит пробивать чеки, основываясь на данных, которые вы видите в личном кабинете «Честного ЗНАКа», игнорируя «упрямство» информационной базы.
Выясним, где находится эта настройка:
Важно: Это крайняя мера. Постоянная работа с выключенным контролем может привести к тому, что вы начнете продавать товары, которые по данным ГИС МТ не числятся в обороте, что повлечет за собой штрафы при проверках.
Проанализируем ситуацию с технической точки зрения передачи данных через кассу. В релизах 11.4.13 часто возникали проблемы с заполнением тега 1212 (признак предмета расчета) при возвратах. Если при оформлении чека возврата в кассовое ПО не передается информация о том, что это маркированный товар, «Честный ЗНАК» получит информацию о возврате денег, но не поймет, какой именно код нужно вернуть в оборот.
Чтобы убедиться, что проблема не в этом:
В этом случае никакие действия в 1С не помогут — КМ так и останется «Выведенным из оборота» в ГИС МТ. Вам придется либо делать ручной ввод в оборот в ЛК Честного ЗНАКа, либо перемаркировывать товар (заказывать новый код).
Подводя итог, можно сказать, что проблема «двойной продажи» после возврата в 1С:УТ 11 — это в большинстве случаев рассинхронизация внутреннего регистра 1С и внешнего реестра ГИС МТ. Для стабильной работы мы рекомендуем выполнить следующие действия:
Возврат в оборот ИС МП после оформления розничного возврата.Групповое изменение реквизитов только для точечного исправления ошибок, когда документ обмена не помогает.Помните, что справочник Штрихкоды упаковок товаров является лишь хранилищем строкового представления кода, а вся бизнес-логика и проверки строятся на регистре состояний. Работайте именно с состояниями, и вы сможете избежать большинства ошибок при торговле маркированной обувью.