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

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

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

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

Для начала проанализируем, почему возникает этот сбой. В релизе 10.3.66.3 разработчики внесли значительные изменения, связанные с поддержкой формата фискальных данных ФФД 1.2 и обязательной маркировкой товаров (ИС МП). В коде формы документа ЧекККМ была добавлена логика управления доступностью элементов интерфейса, отвечающих за проверку кодов маркировки.

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

Способ 1: Программное исправление в конфигураторе

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

Разберем процесс исправления по шагам:

  1. Откройте базу в режиме Конфигуратор.
  2. Найдите в дереве метаданных документ ЧекККМ.
  3. Перейдите к его формам и откройте ФормаДокумента.
  4. Переключитесь на закладку Модуль.
  5. Найдите процедуру УстановитьДоступностьКнопкиПроверки(). Обычно проблемная строка находится в районе 604-й строки кода.
  6. Найдите следующую строку: ПодменюТоварыПроверить.МаркируемуюПродукцию.Доступность = Не ЧекПробитНаККМ;
  7. Замените её на блок кода с проверкой условия:
    
    Если ИспользуетсяПродукцияИСМП Тогда
        ПодменюТоварыПроверить.МаркируемуюПродукцию.Доступность = Не ЧекПробитНаККМ;
    КонецЕсли;
    

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

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

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

Выполните следующие действия в режиме «1С:Предприятие»:

  1. Перейдите в раздел Сервис — Настройки учета — Настройки интеграции ИС МП.
  2. Установите флажок (галочку) для любого вида продукции, даже если вы им не торгуете (например, «Духи и туалетная вода»).
  3. Сохраните настройки.

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

Способ 3: Установка официального патча EF_00_00337733

Компания «1С» оперативно отреагировала на проблему, зарегистрировав ошибку под номером 00-00337733. Для её устранения был выпущен официальный патч (исправление в виде расширения). Это наиболее предпочтительный метод для типовых конфигураций, так как он не требует снятия документа с поддержки.

Как установить патч:

  1. Если у вас настроено автоматическое обновление, зайдите в раздел Администрирование — Обслуживание — Обновление программы.
  2. В списке доступных исправлений найдите патч с идентификатором EF_00_00337733.
  3. Установите его и перезапустите программу.

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

Способ 4: Обновление до релиза 10.3.67.1 и выше

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

Дополнительная рекомендация: Очистка кэша

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

Для решения этой проблемы выполните очистку кэша:

  1. Закройте программу 1С.
  2. Удалите базу из списка в окне запуска и добавьте её заново. Это самый простой способ сбросить локальные временные файлы для конкретной информационной базы.
  3. Либо воспользуйтесь ручной очисткой папок %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8, удалив папки с именами-идентификаторами баз.

Резюме

Подведем итог: ошибка в релизе УТ 10.3.66.3 является следствием жесткой привязки интерфейса к функционалу маркировки. Если вы программист — используйте Способ 1 для быстрого исправления. Если вы пользователь базовой версии — используйте Способ 2. В идеальной ситуации следует установить официальный патч или обновиться до версии 10.3.67.1, где эта проблема была решена на уровне вендора.

← На главную