Сильное замедление в движении указателя мыши

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

Тестировал подключение приложения ИР пустой базы с чистой конфигурацией через ИР адаптер. Случайно сделал подключение приложения ИР в фоне при проверке пароля. При этом возникает стабильное сильное замедление в движении указателя мыши.

Clip_604686.html

qFzlUFRUYM.mp4

RDT.os

Комментарии

bolsun
#1, 04 июля 2024 15:30

Как вызвать подключение ИР в фоне при открытом окне ввода пароля?


tormozit
#2, ред. 04 июля 2024 15:57

(1) bolsun, если для базы уже настроено подключение ИР, то выполни команду "ИР Сбросить настройки", иначе адаптер сам предложил настроить подключение при первой активации окно конфигуратора базы.
Важно использовать приложенный скрипт, т.к. в его актуальной версии такой режим не используется.


tormozit
#3, ред. 17 июля 2024 07:49

После перехода на фоновое подключение приложения ИР проблема возникает при каждом обновлении конфигурации БД при подключенном приложении ИР. Воспроизведение:

  1. Запустить подключение приложения ИР, например командой "Запомнить для сравнения CTRL+ALT+C"
  2. Дождаться завершения подключения
  3. Изменить конфигурацию
  4. Запустить обновление конфигурации БД
  5. Сразу начать круговые движения указателем
  6. В момент появления окна "Обновление конфигурации БД" указатель замирает и далее несколько секунд почти не двигается не смотря на движение мыши.

Ссылка скрыта
dYZ1uLdz9o.mp4


bolsun
#4, ред. 24 июля 2024 11:52

(3) tormozit, в обработчике ПриОткрытииОкна

используется ТурбоКонф.НайтиЭлементПоИмени("Заменить все", "кнопка"); который выполняется в главном окне конфигуратора, хотя предполагаю, что он не должен вызываться для главного окна.

Использование этого метода в главном окне конфигуратора может вызывать подвисание ввода, т.к. элементов в главном окне очень много.

Это касается и метода ТурбоКонф.ПолучитьДоступностьЭлемента("Заменить все", "кнопка")


tormozit
#5, ред. 24 июля 2024 13:19

(4) bolsun,
Эти функции сейчас ровно так (только в своем окне) и вычисляются

		Если Ложь
			//Или ЗаголовокОкна = "Выберите файл конфигурации" 
			Или (Истина
				И ЗаголовокОкна = "Конфигуратор" 
				И ТурбоКонф.НайтиЭлементПоИмени("Объединение конфигураций завершено.", "панель"))
			Или ЗаголовокОкна = "Получение объектов из хранилища конфигурации" 
			Или (Истина
				И ЗаголовокОкна = "Глобальный поиск по текстам" 
				И ТурбоКонф.НайтиЭлементПоИмени("Заменить все", "кнопка")
				И ТурбоКонф.ПолучитьДоступностьЭлемента("Заменить все", "кнопка"))


bolsun
#6, 24 июля 2024 13:20

(5) tormozit, почему тогда они срабатывают?


bolsun
#7, ред. 24 июля 2024 13:23

Хотя в целом понятно почему. Ты вычисляешь ЗаголовокОкна, затем сам закрываешь его, а затем уже обращаешься к НайтиЭлементПоИмени. Поэтому ЗаголовокОкна - не актуальный уже.


tormozit
#8, ред. 24 июля 2024 14:39

(7) bolsun, мне непонятно. ОСкрипт использует, как и 1С, ленивое вычисление логических выражений. В случае активности главного окна переменная ЗаголовокОкна не может содержать подходящее значение для вызова указанных тобой функций.


bolsun
#9, 24 июля 2024 14:53

(8) tormozit, значит это вызывается

		Или (Истина
			И ЗаголовокОкна = "Конфигуратор" 
			И ТурбоКонф.НайтиЭлементПоИмени("Объединение конфигураций завершено.", "панель"))

оно точно подходит.


tormozit
#10, ред. 24 июля 2024 18:41

(7) bolsun, да, понял почему вызывается ТурбоКонф.НайтиЭлементПоИмени(). У окна обновления конфигурации заголовок тоже "Конфигуратор". А в нем я программно жму кнопку и жду закрытия. Затем отрабатывает вторая проверка на тот же заголовок (8).
Сделал очистку заголовка после обработки окна обновления конфигурации. Торможение исчезло.

Но сама связь вызова ТурбоКонф.НайтиЭлементПоИмени() в главном окне в фоновом задании и торможения указателя - для меня осталась загадкой.


tormozit
#11, 24 июля 2024 18:47

tormozit изменил статус на Закрыто


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