Ошибка обнаружено логическое завершение исходного текста модуля

Содержание:

1.       Почему появляется ошибка «Обнаружено логическое завершение исходного текста модуля»

2.       Как избежать ошибки «Обнаружено завершение исходного текста модуля»  

1.    Почему появляется ошибка «Обнаружено логическое завершение исходного текста модуля»

Чтобы разобраться с причиной происхождения ошибки Обнаружено логическое завершение исходного текста модуля, нужно понять назначение использования точки с запятой в синтаксисе языка 1С. Впервые введенный печатником из Италии и затем использованный Шекспиром для разделения противоположных слов, данный символ нашел свое применение во многих языках программирования. Основное назначение точки запятой в программировании – разделение инструкций кода, символ завершения оператора цикла.

В языке 1С точка с запятой используется для разделения операторов. Например, присвоение значения переменной. Причем данные операторы можно писать в одну строчку, разделяя их точкой с запятой, а вот перенос строки не является символом завершения оператора, поэтому допустимы конструкции вида:

НоваяПеременная

=

1;

Но, наряду с операторами в синтаксисе языка существуют и так называемые операторные скобки, обрамляющие последовательность операторов кода. В Бейсике, на который язык 1С очень похож, примером таких операторных скобок служат конструкции вида beginend. В 1С же операторными скобками являются, для примера, начало и конец процедур и функций – Процедура (Функция) и КонецПроцедуры(КонецФункции). И так как точка с запятой служит только для разделения операторов в коде, то после окончания процедур и функций, т.е. операторных скобок, ее ставить не нужно. Но проверка синтаксиса 1С не будет считать ошибкой, если поставить точку с запятой в конце процедуры или функции, так как это просто будет означать завершение оператора.  

2.    Как избежать ошибки «Обнаружено завершение исходного текста модуля»

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

Специалист компании «Кодерлайн»

Александр Суворов

Обнаружено логическое завершение исходного текста модуля

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

Пример кода, вызывающего ошибку:

Процедура ПроверитьТэгиИПоставщиков()
	Для каждого СтрокаТ из тПоставщиков Цикл
		Если ПустаяСтрока(СтрокаТ.TAG) или ЗначениеЗаполнено(СтрокаТ.Поставщик) = Ложь Тогда
			СтрокаТ.Создавать = Ложь;
			Сообщить("Не заполнены данные по поставщику "+СтрокаТ.TAG+"!");
		КонецЕсли;	
	КонецЦикла;	
КонецПроцедуры;	

Процедура ИмяЛокальногоОтветаОткрытие(Элемент, СтандартнаяОбработка)
	Текст = Новый ТекстовыйДокумент;
	Текст.Прочитать(ИмяЛокальногоОтвета);
	Текст.Показать("Файл ответа");
КонецПроцедуры

Разбор полётов

Сообщение ошибке «Обнаружено логическое завершение исходного текста модуля» возникает, когда вы добавляете функцию/процедуру после «;» даже, если она создается автоматически через конструкторы событий

Ошибка в этой строке:

КонецПроцедуры;

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

1С считает эту «;» частью кода тела модуля, а процедуры/функции  в нем недопустимы

Решение простое:

Найти и убрать точку с запятой (необязательно что это будет последняя функция или процедура)

Об идеалах нации можно судить по ее рекламе.

Обнаружено логическое завершение текста

Я
   Mystical

21.10.10 — 17:12

Доброго времени суток,

Создаю в чистом модуле  формы элемента справочника Контрагенты процедуру

Процедура ПриОткрытии()

   // Вставить содержимое обработчика.

КонецПроцедуры

пишет в режиме предприятия

Справочник.Контрагенты.Форма.ФормаЭлемента(1,1)}: Обнаружено логическое завершение исходного текста модуля

объясните сие феномен

   Шапокляк

1 — 21.10.10 — 17:15

А текст можно глянуть?

   Mystical

2 — 21.10.10 — 17:17

в том то и дело эта процедура есть весь текст модуля
Процедура ПриОткрытии()
   // Вставить содержимое обработчика.

КонецПроцедуры
Кроме нее ничего нет

   Mystical

3 — 21.10.10 — 17:19

а если удалить , то форма открывается

   Сергей Д

4 — 21.10.10 — 17:20

Точка с запятой в конце ПРЕДЫДУЩЕЙ процедуры?

   Mystical

5 — 21.10.10 — 17:20

