Почему в 1С возникает ошибка «Переменная не определена (ПланыСчетов)» и как ее исправить?

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

При изучении основ разработки в системе «1С:Предприятие 8.3», особенно при прохождении известного обучающего курса М.Г. Радченко, начинающие программисты часто сталкиваются с досадной ошибкой при написании кода для проведения документов. Система выдает сообщение: «Переменная не определена (ПланыСчетов)». Ситуация осложняется тем, что визуально объект в конфигурации существует, он правильно назван, а код написан в точном соответствии с учебником. Рассмотрим подробно, почему это происходит и как настроить рабочую среду корректно.

Анализ проблемы: почему конфигуратор «не видит» объект

Разберем типичную ситуацию. В модуле объекта документа (например, ПриходнаяНакладная) в процедуре ОбработкаПроведения создается программный код для записи движений в регистр бухгалтерии. Код выглядит стандартно:


Движение = Движения.Управленческий.Добавить();
Движение.СчетДт = ПланыСчетов.Основной.Товары;
Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщиками;
Движение.Период = Дата;

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

Если конфигуратор пытается проверить ваш код на совместимость с мобильным сервером, он закономерно сообщает, что такой переменной, как ПланыСчетов, в контексте мобильного приложения просто не существует.

Решение №1: Настройка параметров синтакс-контроля

Это самое частое решение, которое помогает в 90% случаев при прохождении уроков. Нам необходимо указать конфигуратору, для каких именно режимов работы приложения следует проверять синтаксис. Проанализируем шаги по настройке:

  1. Откроем конфигуратор и перейдем в верхнее меню Сервис — Параметры.
  2. В открывшемся окне выберем вкладку Модули, а внутри нее — подвкладку Проверка.
  3. Найдем в списке флажки, относящиеся к мобильной платформе. Это пункты: «Мобильное приложение-клиент» и «Мобильное приложение-сервер».
  4. Снимем эти галочки. Для обучения по стандартной методике нам достаточно оставить проверку для режимов «Тонкий клиент», «Веб-клиент» и «Сервер».
  5. Нажмем «Применить» и повторно запустим проверку модуля (Ctrl + F7). Ошибка должна исчезнуть.

Решение №2: Проверка свойств конфигурации

Если изменение настроек проверки не помогло или вы хотите полностью исключить конфликты с мобильной платформой, проверим свойства самого корня конфигурации. Рассмотрим ситуацию подробнее:

Щелкнем правой кнопкой мыши на самом верхнем элементе в дереве метаданных (название вашей конфигурации) и выберем пункт Свойства. В открывшейся панели найдем свойство «Назначение использования». Если там установлены флажки одновременно на «Приложение для ПК» и «Мобильное приложение», платформа будет требовать универсальности кода. В рамках обучения бухгалтерскому учету по Радченко рекомендуется снять флажок с мобильного приложения, так как учебная конфигурация на это не рассчитана.

Решение №3: Проверка наличия предопределенных счетов

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

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

Дополнительные технические нюансы 16 занятия

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

Подводя итог, можно сказать, что обучение разработке в 1С требует внимания не только к коду, но и к настройкам самой среды разработки. Отключение проверок для мобильных платформ — это стандартная практика при разработке классических настольных решений, использующих сложные механизмы учета. Следуя этим инструкциям, вы успешно завершите 16 занятие и сможете двигаться дальше по программе курса.

← На главную