1C-Code → Ошибки 1С → Поле объекта не обнаружено
Сообщение платформы: Поле объекта не обнаружено
Платформа не нашла у объекта того, к чему вы обратились через точку. В скобках она называет имя, которого нет: Поле объекта не обнаружено («Контрагнт»). Ошибка возникает в момент выполнения, а не при проверке модуля, — поэтому её часто ловят уже пользователи.
Док.Контрагнт // пропущена «е»
Док.Контрагент
Самая частая причина, и самая обидная. Платформа не подсказывает похожие имена: она просто говорит, что такого поля нет. Имя в скобках сообщения — это ровно то, что вы написали, сверьте его с конфигуратором посимвольно.
Ссылка.Количество // у ссылки на номенклатуру нет количества
СтрокаТЧ.Количество // а у строки табличной части — есть
Реквизит есть у документа, а обращаются к нему у справочника. Или наоборот: поле есть у строки табличной части, а обращаются к шапке. Проверьте, что за объект на самом деле лежит в переменной.
ВЫБРАТЬ Товар КАК Номенклатура ИЗ ...
// потом:
Выборка.Товар // такого поля в результате нет
Таблица.Колонки.Добавить("Сумма");
Строка.СуммаСНДС // колонку с таким именем не добавляли
У таблицы значений набор колонок задаётся кодом, и опечатка тут ничем не проверяется до самого обращения.
Посмотрите на имя в скобках — это то, что искала платформа. Дальше выясните, что за объект в переменной: поставьте точку останова и загляните в него отладчиком, либо выведите ТипЗнч(Объект). Чаще всего окажется, что тип не тот, который вы предполагали.
Проверить себя на практике. В тренажёре те же ошибки возникают на настоящем интерпретаторе языка 1С: сообщения дословно те же, что у платформы, но исправить их можно сразу в браузере, без установки и без риска для рабочей базы.