Как исправить ошибку «не удалось распределить код маркировки по товарам» в 1С:УТ 11.5 при продаже маркированного товара

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

С введением обязательного разрешительного режима (проверки кодов маркировки в реальном времени через систему «Честный ЗНАК») многие пользователи конфигурации 1С:Управление торговлей 11.5 столкнулись с критической ошибкой при пробитии чеков. Ошибка «не удалось распределить код маркировки по товарам...» обычно проявляется после обновления прошивки ККТ до версии 5.17 и выше. Ситуация осложняется тем, что сообщение об ошибке часто возникает уже после того, как кассир принял оплату, что блокирует работу розничной точки.

В этой статье мы подробно разберем причины возникновения данной проблемы и рассмотрим пошаговые методы её решения — от простых настроек интерфейса до внесения изменений в программный код.

Причина возникновения ошибки: Разрешительный режим и логика ККТ

Проанализируем ситуацию: начиная с версий прошивок 5.17 (для АТОЛ) и аналогичных для других производителей, ККТ берет на себя часть функций по проверке кодов маркировки. Программа 1С при этом должна корректно передать структуру данных в драйвер, а после получения ответа от кассы — сопоставить (распределить) полученные результаты проверки с конкретными строками в документе продажи. Если версии Библиотеки подключаемого оборудования (БПО), драйвера кассы и самой конфигурации не согласованы, механизм распределения «теряет» связь между маркой и товарной позицией.

Решение 1: Обновление конфигурации и установка патчей

Прежде всего, рассмотрим самый надежный и рекомендованный вендором способ. Разработчики 1С оперативно выпускают исправления для механизмов интеграции с ИС МП. Выясним, почему это важно: алгоритмы проверки кодов меняются практически ежемесячно, и старые релизы просто не содержат актуальных структур для обмена данными с обновленными прошивками касс. Кроме того, своевременное обновление позволяет заранее подготовиться к другим изменениям законодательства, таким как обновление УТ 11.5 на ставку 22% после наступления 2026 г..

  1. Проверим текущий релиз 1С:Управление торговлей. Если версия ниже 11.5.17.x, необходимо выполнить обновление.
  2. Перейдем в раздел «Администрирование» — «Обслуживание» — «Обновление программы» — «Установленные исправления (патчи)».
  3. Проанализируем список доступных патчей. Особое внимание стоит уделить исправлениям с кодами типа EF_00_00615432 (или аналогичным для вашего релиза), в описании которых фигурирует «Ошибка распределения кодов маркировки в рознице».
  4. Установим все актуальные патчи для модуля ИнтеграцияИСМП.

Решение 2: Настройка учетной политики серий

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

Разберем необходимые настройки:

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

Решение 3: Обновление драйверов и БПО

Проанализируем техническое сопряжение 1С и кассового аппарата. Для работы с прошивками 5.17+ требуются драйверы не ниже версии 10.10.3.0 (для АТОЛ). Если в системе установлен старый драйвер, он может некорректно возвращать структуру JSON с результатом проверки марки, что и вызывает ошибку распределения. В случаях, когда в торговой сети используется большой парк техники, может потребоваться массовое исправление настроек ОФД для ККТ АТОЛ, чтобы оперативно восстановить корректную связь с оборудованием.

Пошаговые действия:

  1. Скачаем и установим актуальную версию драйвера ККТ от производителя в операционную систему.
  2. В 1С перейдем в «НСИ и администрирование» — «РМК и оборудование» — «Подключаемое оборудование».
  3. Откроем настройки ККТ и обновим версию драйвера внутри 1С, выбрав актуальный xml-файл или обновив из состава БПО.

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

Если обновление конфигурации по каким-то причинам невозможно в данный момент, или оно не помогло для специфических групп товаров (например, алкогольной продукции), рассмотрим вариант исправления в коде. Чтобы убедиться, что ваши правки не конфликтуют с другими расширениями, рекомендуется предварительно выполнить анализ конфигураций, расширений и отчетов на наличие ошибок.

Нам потребуется внести изменения в общий модуль РозничныеПродажиЛокализация. Рассмотрим пример исправления в функции ПолучитьТоварыИШтрихкодыДляИСМП. В некоторых случаях запрос к товарам работает некорректно из-за отсутствия явной проверки особенностей учета.

Проанализируем пример кода для модификации:


// В функции ПолучитьТоварыИШтрихкодыДляИСМП необходимо модифицировать запрос
// Добавляем проверку на вид номенклатуры или особенность учета

ТекстЗапроса = "ВЫБРАТЬ
               | ...
               | ГДЕ
               | (Номенклатура.ОсобенностьУчета = ЗНАЧЕНИЕ(Перечисление.ОсобенностиУчетаНоменклатуры.АлкогольнаяПродукция)
               | ИЛИ Номенклатура.ОсобенностьУчета = ЗНАЧЕНИЕ(Перечисление.ОсобенностиУчетаНоменклатуры.МаркируемаяПродукцияГИСМ))";

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

Резюме и дополнительные рекомендации

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

Если после сбоев возникла необходимость восстановить данные в системе, можно использовать загрузку и изменение фискальных операций из файла Excel. А в случаях, когда требуется повторная печать носителя с кодом, пригодится возможность вывести коды маркировки заказа на эмиссию с криптохвостом — для этого подойдёт обработка проверки и печати кодов маркировки.

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

← На главную