Нажимаю CTRL+C в отлаживаемом клиентском приложении 1С. При этом срабатывает код 1С и внутри него точка останова. В конфигураторе сразу вызываю команду скрипта "Вычислить выражение". Турбоконф в этот момент подвисает на 10 секунд.
За сегодня это уже >5 случалось.
[18.12.25 13:17:45:554] SetClipboard() with id 639016606655541725 has started...
[18.12.25 13:17:55:785] SetClipboard() with id 639016606655541725 has finished...
Ссылка скрыта
#1, ред. 18 декабря 2025 17:52
Снова прошу реализовать максимум 2-х секундное ожидание ответа буфера. Видимо еще не везде или не при всех условиях это обеспечивается.
#2, ред. 20 декабря 2025 16:33
Потестировал этот сценарий побольше. Зависает стабильно.
Нужно установить точку останова в первую инструкцию ирКлиент.БуферОбмена_КопироватьЛкс.
В любом табличном поле клиентского приложения ИР выделить несколько строк и нажать CTRL+C.
Сработает точка останова. Сразу вызвать команду адаптера, например "Копировать ссылку".
Турбоконф блокирует ввод на 10 секунд с отображением уведомлений о блокировке.
#3, ред. 21 декабря 2025 21:08
Это проблемы в платформе, воспроизводится даже без запущенного ТурбоКонф.
Выделить несколько строк в клиенте, конфигуратор остановится на точке останова и затем сразу же скопировать что-то в буфер, вызовет подвисание и блокировку буфера. Даже если скопировать в другом приложении, например VS Code зависает и блокируется на 10 секунд.
#4, ред. 21 декабря 2025 21:32
(3) bolsun, возможно эту проблему платформы усугубляет реализация перехвата Ctrl+C в ИР (вижу какие-то хуки повешаны, внешняя компонента??), возможно платформе нужно какое-то время на то, чтобы освободить буфер перед точкой останова, но в любом случае это не имеет отношения к ТурбоКонф.
#5, ред. 21 декабря 2025 21:32
(3) bolsun, Да, я уже приводил описание механизма этой блокировки. Я лишь напоминаю, что по задумке обращение к буферу в отдельном потоке не должно надолго подвешивать работу Турбоконфа.
Вот пример на .Net Framework 4.8 от ИИ того, что я имею ввиду
Ссылка скрыта
Ключевые особенности:
Принцип работы:
#6, ред. 21 декабря 2025 21:34
(5) tormozit, при чем тут уже буфер, платформа вешается. ТК. кстати не подвисает, а даже снимает блокировку при кликах.
#7, ред. 21 декабря 2025 21:37
(6) bolsun, Тогда осталось сделать чтобы эта блокировка сама снималась через 2 секунды с выбросом исключения и появлялись кнопки адаптера и т.д.
#8, 21 декабря 2025 21:37
(7) tormozit, а толку от них? Если конфигуратор намертво зависает.
может попробовать улучшить перехват в ИР? Почему это вызывает зависание конфигуратора и других приложений на 10 секунд?
#9, ред. 21 декабря 2025 21:40
(8) bolsun, Конфигуратор вроде бы не зависает. Почему ты так решил?
#10, ред. 21 декабря 2025 21:40
(9) tormozit, а это что? все это время я кликаю
#11, ред. 21 декабря 2025 21:42
(10) я же конкретно написал, что зависает конфигуратор и другие приложения (VS Code), без запущенного ТурбоКонф.
#12, 21 декабря 2025 21:44
(10) bolsun, в логе я вижу что Турбоконф зовет SetClipboard() (установку значения в буфер обмена) и ждет 10 секунд. Как тут участвует конфигуратор?
#13, 21 декабря 2025 21:45
(12) tormozit, буфер заблокирован, любые обращения к нему вызывают зависания приложения которое обращается к буферу, включая сам конфигуратор.
#14, 21 декабря 2025 21:46
(13) bolsun, Но где в логе к буферу обращается конфигуратор и ждет 10 секунд? Мне кажется это делает код Турбоконфа.
#15, 21 декабря 2025 21:48
Если бы я в конфигураторе нажал "Вставить из буфера", тогда бы зависание было независимым от Турбоконфа. Но в логе такого нет.
#16, 21 декабря 2025 21:50
Мне больше нечего добавить, вроде все уже описал.
#17, ред. 21 декабря 2025 23:12
Формулирую более четко свое пожелание. В логе видна установка содержимого буфера обмена Турбоконфом с 10 секундным ожиданием на блокировке. Это поведение стабильно воспроизводится.
[18.12.25 13:17:45:554] SetClipboard() with id 639016606655541725 has started...
[18.12.25 13:17:55:785] SetClipboard() with id 639016606655541725 has finished...
Я прошу сократить максимальную длительность такого ожидания до 2-х секунд (или параметризовать эту длительность).
Сейчас разблокировка ввода (после 3-го клика) дает доступ к окну конфигуратора, но не к Турбоконфу, который продолжает ждать до конца.