НачатьУправлениеМодальнымиОкнами временно крадет фокус у окна конфигуратора

tormozit Закрыто Высокий

Теперь когда приложение ИР подключается фоново, стало заметно что вызов метода
НачатьУправлениеМодальнымиОкнами временно крадет фокус у окна конфигуратора.
Причем вернуть его не удается вызовом
ТурбоКонф.АктивироватьОкно(Конфигуратор.ГлавноеОкно);
Но он сам возвращается при вызове ЗавершитьУправлениеМодальнымиОкнами().

Воспроизведение.
Открыть любой модуль в большой конфигурации с разрешенным приложением ИР и нажать клавишу "." . Появится уведомление о запуске приложения ИР. Каретка перестанет мигать на время отображения уведомления.
Но если кликнуть в окно конфигуратора, то каретка начинает мигать.
RDT.os

Если закомментировать вызов НачатьУправлениеМодальнымиОкнами , то проблема уходит.

Комментарии

bolsun
#1, 26 июня 2024 19:42

Класс окна не задан

/// <param name="className">Имя класса окна. Необязательный. Если не задан, то любое окно. Строка</param>///


tormozit
#2, ред. 26 июня 2024 19:47

Класс окна не задан умышленно, т.к. окна ошибок при старте приложения 1С бывают разных классов.


bolsun
#3, 26 июня 2024 20:06

(2) tormozit, какие модальные окна могут возникать кроме V8NewLocalFrameBaseWnd?


tormozit
#4, 26 июня 2024 20:07

Напоминаю https://turboconf.ru/Tasks/9443


bolsun
#5, 26 июня 2024 20:14

(4) tormozit, могу исключить классы
V8TopLevelFrame
V8TopLevelFrameSDI


bolsun
#6, ред. 26 июня 2024 20:22

Вообще это плохо, т.к. разные окна могут появляться
V8ToolTipWindow например

Тогда лучше задать явно два класса.


tormozit
#7, ред. 26 июня 2024 21:26

Я не понял, окно какого процесса и с каким классом ловится этим механизмом в этой ситуации (кому уходит фокус). Напоминаю, что я с тех пор передаю всегда идентификатор процесса, окна которого нужно ловить.


bolsun
#8, 26 июня 2024 21:26

(7) tormozit, в данном случае ловилось V8ToolTipWindow


bolsun
#9, 26 июня 2024 21:27

ну и главное наверное ловилось, не проверял дальше


tormozit
#10, ред. 26 июня 2024 21:42

Да. Тогда лучше сделать возможность передавать в параметре КлассОкна несколько классов через запятую или регуляркой опять же.


tormozit
#11, ред. 26 июня 2024 21:30

(8) bolsun, видимо это класс окна заставки, которая показывается в самом начале запуска приложения 1С в центре экрана.


bolsun
#12, 27 июня 2024 14:36

Если класc ожидаемого окна не задан явно, то будут искаться только классы "V8NewLocalFrameBaseWnd", "V8TopLevelFrameSDIsec"

https://disk.yandex.ru/d/TCmL9usVCcv31A


tormozit
#13, 27 июня 2024 19:01

(12) bolsun, по ссылке только папка со скриптами


bolsun
#14, 27 июня 2024 19:15

(13) tormozit, https://disk.yandex.ru/d/XKCz9ijzgtoO1w


tormozit
#15, 27 июня 2024 19:31

Проверил. Текущая проблема решена.
Сценарии с окнами ошибок "V8NewLocalFrameBaseWnd", "V8TopLevelFrameSDIsec" тоже работают.
tormozit изменил статус на Закрыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера