Как исправить ошибку «Есть упаковки, которые требуют перемаркировки» в 1С:Розница, если кнопка «Перемаркировка» отсутствует?

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

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

Выясним причину возникновения ошибки

Для начала проанализируем ситуацию с точки зрения логики взаимодействия и ЕГАИС. Ошибка обычно возникает при работе с форматом ЕГАИС 3.0, где критически важна иерархия упаковок. Когда поставщик присылает товар в групповой таре (коробах), в электронной накладной (ТТН) зафиксирована жесткая связь: «Марка бутылки А находится внутри короба Б».

Если в процессе приемки кладовщик сканирует только бутылки, игнорируя штрихкоды упаковок, или если фактически считанная марка по данным системы числится в другом коробе, возникает логический конфликт. Система понимает, что текущая «упаковка» не соответствует данным документа, и требует провести процедуру перемаркировки (программного переподчинения марок новым или существующим упаковкам). Баг конкретных релизов 1С:Розница (например, 2.2.10 и 2.2.11) заключался в том, что условие проверки срабатывало, а элемент интерфейса для исправления ситуации не отображался.

Решение 1: Обновление конфигурации

Прежде чем приступать к сложным манипуляциям, рассмотрим самый очевидный способ. Проблема признана разработчиками как программная ошибка. В более поздних версиях ветки 2.2 (начиная с 2.2.12) и при переходе на редакцию 2.3 логика работы с групповой тарой была пересмотрена.

Многие пользователи опасались обновляться в периоды пиковых нагрузок (например, перед Новым годом) из-за сопутствующих изменений, таких как переход на ставку НДС 20%. Однако, если техническая возможность есть, обновление до актуального релиза — это наиболее правильный и стабильный метод решения вопроса.

Решение 2: Изменение режима детализации проверки

Если обновление в данный момент невозможно, разберем пользовательские способы обхода блокировки. Иногда кнопка Перемаркировка не появляется из-за неверно выбранного режима отображения данных в форме проверки.

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

Решение 3: Приемка только «бутылками»

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

  1. В настройках интеграции с ЕГАИС или непосредственно в документе проверки установим детализацию «Бутылки».
  2. Если система уже зафиксировала наличие коробов, попробуем «развалить» упаковки в дереве проверки, чтобы остались только индивидуальные марки.
  3. Удалим пустые упаковки (короба), в которых не осталось привязанных марок после сканирования. Часто именно «фантомные» пустые упаковки вызывают ошибку перемаркировки.

Решение 4: Исправление программного кода (для программистов)

Если никакие настройки не помогают, а завершить приемку нужно «здесь и сейчас», мы можем прибегнуть к редактированию кода. Нам необходимо найти место, где система принимает решение о необходимости перемаркировки, и принудительно отключить эту проверку.

Разберем по шагам, где именно вносить правки:

  1. Откроем конфигуратор и найдем обработку ПроверкаПоступившейАлкогольнойПродукции.
  2. Перейдем в модуль формы этой обработки.
  3. Нас интересует функция, отвечающая за проверку статусов упаковок перед закрытием формы. Обычно она называется ПроверитьНаличиеУпаковокТребующихПеремаркировки или имеет схожее название, связанное с ТребуетПереупаковки.

Рассмотрим пример того, как можно модифицировать код, чтобы обойти ошибку. Нам нужно, чтобы функция всегда возвращала Ложь (то есть «перемаркировка не требуется»):


// В модуле обработки ПроверкаПоступившейАлкогольнойПродукции
&НаСервере
Функция ПроверитьНаличиеУпаковокТребующихПеремаркировки()
    
    // Оригинальная логика 1С может быть ошибочной в данном релизе
    // РезультатПроверки = ВыполнитьСтандартнуюПроверку(); 
    
    // Принудительно возвращаем Ложь, чтобы пропустить блокировку
    Возврат Ложь;
    
КонецФункции

Также проанализируем ситуацию, когда необходимо закомментировать вызов в процедуре завершения проверки. Найдем процедуру ЗавершитьПроверку (или ЗавершитьПроверкуВыполнить) и посмотрим на условие:


&НаКлиенте
Процедура ЗавершитьПроверку(Команда)
    
    // Если ТребуетсяПеремаркировка(Объект) Тогда 
    //     ТекстСообщения = "Есть упаковки, которые требуют перемаркировки";
    //     ПоказатьПредупреждение(, ТекстСообщения);
    //     Возврат;
    // КонецЕсли;
    
    // Продолжение стандартного алгоритма завершения
    ...
КонецПроцедуры

Важный момент: Мы рекомендуем использовать Расширения конфигурации для подобных правок. Это позволит не снимать основную конфигурацию с поддержки и легко откатить изменения после обновления программы на исправленный релиз.

Дополнительные рекомендации по настройке ЕГАИС

Выясним, какие еще настройки могут влиять на поведение системы при проверке алкоголя:

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

← На главную