1C-CodeОшибки 1С → Переменная не определена

Переменная не определена в 1С — почему и что делать

Сообщение платформы: Переменная не определена

Платформа встретила имя, которому нигде ничего не присваивали и которое не объявлено. Эта ошибка находится ПРИ ПРОВЕРКЕ МОДУЛЯ, то есть до запуска, — и это хорошая новость: до пользователя она не доедет.

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

1. Опечатка

Итого = 0;
Итго = Итого + Сумма;   // «Итго» видит платформа как новое имя

В 1С переменная создаётся присваиванием, поэтому опечатка слева от знака равенства НЕ является ошибкой — она создаёт новую переменную. А вот опечатка справа даёт это сообщение.

2. Обращение к переменной другого модуля

ОбщийМодуль.НужноеЗначение    // так не работает

Переменные модуля наружу не видны. Наружу отдают экспортные функции, а не переменные.

3. Имя занято ключевым словом

Для = 5;    // «Для» — ключевое слово, именем быть не может

Что сделать

Синтаксический контроль в конфигураторе (Ctrl+F7) показывает все такие места разом, до запуска. Возьмите за правило проходить его перед сохранением: он ловит этот класс ошибок целиком.

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

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

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

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

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