1C-CodeОшибки 1С → Метод объекта не обнаружен

Метод объекта не обнаружен — разбор причин

Сообщение платформы: Метод объекта не обнаружен

У объекта нет метода, который вы вызвали. В скобках — имя метода. Как и «поле объекта не обнаружено», ловится только при выполнении.

Отчего это бывает

1. Метод есть у объекта, но не у ссылки

Ссылка.Записать();              // у ссылки нет Записать
Объект = Ссылка.ПолучитьОбъект();
Объект.Записать();              // а у объекта — есть

Ссылка — это указатель для чтения. Чтобы менять и записывать, нужен объект, и получают его через ПолучитьОбъект(). Это едва ли не самая частая причина.

2. Опечатка в имени метода

Массив.Добавит(Элемент);        // пропущена «ь»

3. Метод существует только на клиенте или только на сервере

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

Что сделать

Проверьте тип того, что лежит в переменной: Сообщить(ТипЗнч(Объект)). Дальше — синтакс-помощник по этому типу: он перечисляет ровно те методы, которые у него есть.

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

Открыть тренажёр

Разобраться глубже

Другие частые ошибки

Поле объекта не обнаружено Значение не является значением объектного типа Переменная не определена Индекс находится за границами массива Деление на ноль Преобразование значения типа «Строка» к числу невозможно