Как исправить ошибку «Не указано значение параметра "Тип кода маркировки"» в 1С?

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

Многие пользователи систем 1С:Управление торговлей, 1С:Комплексная автоматизация и 1С:Бухгалтерия столкнулись с внезапным прекращением работы механизмов эмиссии кодов маркировки. При попытке отправить Заказ на эмиссию кодов маркировки СУЗ система выдает критическую ошибку: «Не указано значение параметра "Тип кода маркировки"». Ситуация осложняется тем, что в пользовательском интерфейсе многих релизов просто нет отдельного поля с таким названием, которое можно было бы заполнить вручную.

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

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

Проанализируем ситуацию: корень проблемы кроется не во внутренних сбоях вашей базы данных, а во внешних изменениях. Оператор системы маркировки «Честный ЗНАК» (ГИС МТ) перевел Станцию управления заказами (СУЗ) на новую версию программного интерфейса — API v2.0. В этой версии параметры, которые ранее были необязательными или заполнялись сервером автоматически (например, тип кода GS1_DATAMATRIX), стали строго обязательными для передачи в теле запроса.

Поскольку ваша конфигурация 1С пытается взаимодействовать с ГИС МТ по старому протоколу, сервер маркировки отклоняет запрос, так как не получает требуемый идентификатор типа кода. Это особенно актуально для товарных групп «Молочная продукция», «Упакованная вода» и «Легкая промышленность».

Решение 1: Установка оперативных исправлений (патчей)

Фирма 1С оперативно реагирует на такие изменения, выпуская исправления (патчи) еще до выхода официальных релизов конфигураций. Проверим наличие и установим необходимые исправления:

  1. Перейдем в раздел Администрирование (или НСИ и администрирование).
  2. Выберем пункт Обслуживание, далее развернем подраздел Обновление программы.
  3. Нажмем на ссылку Установленные исправления (патчи).
  4. В открывшемся окне нажмем Подбор (если база подключена к интернет-поддержке) или проверим список уже загруженных патчей.
  5. Нам необходимо найти и установить патчи, в описании которых упоминается «ГИС МТ», «Маркировка» или исправление ошибок работы с СУЗ. Часто такие патчи имеют префикс EF_00_....

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

Решение 2: Обновление конфигурации до актуального релиза

Если установка патчей не помогает или конфигурация значительно устарела, необходимо выполнить полноценное обновление. Рассмотрим версии, в которых функционал работы с API 2.0 был стабилизирован:

При обновлении система обновляет метаданные справочников и логику формирования XML/JSON пакетов, отправляемых в «Честный ЗНАК», добавляя туда злополучный параметр Тип кода маркировки.

Решение 3: Проверка настроек Видов номенклатуры

Иногда ошибка сохраняется из-за некорректно выбранной категории продукции. Система 1С определяет тип кода на основании настроек в справочнике Номенклатура. Проделаем следующие действия:

  1. Откроем карточку номенклатуры, по которой не проходит эмиссия.
  2. Перейдем в её Вид номенклатуры.
  3. Проверим поле Тип номенклатуры. Для маркируемого товара там должно быть указано, например, Молочная продукция или Обувная продукция.
  4. Убедимся, что в поле Особенность учета выбрана верная категория ИС МП.

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

Решение 4: Перенастройка подключения к СУЗ

Проанализируем параметры связи с сервером «Честного ЗНАКа». Параметр типа кода может зависеть от корректности идентификатора соединения. Выполним следующие шаги:

  1. Зайдем в раздел Настройки маркировки.
  2. Найдем справочник Станции управления заказами (СУЗ).
  3. Откроем текущую настройку СУЗ.
  4. Проверим поле Идентификатор соединения (OMS ID).
  5. Попробуем нажать кнопку Обновить настройки (если она доступна в вашем релизе) или перевыбрать OMS ID из выпадающего списка, предварительно проверив его в личном кабинете «Честного ЗНАКа» (раздел «Профиль» -> «Данные участника»).

Решение 5: Создание документа «с нуля»

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

Рекомендация: не пытайтесь перезаполнить или скопировать старый документ. Создайте абсолютно новый документ заказа, заново подберите в него номенклатуру и заполните все поля. В новом объекте программные обработчики 1С корректно проставят скрытые параметры типа кода маркировки (GS1_DATAMATRIX).

Техническая справка для разработчиков

Если вы занимаетесь отладкой, обратите внимание на общий модуль, отвечающий за интеграцию с ИС МП (например, ИнтеграцияИСМП или МаркировкаТоваровГИСМТПереопределяемый). В момент формирования структуры заказа программный код должен обращаться к функции определения типа кода. Пример логики, которую добавляют патчи:


// Пример логики определения типа кода
ТипКодаМаркировки = ПрефиксыИСМП.ПолучитьТипКодаДляКатегории(КатегорияПродукции);
Если ТипКодаМаркировки = Неопределено Тогда
    ТипКодаМаркировки = "GS1_DATAMATRIX"; // Принудительная установка для API 2.0
КонецЕсли;
СтруктураПараметров.Вставить("contactType", ТипКодаМаркировки);

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

← На главную