я сам в шоке, может какая защитамодуля стоит

   Сергей Д

6 — 21.10.10 — 17:20

в слове КонецПроцедуры

   Mystical

7 — 21.10.10 — 17:23

При
Процедура ПриОткрытии()
   // Вставить содержимое обработчика.
КонецПроцедуры;
тоже самое

   Mystical

8 — 21.10.10 — 17:23

лишних символов нету

   Шапокляк

9 — 21.10.10 — 17:26

А в свойствах формы в событиях ничего такого…? Событие ПриОткрытии ссылается на какую-то процедуру?

   Сергей Д

10 — 21.10.10 — 17:26

(7) После КОнецПроцедуры НЕ НАДО никаких точек с запятой. А то проблемы будут. Сам натыкался.

   Mystical

11 — 21.10.10 — 17:28

(7) хоть с точкой хоть без одна петрушка

   Mystical

12 — 21.10.10 — 17:28

(10)

   Mystical

13 — 21.10.10 — 17:30

в событиях только это Приоткрытии

   Nesh

14 — 21.10.10 — 17:30

о форма одна только у этого справочника?

   GenV

15 — 21.10.10 — 17:31

(0) Когда ругнется в режиме предприятия — перейди в отладчик и посмотри на текст. Возможно из кэша берется.

   Mystical

16 — 21.10.10 — 17:32

Форма списка и формаЭлемента

   Mystical

17 — 21.10.10 — 17:34

(15) Не ловит точка останова, эта же первая строка модуля

   supremum

18 — 21.10.10 — 17:35

(17) Добавь какой нить оператор типа а=1

   Mystical

19 — 21.10.10 — 17:37

ща выдало:
{Справочник.Контрагенты.Форма.ФормаЭлемента(1,1)}: Обнаружено логическое завершение исходного текста модуля
<<?>>????????? ???????????()

   Mystical

20 — 21.10.10 — 17:38

(18) бесполезно

   supremum

21 — 21.10.10 — 17:39

(20) CTRL-A, потом Del?

   Живой Ископаемый

22 — 21.10.10 — 17:40

2(21) там написано: (1,1) — первый символ первой строки

   Живой Ископаемый

23 — 21.10.10 — 17:41

в каком режиме запускаешь предприятие, какая версия платформы?

   Mystical

24 — 21.10.10 — 17:41

я уже на вирусы проверял

   Mystical

25 — 21.10.10 — 17:42

Файловый,1С:Предприятие 8.1 (8.1.15.14)

   Живой Ископаемый

26 — 21.10.10 — 17:43

(24) тогда это кэш. почисть

   Mystical

27 — 21.10.10 — 17:43

как?

   Чайник Рассела

28 — 21.10.10 — 17:44

(27) перепропиши базу заново

   Шапокляк

29 — 21.10.10 — 17:44

(3) говорит о том, что кэш вряд ли виноват

   Mystical

30 — 21.10.10 — 17:44

(26)?

   Живой Ископаемый

31 — 21.10.10 — 17:45

2(29) ну нет, не совсем говорит…

   Чайник Рассела

32 — 21.10.10 — 17:45

врет значит

   Живой Ископаемый

33 — 21.10.10 — 17:46

(30) а чтобы ты сделал если бы сейчас все участники форума умерили, но интернет бы остался и поисковые машины остались бы рабочими?

   mikecool

34 — 21.10.10 — 17:46

отладка — остановка по ошибке

   Живой Ископаемый

35 — 21.10.10 — 17:46

(28) — очень способ

   Чайник Рассела

36 — 21.10.10 — 17:47

(0) 8.2 ?

   Чайник Рассела

37 — 21.10.10 — 17:47

а. вижу

   Aprobator

38 — 21.10.10 — 17:50

Ты ее че руками что ли создаешь? А кнопочку жмакнуть в событиях формы или тупо выбрать из списка процедур в модуле формы не пробовал?

   Mystical

39 — 21.10.10 — 17:51

(38)z nfr b ltkf.

   Mystical

40 — 21.10.10 — 17:51

(38) я так и делаю

   Aprobator

41 — 21.10.10 — 17:52

тогда странно.

   Mystical

42 — 21.10.10 — 17:52

очистка кэша и остановка по ошибке не помогло

   Mystical

43 — 21.10.10 — 17:52

это какой то бред

   mikecool

44 — 21.10.10 — 17:53

убей форму и создай по новой

   supremum

45 — 21.10.10 — 17:54

