Глобальная_ПриВыбореЗакладки и СтатусВозврата

Автор Грузчик, 25 июня 2026, 12:47

« назад - далее »

Грузчик

Делаю по инструкции из formex.als:
Процедура Глобальная_ПриОткрытии(Конт)
	СтатусВозврата(0);
	Возврат;
КонецПроцедуры
Как и ожидается, вызов локальной ПриОткрытии() не происходит, формы не открываются.
То же самое с Глобальная_ПриЗакрытии(Конт), формы не закрываются, Предприятие можно убить только из Диспетчера.
Далее я пишу:
Процедура Глобальная_ПриВыбореЗакладки(Конт, Номер, Значение)
	СтатусВозврата(0);
	Возврат;
КонецПроцедуры
При этом локальная ПриВыбореЗакладки вызывается.
Вопрос: такое различное поведение перенаправлений в глобальник -- это нормально, и так и должно быть? Или я, как обычно, не вижу чего-то очевидного?

item

Глобальная_ПриЗаписи тоже не отменяет локальную.

Харлампий Дымба

Локальная ПриОткрытии не вызывается, если в Глобальная_ПриОткрытии установлен СтатусВозврата(0)
Локальная ПриЗакрытии вызывается, даже если в Глобальная_ПриЗакрытии установлен СтатусВозврата(0)

Для некоторых предопределенных процедур (и ПриВыбореЗакладки в их числе) СтатусВозврата() не имеет смысла и не работает.
Так что тут логично, что вызываются и глобальная и локальная процедуры.




Харлампий Дымба

Цитата: Грузчик от 25 июня 2026, 12:47Или я не вижу чего-то очевидного?
Посмотри ещё обсуждение к релизу 2.0.5.194 - последнее на другом форуме. Там как раз и обсуждалась возможность сделать развилку в поведении - задавать в глобальной процедуре порядок вызова локальной.
Как я понял - много нюансов в поведении разных предопределенных процедур. Существующего функционала - за глаза.