Ошибка возникает, когда после точки запятой есть еще код – процедуры, функции, код тела модуля.
Пример кода, вызывающего ошибку:
Процедура ПроверитьТэгиИПоставщиков() Для каждого СтрокаТ из тПоставщиков Цикл Если ПустаяСтрока(СтрокаТ.TAG) или ЗначениеЗаполнено(СтрокаТ.Поставщик) = Ложь Тогда СтрокаТ.Создавать = Ложь; Сообщить("Не заполнены данные по поставщику "+СтрокаТ.TAG+"!"); КонецЕсли; КонецЦикла; КонецПроцедуры; Процедура ИмяЛокальногоОтветаОткрытие(Элемент, СтандартнаяОбработка) Текст = Новый ТекстовыйДокумент; Текст.Прочитать(ИмяЛокальногоОтвета); Текст.Показать("Файл ответа"); КонецПроцедуры
Разбор полётов
Сообщение ошибке “Обнаружено логическое завершение исходного текста модуля” возникает, когда вы добавляете функцию/процедуру после “;” даже, если она создается автоматически через конструкторы событий
Ошибка в этой строке:
КонецПроцедуры;
Если после точки с запятой ничего нет, такой модуль не вызывает ошибку.
1С считает эту “;” частью кода тела модуля, а процедуры/функции в нем недопустимы
Решение простое:
Найти и убрать точку с запятой (необязательно что это будет последняя функция или процедура)
Реклама — узаконенная ложь.