(43) Выгрузи файлы конфигурации по этому справочнику, сделай какие нить изменения в нем и заново их загрузи

   Mystical

46 — 21.10.10 — 17:55

(44) получилось

   Aprobator

47 — 21.10.10 — 17:57

о как — надо будет сделать себе заметку.

   Живой Ископаемый

48 — 21.10.10 — 17:59

все-таки в кэше выходит было дело.

   supremum

49 — 21.10.10 — 18:01

(48) Как такая ошибка может возникать?

   supremum

50 — 21.10.10 — 18:02

+(49) Однажды было, что под одним пользователем поле документа видно было, под другим видно не было

   Живой Ископаемый

51 — 21.10.10 — 18:02

2(49) безсистемно. Нам жеж неизвестно до тонкостей что именно платформа делает с формами — как извлекает из, как отрисовывает… Известно только что каждый объект конфигурации имеет свой уид. Убили форму, создали новую — у новой новый УИД, из кэша не извлекается.

   Живой Ископаемый

52 — 21.10.10 — 18:04

У меня было в одной обработке, которую я часто правил в конфигураторе, и тут же ее закрывал и открывал в конфигураторе — что не отображались изменения. Не помогало даже копирование обработки в другое место.
Сооздание новой и копирование в нее форм и модулей и макетов через буфер помогло

   Живой Ископаемый

53 — 21.10.10 — 18:08

«и тут же ее закрывал и открывал в конфигураторе» = «и тут же ее закрывал и открывал в предприятии»

   supremum

54 — 21.10.10 — 18:09

(52) Жесть!

   supremum

55 — 21.10.10 — 18:10

Мне помогло (45) с проблемой из (50)

   Живой Ископаемый

56 — 21.10.10 — 18:14

   trdm

57 — 21.10.10 — 18:39

(49) Парсер тупит.. Было такое.
ПС. Естественно не в v8, bison и ругается подругому, но принцып тот-же — есть процедурины, нет переменных. Не всегда пропускает без переменных.

  

Живой Ископаемый

58 — 21.10.10 — 18:39

2(57) а в новой форме стало быть не тупит?

1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

1

1C 8.x

Обнаружено логическое завершение исходного текста модуля

11.07.2021, 21:41. Показов 13774. Ответов 19


Студворк — интернет-сервис помощи студентам

Здравствуйте, подскажите.
1С:Предприятие 8.3 (8.3.17.1496)
После обновления релиза вылетает ошибка : Обнаружено логическое завершение исходного текста модуля и так везде. Очистка кэша не помогла. В чем может быть еще проблема?
Спасибо!



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

11.07.2021, 21:41

19

57 / 39 / 19

Регистрация: 24.10.2016

Сообщений: 974

11.07.2021, 22:08

2

kukulkan93, может лишние запятые, точки наставил?

Добавлено через 8 минут
хотя я могу ошибаться



0



1904 / 1304 / 465

Регистрация: 16.01.2015

Сообщений: 5,676

11.07.2021, 23:22

3

Цитата
Сообщение от kukulkan93
Посмотреть сообщение

В чем может быть еще проблема?

в кривом обновлении

Цитата
Сообщение от никмейн
Посмотреть сообщение

хотя я могу ошибатьс

Не ошибаешься. 100 пудов где-то точку или запятую влепил случайно



0



Yulunga

1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 07:13

4

у нас в модулях есть

1C
1
2
3
#Область НашаПрекраснаяФирма
.....
#КонецОбласти

и при обновлении она встаёт последней.
а надо, чтобы последней была вот такая штука

#Область Инициализация
…..
#КонецОбласти

тогда оно не ругается.
наверно нельзя чтобы после инициализации переменных было ещё что-то (??) подтверждения не нашёл. плохо искал.



0



1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 10:26

 [ТС]

5

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

Yulunga, это все модули так проверить? я выборочно некоторые проверила и не вижу изменений. А релиз я несколько раз обновляла и каждый раз эта ошибка



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 10:37

6

все не надо. оно же ругается на какой-то конкретный, а не «ошибка во всех модулях идите и проверяйте нас»
посмотрите
а у нас да. это дело под контролем в каждом обновлении



0



1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 11:12

 [ТС]

7

Yulunga, он не пишет, что везде, но все те отчеты которые я открываю, везде выходит это сообщение, так что по сути везде



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 11:41

8

