При работе с программными продуктами 1С, особенно после плановых обновлений конфигурации, пользователи часто сталкиваются с техническими сбоями в механизмах печати. Одной из наиболее распространенных ошибок в последних релизах конфигураций «Розница 2.3» и «Управление нашей фирмой» стала ошибка «Метод объекта не обнаружен (Метаданные)». Этот сбой блокирует возможность открытия формы печати этикеток и ценников, парализуя работу торговой точки.
В этой статье мы подробно разберем причины возникновения данной ошибки, проанализируем механизмы её появления и изучим пошаговые инструкции по её устранению — от простых настроек интерфейса до установки официальных патчей и корректировки программного кода.
Прежде чем переходить к активным действиям, проанализируем ситуацию. Ошибка возникает в момент вызова обработки ПечатьЭтикетокИЦенников. Программный код системы ожидает получить объект (например, ссылку на справочник Номенклатура или Организация), у которого есть встроенный метод Метаданные(). Однако из-за недоработки в обновлении вместо ожидаемого объекта в процедуру передается переменная типа Структура или значение Неопределено.
Поскольку у структуры нет метода Метаданные(), платформа аварийно завершает выполнение операции. Это происходит на уровне общих модулей, отвечающих за интеграцию с Библиотекой стандартных подсистем (БСП). Рассмотрим подробнее, как мы можем исправить эту ситуацию различными способами.
Фирма «1С» оперативно выпускает исправления для критических ошибок, которые называются патчами. Это самый безопасный и правильный способ решения проблемы, так как он не требует снятия конфигурации с поддержки.
Разберем по шагам процесс установки патчей:
EF_60009536 или EF_00_00593467.Если у вас «Базовая» версия и автоматический поиск не дает результатов, проверим личный кабинет на портале 1С в разделе «Исправления ошибок». Патчи можно скачать вручную в виде архива и загрузить через тот же интерфейс в программе.
Иногда ошибка может быть вызвана тем, что система пытается прочитать старые настройки печати пользователя (сохраненные отборы, выбранные шаблоны), которые стали несовместимы с новым кодом. Обычная очистка кэша базы данных через параметры запуска (команда /ClearCache) не всегда помогает, так как настройки хранятся внутри базы данных.
Проанализируем процедуру очистки внутренних настроек:
Печать этикеток и ценников, и удалим их. Это сбросит форму печати к заводскому состоянию.Если вы используете версию ПРОФ и патч по какой-то причине еще не выпущен для вашего релиза, мы можем внести исправление самостоятельно. Проблема обычно локализована в общем модуле ПечатьЭтикетокИЦенниковПерезаполняемый или в модуле менеджера соответствующей обработки.
Посмотрим на пример кода, который вызывает сбой:
// Ошибочный фрагмент кода
ТипОбъекта = СсылкаНаОбъект.Метаданные().Имя;
Чтобы избежать ошибки, нам нужно добавить проверку на тип данных. Исправленный вариант будет выглядеть следующим образом:
// Безопасный вариант вызова
Если СсылкаНаОбъект <> Неопределено И ТипЗнч(СсылкаНаОбъект) <> Тип("Структура") Тогда
ТипОбъекта = СсылкаНаОбъект.Метаданные().Имя;
Иначе
// Логика обработки, если объект не определен
КонецЕсли;
Такая проверка позволяет системе «пропустить» проблемный участок, не вызывая критическую ошибку, и продолжить формирование ценников.
Для пользователей «Базовых» версий, где изменение конфигурации невозможно, а патчи еще не выпущены, спасением станет использование внешней обработки печати. Рассмотрим, как это работает:
Внешняя обработка — это файл с расширением .epf, который содержит в себе исправленный программный код печати. Мы можем запустить её через меню Файл — Открыть или подключить в разделе Печатные формы, отчеты и обработки — Дополнительные отчеты и обработки. Это позволит печатать ценники, обходя стандартный «сломанный» механизм конфигурации, пока разработчики 1С не выпустят официальное исправление в следующем релизе.
Важно помнить, что современные конфигурации 1С жестко привязаны к версиям платформы. Если вы обновили конфигурацию, но используете старую версию платформы (например, 8.3.18), некоторые методы БСП могут работать некорректно. Проверьте требования к релизу в файле Readme.txt, который идет в комплекте с обновлением. Рекомендуется использовать актуальные версии платформы ветки 8.3.22 или выше, так как в них оптимизирована работа с метаданными объектов в памяти.
Таким образом, мы выяснили, что ошибка носит чисто программный характер и связана с несоответствием типов данных. В большинстве случаев она решается установкой патчей, но знание альтернативных методов поможет вам сохранить работоспособность бизнеса в критической ситуации.