Как понять, что сейчас активно системное окно ВвестиСтроку, ВвестиЧисло и пр.?

Автор alyuev, 08 июля 2024, 16:31

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

alyuev

Задумал по ESC закрывать активную таблицу. Для этого определяю, что это именно Таблица как:

Табл=Сервис.активныйконтекст(л_текОкно)
Если ТипЗначенияСтр(Табл)="Таблица" Тогда 
   флаг=0;
   СистемнаяКоманда(32800);
   Перейти ~Выход;
КонецЕсли;

Т.е. собственно закрытие через СистемнаяКоманда(32800).

Но всплыла неприятная ситуация, когда используются системные функции типа ВвестиСтроку, ВвестиЧисло, ВвестиДату и пр... то вместо того, чтобы по ESC закрылось это системное окно - закрывается окно под ним (таблица, или даже было отчет с прикрепленной таблицы).

Я, конечно, сейчас это обошел. Просто создав глоб переменную-флаг. Поднимаю перед вызовом ВвестиСтроку и обнуляю после. Но это нужно везде так делать, где натыкаюсь на подобное поведение ESC.

Вот я и подумал, а можно как-то определить, что сейчас активным является системное окно ввода? Чтобы это использовать уже в момент перехвата ESC.