Содержание:
1. Почему появляется ошибка «Обнаружено логическое завершение исходного текста модуля»
2. Как избежать ошибки «Обнаружено завершение исходного текста модуля»
1. Почему появляется ошибка «Обнаружено логическое завершение исходного текста модуля»
Чтобы разобраться с причиной происхождения ошибки Обнаружено логическое завершение исходного текста модуля, нужно понять назначение использования точки с запятой в синтаксисе языка 1С. Впервые введенный печатником из Италии и затем использованный Шекспиром для разделения противоположных слов, данный символ нашел свое применение во многих языках программирования. Основное назначение точки запятой в программировании – разделение инструкций кода, символ завершения оператора цикла.
В языке 1С точка с запятой используется для разделения операторов. Например, присвоение значения переменной. Причем данные операторы можно писать в одну строчку, разделяя их точкой с запятой, а вот перенос строки не является символом завершения оператора, поэтому допустимы конструкции вида:
НоваяПеременная
=
1;
Но, наряду с операторами в синтаксисе языка существуют и так называемые операторные скобки, обрамляющие последовательность операторов кода. В Бейсике, на который язык 1С очень похож, примером таких операторных скобок служат конструкции вида beginend. В 1С же операторными скобками являются, для примера, начало и конец процедур и функций – Процедура (Функция) и КонецПроцедуры(КонецФункции). И так как точка с запятой служит только для разделения операторов в коде, то после окончания процедур и функций, т.е. операторных скобок, ее ставить не нужно. Но проверка синтаксиса 1С не будет считать ошибкой, если поставить точку с запятой в конце процедуры или функции, так как это просто будет означать завершение оператора.
2. Как избежать ошибки «Обнаружено завершение исходного текста модуля»
Если после того, как мы поставили точку с запятой после окончания, например, процедуры и затем в этом же модуле продолжили писать еще какой-то код, например, прописали еще одну процедуру, то 1С выдает ошибку обнаружения логического завершения исходного текста модуля. Как только появляется такая ошибка, нужно проверить все окончания процедур и функций на предмет точки запятой и продолжения кода после них. Так же внутри процедур и функций можно не ставить точку с запятой после самого последнего оператора, но, если ниже будет дописан еще какой-то код, то это уже вызовет ошибку Обнаружено завершение исходного текста модуля.
Специалист компании «Кодерлайн»
Александр Суворов