Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ERR_METHOD_NOT_FOUND 1С:Предприятие и СУБД

1С Ошибка: Метод объекта не обнаружен (Method not found) — Причины и фикс

Обновлено: 25.08.2026 · Официальная документация ↗
  • Ошибка выполнения программного кода: {ОбщийМодуль.Имя.Модуль(Строка)}: Метод объекта не обнаружен (ИмяМетода).
  • Сбой возникает при вызове процедур или функций через точку от переменной объекта.
  • Ошибка часто проявляется при обновлении типовых конфигураций или вызове серверных методов из контекста клиента.

1. Проверка директивы Экспорт (Export) в объявлении метода

Метод объекта не может быть вызван снаружи модуля, если он не объявлен как Экспорт:

// НЕВЕРНО:
Процедура РассчитатьСкидку()
    // код
КонецПроцедуры

// ВЕРНО:
Процедура РассчитатьСкидку() Экспорт
    // код
КонецПроцедуры

2. Проверка контекста компиляции модулей (&НаСервере / &НаКлиенте)

Если метод объявлен в модуле формы с директивой &НаСервере, его нельзя вызвать напрямую из клиентского кода без серверного контекста:

&НаКлиенте
Процедура КомандаВыполнить(Команда)
    // Ошибка: прямой вызов серверной процедуры без перехода контекста
    // ВыполнитьНаСервере(); 
    ВыполнитьНаСервере(); // Процедура должна быть объявлена с директивой &НаСервере
КонецПроцедуры

&НаСервере
Процедура ВыполнитьНаСервере()
    // Корректный контекст
КонецПроцедуры

3. Проверка реального типа переменной перед вызовом

Ошибка возникает, если переменная содержит Неопределено или ссылку вместо самого объекта:

// Ошибка: у ссылки нет методов модуля объекта (например, Записать() или Рассчитать())
// СсылкаНаДокумент.Рассчитать(); 

// ВЕРНО: получение объекта
ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект();
Если ДокументОбъект <> Неопределено Тогда
    ДокументОбъект.Рассчитать();
КонецЕсли;

4. Проверка прав доступа и флагов Общих Модулей

Откройте свойства Общего Модуля в Конфигураторе и проверьте галочки: Клиент (управляемое приложение), Сервер, Внешнее соединение.

💡 Практика специалистов: При разработке расширений конфигурации (cfe) всегда проверяйте аннотации методов (&Вместо, &После, &Перед). Несовпадение сигнатуры или опечатка в имени переопределяемого метода приведет к ошибке 'Метод объекта не обнаружен'.

Частые вопросы (FAQ)

Почему метод есть в модуле менеджера, но возникает 'Метод объекта не обнаружен'?

Методы Модуля Менеджера вызываются через менеджер объекта (Справочники.Номенклатура.ИмяМетода()), а методы Модуля Объекта — через конкретный экземпляр (ОбъектНоменклатура.ИмяМетода()). Не путайте эти контексты.

Как проверить наличие метода у объекта динамически?

В типовых конфигурациях используйте функцию ОбщегоНазначения.ЕстьРеквизитИлиСвойствоОбъекта() или блок Попытка...Исключение.

Почему ошибка возникает при вызове веб-сервиса или фонового задания?

В фоновом задании недоступен клиентский контекст. Все общие модули, вызываемые из фоновых заданий, должны иметь флаг 'Сервер' в свойствах.

Что означает директива &НаКлиентеНаСервереБезКонтекста?

Она позволяет компилировать процедуру как на клиенте, так и на сервере, но запрещает обращаться к реквизитам формы (контексту) напрямую.

Полезные материалы
Рекомендуем