Как исправить ошибку «Поле объекта не обнаружено (ТипУпаковки)» в 1С при маркировке товаров

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

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

Анализ причины возникновения ошибки

Проанализируем ситуацию: данная ошибка носит чисто программный характер и признана официальным багом вендора (компании 1С). Она массово проявлялась в релизах 2020–2021 годов, особенно в ветке конфигурации 11.4.11. Суть проблемы заключается в несоответствии между структурой данных, которую ожидает программный код в общих модулях интеграции с ИС МП, и фактическим составом колонок в объекте «Дерево упаковок», который формируется в экранных формах при сканировании или вводе КМ.

Когда система выполняет процедуру обработки штрихкодов, она пытается программно обратиться к свойству ТипУпаковки для каждого элемента коллекции. Если в текущей версии формы или при определенных настройках дерева это поле не было инициализировано, 1С выдает исключение, так как объект метаданных или строка дерева просто не содержат такого реквизита.

Способ 1. Установка официальных патчей (исправлений)

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

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

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

Способ 2. Обновление конфигурации и платформы

Посмотрим на ситуацию со стороны системных требований. Часто ошибка возникает из-за того, что новый функционал маркировки требует современных механизмов платформы, которые отсутствуют в старых версиях. Например, даже если у вас установлена платформа 8.3.16, для стабильной работы современных протоколов криптографии и обмена данными с ГИС МТ (Честный ЗНАК) рекомендуется использовать версии не ниже 8.3.18 или 8.3.21.

Разберем этапы обновления:

  1. Проанализируем текущую версию конфигурации. Ошибка была полностью устранена в релизах ветки 11.4.13 и выше. Оптимальным решением будет переход на актуальную версию (например, 11.5), где механизмы взаимодействия с маркировкой были полностью переписаны и стабилизированы.
  2. Перед обновлением обязательно выполним резервное копирование информационной базы.
  3. После обновления конфигурации крайне важно обновить платформу 1С:Предприятие до рекомендуемой в файле v8upd.htm (идет в комплекте с дистрибутивом релиза).

Способ 3. Программная корректировка общего модуля (Hotfix)

Если обновление в данный момент невозможно, а работать нужно немедленно, применим «ручное» исправление кода. Этот метод требует прав доступа к конфигуратору и перевода базы в режим возможности редактирования.

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

  1. Откроем Конфигуратор.
  2. Найдем общий модуль ШтрихкодированиеИСМПСлужебный.
  3. Внутри модуля найдем функцию СформироватьОбработанныеШтрихкодыПоДаннымДереваУпаковок(ДеревоУпаковок).
  4. Проанализируем цикл перебора строк дерева. Нам нужно найти строку, где происходит обращение к отсутствующему свойству.

Для исправления ошибки можно закомментировать строку или добавить проверку на наличие свойства. Рассмотрим пример кода:


// В функции СформироватьОбработанныеШтрихкодыПоДаннымДереваУпаковок
Для Каждого СтрокаДерева Из ДеревоУпаковок.Строки Цикл
    // ... какой-то код ...
    
    // Было:
    // ДанныеКодаМаркировки.ТипУпаковки = СтрокаДерева.ТипУпаковки;
    
    // Вариант исправления через исключение:
    Попытка
        ДанныеКодаМаркировки.ТипУпаковки = СтрокаДерева.ТипУпаковки;
    Исключение
        // Если поля нет, просто пропускаем заполнение
    КонецПопытки;
    
    // Либо просто закомментировать, если агрегация не используется:
    // ДанныеКодаМаркировки.ТипУпаковки = СтрокаДерева.ТипУпаковки; 
КонецЦикла;

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

Способ 4. Очистка пользовательских настроек и кэша

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

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Выберем пункт Персональные настройки пользователей — Очистка настроек.
  3. Найдем нужного пользователя и удалим настройки для формы Маркировка товаров ИС МП.
  4. Дополнительно рекомендуется очистить локальный кэш на компьютере. Самый простой способ — удалить базу из списка в окне запуска 1С и добавить её заново.

Рекомендации по дальнейшей эксплуатации

Мы проанализировали основные пути решения проблемы. Стоит помнить, что правила работы с маркировкой («Честный ЗНАК») постоянно меняются на законодательном уровне. Использование старых релизов конфигураций (таких как 11.4.11) несет в себе риски не только технических ошибок, но и несоответствия форматам передачи данных в ГИС МТ.

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

← На главную