Как выполнить поэкземплярную проверку марок при приемке товаров по ОСУ в 1С:УТ 11, чтобы не возникало актов расхождения?

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

При работе с маркируемой продукцией (парфюмерия, косметика, бытовая химия, БАДы) многие компании сталкиваются со специфической проблемой в 1С:Управление торговлей 11.5. Поставщик отгружает товар в режиме объемно-сортового учета (ОСУ), при котором в электронном УПД передаются только коды GTIN и количество товара. Однако складские службы и отдел закупок, желая минимизировать риски брака или нечитаемых марок, пытаются провести полную поэкземплярную проверку в документе поступления. Это приводит к тому, что система 1С фиксирует "лишние" марки, которых нет в документе, и автоматически формирует Акт о расхождениях после поступления.

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

Разбор причины: Почему 1С видит «лишний» товар?

Для начала выясним причину возникновения ошибки. В режиме ОСУ в XML-файле входящего электронного документа (УПД) секция с кодами маркировки отсутствует. Вместо этого в документе указаны только идентификатор товара GTIN и его суммарное количество. Когда сотрудник склада открывает форму Проверка и подбор маркируемой продукции в документе Приобретение товаров и услуг и сканирует DataMatrix, программа выполняет следующие действия:

  1. Ищет считанный код в составе входящего документа.
  2. Не находит его, так как поставщик не указывал марки поэкземплярно.
  3. Маркирует этот код как «найденный сверх документа» (в окне проверки он отображается с пиктограммой плюса или в отдельной ветке структуры).
  4. При закрытии формы проверки система фиксирует расхождение между данными поставщика (0 марок) и данными склада (N марок).

Результатом становится заполнение вкладки Товары (расхождения), что блокирует корректное закрытие документа и требует объяснения причин «излишков».

Решение 1: Смена бизнес-процесса и использование фоновых проверок

Рассмотрим самый правильный с точки зрения методологии 1С и «Честного ЗНАКа» способ. Поскольку при ОСУ право собственности на конкретные коды маркировки в системе ГИС МТ не переходит к покупателю в момент подписания УПД (товары числятся за производителем/импортером до момента розничной продажи), жесткая сверка с документом не имеет смысла.

Вместо использования стандартного окна Проверка и подбор внутри документа, мы можем организовать проверку статусов кодов через независимые инструменты. Проанализируем возможности:

Решение 2: Использование специализированных обработок

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

Обработка должна уметь работать с TrueAPI системы «Честный ЗНАК». Вместо того чтобы пытаться записать марку в структуру упаковок документа, она просто выполняет запрос info по каждому коду. Разберем пример кода на языке 1С, который может быть частью такой проверки (утрированно):


// Пример получения информации о коде через API
Функция ПроверитьСтатусКода(ТекстМарки)
    Настройки = ИнтеграцияИСМП.ПолучитьНастройки();
    Токен = ИнтеграцияИСМП.ПолучитьТокенАвторизации(Настройки);
    
    Запрос = Новый HTTPЗапрос("/api/v4/true-api/codes/info");
    Запрос.УстановитьТелоИзСтроки("[\"" + ТекстМарки + "\"]");
    
    Ответ = ИнтеграцияИСМП.ВыполнитьЗапросКГИСМТ(Запрос, Токен);
    
    Если Ответ.КодСостояния = 200 Тогда
        Данные = ИнтеграцияИСМП.ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку());
        Возврат Данные[0].status; // Например, "IN_CIRCULATION"
    КонецЕсли;
КонецФункции

Используя подобные инструменты, склад получает подтверждение: марка легальна, она находится в обороте. При этом документ Приобретение товаров и услуг остается в режиме ОСУ (по количеству), и акты расхождений не создаются.

Решение 3: Разупаковка транспортных упаковок (если они есть)

Иногда поставщик в режиме ОСУ все же указывает коды транспортных упаковок (SSCC). В этом случае в окне проверки 1С вы увидите структуру «Коробка — Вложенные товары (GTIN)». Рассмотрим действия в этой ситуации:

  1. Сканируем код транспортной упаковки (коробки).
  2. Если система «знает» состав этой коробки из данных ЭДО, она заполнит вложенные позиции автоматически.
  3. Если склад хочет проверить каждое вложение, необходимо использовать функцию Распаковать в окне проверки. После этого можно сканировать индивидуальные марки.

Важный нюанс: Если в УПД нет данных о составе упаковки, попытка сканирования марок внутри нее все равно приведет к созданию расхождений. В режиме ОСУ рекомендуется проверять только целостность транспортной упаковки.

Решение 4: Мобильное приложение «Честный ЗНАК.Бизнес»

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

Итоговые рекомендации

Выясним, какой путь наиболее эффективен для бизнеса. Попытка заставить 1С работать в режиме «поэкземплярная проверка для документа ОСУ» — это борьба с архитектурой системы. Правильнее будет:

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

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

← На главную