kukulkan93, прикрепите скрин или напишите слово в слово то, что пишет
он всегда ругается на какой-то конкретный место в конфигурации а не огульно «фи, я не работаю»
раз в каждом — значит ошибка произошла в каком-то который вызывается для всех



0



kukulkan93

1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 13:09

 [ТС]

9

Yulunga,

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    // Печать накладной на перемещение
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НакладнаяНаПеремещение") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            "НакладнаяНаПеремещение",
            НСтр("ru = 'Накладная на перемещение медикаментов'"),
            ПечатьПеремещениеТоваров(МассивОбъектов, ОбъектыПечати),
            ,
            "Документ.ПеремещениеМедикаментов.ПФ_MXL_Накладная");
    КонецЕсли;
 
    // Печать формы З-5
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "НакладнаяЗ5") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            "НакладнаяЗ5",
            НСтр("ru = 'З-5 (накладная на перемещение медикаментов)'"),
            ПечатьЗ5(МассивОбъектов, ОбъектыПечати),
            ,
            "Документ.ПеремещениеМедикаментов.ПФ_MXL_З5");
    КонецЕсли;
    
КонецПроцедуры

ему тут что-то не нравится, не вижу что именно



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 13:20

10

ну я не знаю, как вас заставить написать то, КАК именно он ругается.
он ругается не тут
а скорее всего в управлениепечатью
раз она тут используется и у вас ерунда всегда

так как вряд ли проблема в печатьперемещениетоваров или в печатьзэпять
хотя может и тут тоже.



0



1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 13:23

 [ТС]

11

Yulunga,

Миниатюры

Обнаружено логическое завершение исходного текста модуля
 



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 14:16

12

kukulkan93, ЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ, это победаааааааааааа!!!!!!!!!!!!!!!!!!!!
ну так идите в этот модуль и смотрите, что в нём не так.
ctrl-g — 594 — ok
и смотрите, что там написано в 15-ом символе.
опять же можете сохранить в файлик и посмотреть, что там вам написали в JSON-e.
и обратите внимание на, как вам советовали, ненужные точки с запятыми
ну и на инициализацию.



0



1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 14:30

 [ТС]

13

Yulunga, Yulunga, тот код что я скинула 594 строка это: КонецПроцедуры
точнее следующий знак после него словно он ждет еще какой-то символ после него
а если удалить эту процедуру он цепляется к предыдущей процедуре и так же на строчке КонецПроцедуры



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 15:05

14

ну я даже не знаю. пробовали проскроллить вниз на пару (десятков) эрканов, чтобы увидеть ту самую точку с запятой?



0



1904 / 1304 / 465

Регистрация: 16.01.2015

Сообщений: 5,676

12.07.2021, 15:32

15

Цитата
Сообщение от kukulkan93
Посмотреть сообщение

тот код что я скинула 594 строка это: КонецПроцедуры
точнее следующий знак после него

а какой знак?После КонецПроцедуры не должно быть никакого знака

Добавлено через 55 секунд
покажи скрин из конфигуратора, строчку на которую ругается



0



1564 / 993 / 379

Регистрация: 31.05.2012

Сообщений: 3,507

12.07.2021, 15:51

16

поищи выше в тексте модуля КонецПроцедуры; или КонецФункции;
если найдешь убери лишнюю ;
подобная ошибка чаще всего из-за этого или похожей причины



0



1 / 1 / 0

Регистрация: 21.11.2020

Сообщений: 67

12.07.2021, 15:53

 [ТС]

17

polax, так и я не понимаю какой знак он хочет после, если там не должно быть ничего

Миниатюры

Обнаружено логическое завершение исходного текста модуля
 



0



1195 / 733 / 212

Регистрация: 22.04.2013

Сообщений: 5,385

Записей в блоге: 1

12.07.2021, 16:06

18

а попробуй удалить всё то, что внизу. ругнётся? или там — крайне необходимые процедуры?
тогда попробуй перенести их наверх
вроде всё сходится к тому, что дело в 1-2 знаках



0



61 / 39 / 24

Регистрация: 24.09.2017

Сообщений: 170

12.07.2021, 16:49

19

Возможная ошибка
Хотя у меня по такой ошибке по другому ругается

Определение процедур и функций должны размещаться перед операторами тела модуля

Наверное это зависит от версии платформы. У меня 8.3 (8.3.11.2867)

А так ищи строку КонецПроцедкры; или КонецФункции; причем символ «точка с запятой» может уехать далеко вправо за видимый край экрана



