Совсем не работает вставка из списка Т9 при отладке обработчика перетаскивания

tormozit Закрыто Средний

Воспроизведение.
Остановить отладчик внутри обработчика события "Перетаскивание" в любой форме 1С. Вызывать подсказку Турбоконфа и выбрать из него любое слово. Вставка не выполняется.

Причину я уже описывал - нельзя использовать перетаскивание (Drag&Drop) в этом случае для вставки слова в текст.

Комментарии

bolsun
#1, ред. 03 апреля 2024 19:07

В этом случае должна происходить вставка из буфера. Нужен лог.


tormozit
#2, 03 апреля 2024 19:09

Ссылка скрыта

Видео другого эпизода этой же проблемы
MeYihawBHm.mp4


bolsun
#3, 03 апреля 2024 20:33

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

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


bolsun
#4, 03 апреля 2024 20:37

Вставка будет происходить дольше на 500мс, т.к. сначала будет попытка вставки перетаскиванием. Но это лучше чем ничего.
Есть вариант еще временно отключать вставку перетаскиванием на несколько минут, чтобы ускорить вставку. А затем автоматом включать.


tormozit
#5, 03 апреля 2024 23:05

(4) bolsun, проверил. Так и работает. 5-10 вставок так можно вытерпеть. Но больше - уже напряжно. А для неподготовленного мозга это справедливо выглядит как "Турбоконф очень задумчивый".


bolsun
#6, 03 апреля 2024 23:41

(5) tormozit, это достаточно частный и редкий случай. Как минимум можно будет выводить уведомление, почему вставка стала работать медленнее.


bolsun
#7, 03 апреля 2024 23:42

Ну либо временно отключать вставку перетаскиванием, как я написал выше.


bolsun
#8, 03 апреля 2024 23:48

Вообще чудны баги 1С. Как вообще можно так реализовать механизм перетаскивания, что остановка в коде в обработчике Drag and Drop, отключает перетаскивание в Конфигураторе.


tormozit
#9, ред. 03 апреля 2024 23:58

(8) bolsun, Так вроде же обсуждали уже это. Такое поведение вроде бы и в других средах разработки.


bolsun
#10, 03 апреля 2024 23:53

(9) tormozit, про другие среды разработки первый раз слышу. Ни разу не сталкивался с таким. Гугление по такой проблеме тоже не дало результатов.


bolsun
#11, ред. 03 апреля 2024 23:57

Ну вариантов немного.

  1. Выключить новый режим и использовать старый который намного медленнее и зависит от буфера.
  2. В очень редких случаях потерпеть медленную вставку.


tormozit
#12, ред. 04 апреля 2024 00:02

(10) bolsun, https://partners.v8.1c.ru/forum/t/1560864/m/1560864 тут в в 2017г мне разработчики платформы давали следующий ответ по проблемам с перетаскиванием в редакторе модуля в этой ситуации:
Это особенность отладки приложений в процессе выполнения DragDrop в ОС Windows

Но по результатам моей проверки в том же году в Visual studio 2015 в приложении WinForms перетаскивание в редакторе модуля работало даже во время точки останова, хотя вроде бы тоже со своими тонкостями.


tormozit
#13, 04 апреля 2024 00:06

(11) bolsun, думаю сделать 1 минутное временное переключение в режим вставки через буфер при первом обнаружении не срабатывания перетаскивания


bolsun
#14, ред. 04 апреля 2024 00:07

(12) tormozit, я просто пытаюсь сейчас примерно представить как может отлаживаемое приложение мешать перетаскиванию в среде разработки и не нахожу ответов. Скорее всего т.к. конфигуратор на обычных формах и клиент, возможно какие то статические методы используются.
А при отладке управляемого приложения тоже такая проблема есть?


tormozit
#15, 04 апреля 2024 00:08

(14) bolsun, да


bolsun
#16, ред. 04 апреля 2024 00:15

(15) tormozit, ну может код, отвечающий за перетаскивание общий у конфигуратора, обычных и управляемых форм, и использует какие-то общие статические методы. Другого объяснения я не вижу.


bolsun
#17, 04 апреля 2024 00:18

Но по костылям и багам в 1С можно роман написать. Я бы мог многое рассказать, что выяснил в процессе разработки TurboConf. Но это все исправлять не будут, т.к. не относится к поддерживаемому функционалу.


bolsun
#18, 04 апреля 2024 13:32

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


bolsun
#19, 04 апреля 2024 13:48

В этой версии приостанавливается вставка перетаскиванием на 1 минуту, с выводом отладочного уведомления
https://disk.yandex.ru/d/XKCz9ijzgtoO1w


bolsun
#20, 04 апреля 2024 13:54

(12) tormozit, проверил, при остановке в Visual Studio на событии перетаскивания также приостанавливается перетаскивание в других программах. Значит разработчики 1С в данном случае правы.


bolsun
#21, 05 апреля 2024 00:36

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


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