Думаю можно придумать какую то защитную механику на этот случай. Например можно отменять отправку или ввод символа, если таким образом сменился модуль.
Но вроде бы в этом логе видно, что фокус меняется сразу после отправки нажатия в окно. Поэтому если отправка уже состоялась, то придется отправлять CTRL+Z для отмены этого вредного изменения.
[26.12.25 08:48:58:334] Key down F has passed to window 280a06
[26.12.25 08:48:58:341] OnFocusChange()
tormozit изменил статус на Открыто
0
tormozit #4, ред. 26 декабря 2025 10:13
При подключении фонового задания всегда активируется модуль сеанса. Если на момент его подключения уже был остановлен другой предмет отладки, то затем сразу активируется его текущая исполняемая строка. Это происходит настолько быстро, что другими способами такого достичь невозможно. Поэтому можно считать такое быстрое переключение надежным признаком нежелательной смены активного модуля или строки в модуле. Можно при этом
хотя бы выводить уведомление "Сработало автоподключение предмета отладки"
активировать модуль и строку в нем, которые были активны до автопереключения.
#1, ред. 26 декабря 2025 09:08
[26.12.25 08:48:58:304] Warning: desc:СтрокаБезПоследнегоФрагментаЛкс
[26.12.25 08:48:58:304] Warning: inlineAnswer:
[26.12.25 08:48:58:304] Warning: _searchText:зн
[26.12.25 08:48:58:304] Warning: prevFilter:
[26.12.25 08:48:58:304] Фильтр изменился и не совпадает с ответом! В очереди нет новых обработчиков. Запускаем отложенный запрос.
[26.12.25 08:48:58:306] TurboIconForm.Hide()...
[26.12.25 08:48:58:308] TurboMenuButton Hide()
[26.12.25 08:48:58:308] StartAITimer: 500 Фильтр изменился и не совпадает с ответом.
[26.12.25 08:48:58:313] TurboMenuButton coords =
[26.12.25 08:48:58:334] OnKeyDown F
[26.12.25 08:48:58:334] Set _TurboApiSingletone.Instance.LastKeyEventArgs=F
[26.12.25 08:48:58:334] Received await = Return IsProcess=False, IsQueueInProgress=False, (843,631 ms) fg=280a06 title=[КА1 серверная] - Обработка ирРедакторОбъектаБД: Форма - Конфигуратор - КомплекснаяАвтоматизация, KeyData=F
[26.12.25 08:48:58:334] _needCheckAutoComplete = True
[26.12.25 08:48:58:334] _needUpdateCurrentText = True
[26.12.25 08:48:58:334] Key down F has passed to window 280a06
[26.12.25 08:48:58:341] OnFocusChange()
[26.12.25 08:48:58:341] OnFocusChange() title=КомплекснаяАвтоматизация: Модуль сеанса - Конфигуратор - КомплекснаяАвтоматизация, fg=2624006
[26.12.25 08:48:58:341] Check and hide TurboButtons...
[26.12.25 08:48:58:341] Check and hide TurboButtons...
[26.12.25 08:48:58:341] Check Is1C()...
[26.12.25 08:48:58:341] _onFocusChangedCount=2012
[26.12.25 08:48:58:341] Получаем данные Element из UIAutomation
[26.12.25 08:48:58:341] Set CurrentFocusedDocument
[26.12.25 08:48:58:341] TurboApi.CurrentControlType = документ
[26.12.25 08:48:58:341] TurboApi.CurrentName =
[26.12.25 08:48:58:341] -------------------------------------------UIAutomation Focus Changed =
[26.12.25 08:48:58:344] Запускаем обработчик ПриАктивизацииСтрокиТ9 в скрипте ...
[26.12.25 08:48:58:344] ExecuteScript user_scripts\RDT.os, entryPoint=ПриАктивизацииСтрокиТ9, title=КомплекснаяАвтоматизация: Модуль сеанса - Конфигуратор - КомплекснаяАвтоматизация
[26.12.25 08:48:58:344] TurboMenuButton Hide()
[26.12.25 08:48:58:348] processId передан в опциях, processId=45452
[26.12.25 08:48:58:348] docInfo=
[26.12.25 08:48:58:349] OnFocusChange()
[26.12.25 08:48:58:349] OnFocusChange() title=Обработка ирКлсПолеТекстаПрограммы: Модуль объекта - Конфигуратор - КомплекснаяАвтоматизация, fg=2624006
[26.12.25 08:48:58:349] Check and hide TurboButtons...
[26.12.25 08:48:58:349] Check and hide TurboButtons...
[26.12.25 08:48:58:349] Check Is1C()...
[26.12.25 08:48:58:349] _onFocusChangedCount=2013
[26.12.25 08:48:58:349] Получаем данные Element из UIAutomation
[26.12.25 08:48:58:349] Set CurrentFocusedDocument
[26.12.25 08:48:58:349] TurboApi.CurrentControlType = документ
[26.12.25 08:48:58:349] TurboApi.CurrentName =
[26.12.25 08:48:58:349] -------------------------------------------UIAutomation Focus Changed =
[26.12.25 08:48:58:363] SetWindowText() hWnd=2624006
#2, ред. 26 декабря 2025 10:14
Причина в том, что я включил флажок автоподключения фоновых заданий в отладчике. Поэтому при каждом старте фонового задания активировалась текущая исполняемая строка отладчика. Это очень древняя и неприятная особенность отладчика в конфигураторе.
https://partners.v8.1c.ru/forum/t/2204453/m/2204453
https://www.hostedredmine.com/issues/992675
tormozit изменил статус на Закрыто
#3, ред. 26 декабря 2025 10:08
Думаю можно придумать какую то защитную механику на этот случай. Например можно отменять отправку или ввод символа, если таким образом сменился модуль.
Но вроде бы в этом логе видно, что фокус меняется сразу после отправки нажатия в окно. Поэтому если отправка уже состоялась, то придется отправлять CTRL+Z для отмены этого вредного изменения.
[26.12.25 08:48:58:334] Key down F has passed to window 280a06
[26.12.25 08:48:58:341] OnFocusChange()
tormozit изменил статус на Открыто
#4, ред. 26 декабря 2025 10:13
При подключении фонового задания всегда активируется модуль сеанса. Если на момент его подключения уже был остановлен другой предмет отладки, то затем сразу активируется его текущая исполняемая строка. Это происходит настолько быстро, что другими способами такого достичь невозможно. Поэтому можно считать такое быстрое переключение надежным признаком нежелательной смены активного модуля или строки в модуле. Можно при этом
tormozit изменил статус на Открыто
#5, 30 декабря 2025 13:51
Вот вероятно еще вариант проявления этой проблемы https://turboconf.ru/Tasks/10882