0



polax

1904 / 1304 / 465

Регистрация: 16.01.2015

Сообщений: 5,676

12.07.2021, 17:40

20

kukulkan93, Проверь, нет ли после этого КонецПроцедуры незареимрованной строки кода? У тебя идет комментарий закрытый //, возможно что-то забыли закомментировать, одну строку. По аналогии с БП, в приведенном коде не хватает

1C
1
 ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

Может случайно вынесли за пределы процедуры?



0



Что за ошибка?Помогите!

Автор andryscha92, 06 сен 2013, 10:11

0 Пользователей и 1 гость просматривают эту тему.

при проведении или пометке на удалении именно одного документа возникает ошибка :

{Документ.ОС_Покупка.МодульОбъекта(1,1)}: Обнаружено логическое завершение исходного текста модуля
<<?>>?=Ms?u?nP*?!?u?k7-?l+?)’?C..?rR?t??rI.9?*N? LQi???? (????%??X???C??!w?}t???L??b?Mh1;??????W???o????.??


Текст модуля, пожалуйста, скиньте..


Смотри модуль объекта документа ПЕРВУЮ СТРОКУ ОС_Покупка.МодульОбъекта(1,1) 100% косяк в синтаксисе
(P.S. скорее всего после слова ПередЗаписью(); стоит точка с запятой)

Если долго всматриваться в учебник…то в голову может прийти мысль его открыть!


Цитата: Новенькая от 06 сен 2013, 10:17
Текст модуля, пожалуйста, скиньте..

вот что тут вообще
�=Ms�u�nP*?!�u�k7-�l+�)’�C..�rR�t��rI.9�*N� LQi���� (����%��X���C��!w�}t���L��bڄMh1;����ׯ�W���o����.��%�Y|s@?K�
����X|�����7��Kh�?o�g�ly ����������ƥ�������߼A=�å��ѥ�z|$dk������J��
�N’�ۥ�?Z?
��/��ҿ���G?]��l�|Y���·�|�N����0Ÿӫ���G�k�(?��G�n��/O���0ߟ��C�����oD8��uH��K�����be��_���u��ʿ��$���_��=���Y�<h�?�7���/��C9���@�

Добавлено: 06 сен 2013, 10:26


Цитата: Dethmontt от 06 сен 2013, 10:18
Смотри модуль объекта документа ПЕРВУЮ СТРОКУ ОС_Покупка.МодульОбъекта(1,1) 100% косяк в синтаксисе
(P.S. скорее всего после слова ПередЗаписью(); стоит точка с запятой)

это происходит при открытии документа, текст модуля я скинул какой то непонятный


О_о откуда вы взяли такой текст модуля???? Зайдите в конфигуратор, щелкните правой кнопкой по документу «ОС_Покупка», далее «открыть модуль объекта»…и пришлите код который там есть


там код зашифрован почему то…

Добавлено: 06 сен 2013, 10:46


Цитата: Новенькая от 06 сен 2013, 10:40
О_о откуда вы взяли такой текст модуля???? Зайдите в конфигуратор, щелкните правой кнопкой по документу «ОС_Покупка», далее «открыть модуль объекта»…и пришлите код который там есть

я скинул смотрите


Еще одна жертва БГУ… мне очень жаль… Обновлялась база последний раз норм? Какой релиз платформы и программы?

Правильно ведите учет или пишите программы и вам воздастся!…

(Кстати — кнопочку Сказать Спасибо — никто не отменял)


Цитата: LordWizard от 06 сен 2013, 10:48
Еще одна жертва БГУ… мне очень жаль… Обновлялась база последний раз норм? Какой релиз платформы и программы?

спасибо.обновили и код вышел.сейчас посмотрю заработало ли


Зная по своему тяжелому опыту внедренца БГУ — я бы не торопился ставить обновления — БГУ не знаю кто и как пишет — но руки точно не от нужного места растут — ни конвертации нормальной нет с предыдущих редакций, ни половина механизмов норм не отрабатывается.

Правильно ведите учет или пишите программы и вам воздастся!…

(Кстати — кнопочку Сказать Спасибо — никто не отменял)


  • Ошибка обнаружения не удалось найти чип
  • Ошибка обнаружения wan asus
  • Ошибка обнаружена ошибка 0 call to a member function format on null
  • Ошибка обнаружена влага самсунг
  • Ошибка обнаружен запрещенный либо некорректный тип файла mime