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

Поле объекта не обнаружено — что означает и как исправить

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

Платформа не нашла у объекта того, к чему вы обратились через точку. В скобках она называет имя, которого нет: Поле объекта не обнаружено («Контрагнт»). Ошибка возникает в момент выполнения, а не при проверке модуля, — поэтому её часто ловят уже пользователи.

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

1. Опечатка в имени реквизита

Док.Контрагнт            // пропущена «е»
Док.Контрагент

Самая частая причина, и самая обидная. Платформа не подсказывает похожие имена: она просто говорит, что такого поля нет. Имя в скобках сообщения — это ровно то, что вы написали, сверьте его с конфигуратором посимвольно.

2. У этого типа такого реквизита нет

Ссылка.Количество        // у ссылки на номенклатуру нет количества
СтрокаТЧ.Количество      // а у строки табличной части — есть

Реквизит есть у документа, а обращаются к нему у справочника. Или наоборот: поле есть у строки табличной части, а обращаются к шапке. Проверьте, что за объект на самом деле лежит в переменной.

3. В запросе поле названо иначе

ВЫБРАТЬ Товар КАК Номенклатура ИЗ ...
// потом:
Выборка.Товар            // такого поля в результате нет

4. Обращение к колонке, которой нет в таблице значений

Таблица.Колонки.Добавить("Сумма");
Строка.СуммаСНДС         // колонку с таким именем не добавляли

У таблицы значений набор колонок задаётся кодом, и опечатка тут ничем не проверяется до самого обращения.

Что сделать

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

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

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

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

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

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