Объявления переменных должны быть расположены в начале модуля, процедуры или функции

Объявления переменных должны быть расположены в начале модуля, процедуры или функции

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

Пример отображения ошибки в конфигураторе:

Объявления переменных должны быть расположены в начале модуля
Объявления переменных должны быть расположены в начале модуля, процедуры или функции

Рассмотрим структуру программных модулей в 1с, потому что это поможет в дальнейшем понять откуда взялась проблема.

В программном модуле (общие модули, модули объектов, модули менеджеров объектов, модули форм, команд и т.п.) в общем случае могут присутствовать следующие разделы в приведенной ниже последовательности:

  • заголовок модуля
  • раздел описания переменных
  • экспортные процедуры и функции модуля, составляющие его программный интерфейс
  • обработчики событий объекта (формы)
  • служебные процедуры и функции модуля
  • раздел инициализации

Пример кода который вызывает ошибку:

Переменная после процедур и функций
Переменная после процедур и функций

Как видим в примере переменная объявляется после процедур и функций, а так делать нельзя. Решение проблемы очень простое, переносим переменные в начало модуля, перед первой переменной.

исправление ошибки Объявления переменных должны быть расположены в начале модуля, процедуры или функции
исправление ошибки Объявления переменных должны быть расположены в начале модуля, процедуры или функции

После этого все заработает.

Дополнительные варианты возникновения этой ошибки:

  1. Постановка ; (точка с запятой) после КонецПроцедуры
  2. Постановка ; (точка с запятой) после КонецФункции
  3. Постановка ; (точка с запятой) после названия процелдуры «Процедура ИмяПроцедуры();»
  4. Постановка ; (точка с запятой) после названия функции «Функция ИмяФункции();»

Успехов в изучении 1с и программировании, читайте мой блог и социальные сети!

Дополнительные материалы по теме:

  • Заметки для тех кто учится программировать — тут
  • Стандарт на заполнение структуры модуля — тут
  • Про модули в 1с — тут

Опубликовано

в

от

Комментарии

Добавить комментарий