Как исправить ошибку передачи кодов маркировки легкой промышленности в 1С:Управление торговлей 10.3

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

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

Анализ технической причины ошибки

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

Выясним причину, по которой это происходит. В конфигурации УТ 10.3 за определение типа маркировки отвечает функция ТипМаркировкиККТПоВидуПродукции, расположенная в общем модуле ИнтеграцияИСКлиентСервер. В старых релизах (или при отсутствии актуальных обновлений БИС — Библиотеки интеграции с ИС) в этой функции может отсутствовать перечисление для категории «Товары легкой промышленности и одежда».

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


Функция ТипМаркировкиККТПоВидуПродукции(ВидПродукции) Экспорт
    Если ВидПродукции = Перечисления.ВидыПродукцииИС.Табак Тогда
        Возврат "00h";
    ИначеЕсли ВидПродукции = Перечисления.ВидыПродукцииИС.Обувь Тогда
        Возврат "05h";
    // Если здесь отсутствует проверка для легкой промышленности, 
    // функция вернет пустое значение или вызовет исключение.
    КонецЕсли;
КонецФункции

Способ 1: Обновление драйверов и обработок обслуживания (Основное решение)

Как показывает практика и опыт участников форума, наиболее эффективным и быстрым способом решения проблемы является комплексное обновление драйверов ККТ. Это критически важно, так как взаимодействие между 1С и кассой происходит через промежуточное звено — внешнюю обработку обслуживания (файл формата .epf) и сам драйвер производителя (например, Штрих-М или АТОЛ).

Выполним следующие шаги для исправления ситуации:

  1. Обновление драйвера производителя: Необходимо скачать с сайта производителя (Штрих-М, АТОЛ и др.) последнюю версию драйвера, поддерживающую работу с ФФД 1.2 и маркировкой.
  2. Обновление обработки в 1С: Перейдем в справочник «Торговое оборудование» и обновим обработку обслуживания. Важно использовать именно тот файл .epf, который идет в комплекте с новым драйвером или входит в состав актуального релиза конфигурации.
  3. Переподключение оборудования: После обновления драйвера рекомендуется удалить старое устройство из списка подключенного оборудования в 1С и создать его заново. Это принудительно обновит внутренние идентификаторы команд.

Способ 2: Проверка настроек номенклатуры и параметров ФФД

Рассмотрим ситуацию, когда драйверы обновлены, но ошибка сохраняется. Нам необходимо убедиться, что карточка товара заполнена корректно для системы маркировки. Проанализируем реквизит Вид продукции ИС. Для одежды и текстиля должно быть выбрано значение «Товары легкой промышленности и одежда».

Также стоит обратить внимание на формат фискальных данных (ФФД). При переходе на ФФД 1.2 требования к передаче кодов маркировки ужесточились. Теперь касса должна самостоятельно проверять код маркировки в системе «Честный знак» перед закрытием чека. Для этого 1С передает данные в тег 1163. Если в программе не настроена поддержка ФФД 1.2, данные могут уходить в старом формате, который не распознается современными прошивками ККТ.

Способ 3: Внесение правок в программный код (для разработчиков)

Если обновление конфигурации до последнего релиза по каким-то причинам невозможно, проанализируем возможность ручной корректировки кода. Нам нужно заставить функцию ТипМаркировкиККТПоВидуПродукции возвращать правильный идентификатор для легкой промышленности. Для большинства современных кассовых аппаратов код типа маркировки для одежды совпадает с обувным и имеет значение "05h" (в шестнадцатеричной системе).

Посмотрим на пример того, как можно дополнить функцию в модуле ИнтеграцияИСКлиентСервер:


// Добавляем проверку для товаров легкой промышленности
ИначеЕсли ВидПродукции = Перечисления.ВидыПродукцииИС.ТоварыЛегкойПромышленности Тогда
    Возврат "05h"; 

После внесения правок необходимо убедиться, что структура ДанныеКодаТоварнойНоменклатуры, которая передается в МенеджерОборудования, содержит заполненное поле ТипМаркировки. Именно это значение используется драйвером для формирования корректного запроса к ККТ.

Особенности работы с оборудованием «Штрих-М»

Разберем специфику работы с популярными кассами «Штрих-М». Часто проблема «пустой строки» возникает из-за того, что в настройках самого драйвера (в утилите «Тест драйвера») не включены необходимые флаги для работы с маркировкой. Проверьте, что в таблицах настроек ККТ активирована поддержка тега 1162 (или 1163 для ФФД 1.2).

Важный момент: если вы используете старую версию обработки ShtrihMkkt.epf, она может просто не знать о существовании новых видов продукции. Обязательно проверьте версию API, которую использует обработка, и сопоставьте ее с версией установленного драйвера CBM.dll или ShtrihM_KKT_8.dll.

Влияние расширения списка маркируемых товаров (2024–2025)

Посмотрим на перспективу: с 2024 года список товаров легкой промышленности, подлежащих маркировке, существенно расширился (свитеры, спортивные костюмы, шали и др.). Если ваша версия УТ 10.3 была выпущена до этих изменений, регулярные выражения для разбора кодов DataMatrix могут работать некорректно.

Проанализируем ситуацию: если код сканируется, но система выдает ошибку «Неверный формат», это означает, что шаблон разбора кода в модуле МаркировкаТоваровГиИСМ устарел. В этом случае потребуется либо обновление конфигурации, либо ручная правка регулярных выражений, чтобы программа могла корректно выделять GTIN и SerialNumber из считанной строки кода маркировки.

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

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

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

← На главную