|
Подвисает при подключении KeyboardHook
|
|
| batyrkin8082 | Дата: Пн, 08.02.2021, 15:53:50 | Сообщение # 1 |
|
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Оффлайн
| При подключении внешней компоненты KeyboardHook 1С просто подвисает и все. На скрине видно точку останова - дальше нее не идет. У меня очень сильные подозрения что это из за установленной у нас системы DLP которая тоже пытается контролировать клавиатуру - видимо возникает конфликт. Версия 1С:Предприятие 8.3 (8.3.18.1289), версия инструментов 5.74. Но это повторяется и на других версиях. Причем иногда проскакивает и инструменты запускаются, т.е. сами версии библиотек и их разрядность определяются правильно. Подскажите пожалуйста, есть ли какой то вариант обойтись без KeyboardHook и как то сделать его отключаемым?
Сообщение отредактировал batyrkin8082 - Пн, 08.02.2021, 15:55:28 |
| |
| |
| tormozit | Дата: Пн, 08.02.2021, 18:40:25 | Сообщение # 2 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7263
Репутация: 193
Статус: Оффлайн
| Что есть "система DLP"? Попробуй другой разрядности клиентское приложение. Отключение тут https://www.hostedredmine.com/issues/891475
|
| |
| |
| tormozit | Дата: Вт, 09.02.2021, 10:30:32 | Сообщение # 3 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7263
Репутация: 193
Статус: Оффлайн
| Еще можно воспроизвести в пустой базе, снять дамп зависшего процесса и отправить для анализа на v8@1c.ru
|
| |
| |
| batyrkin8082 | Дата: Вт, 09.02.2021, 13:43:48 | Сообщение # 4 |
|
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Оффлайн
| Предотвращение утечек (англ. Data Leak Prevention, DLP) — технологии предотвращения утечек конфиденциальной информации из информационной системы вовне, а также технические устройства (программные или программно-аппаратные) для такого предотвращения утечек. DLP-системы строятся на анализе потоков данных, пересекающих периметр защищаемой информационной системы. При детектировании в этом потоке конфиденциальной информации срабатывает активная компонента системы, и передача сообщения (пакета, потока, сессии) блокируется. В общем мониторит всё и вся.
Другой разрядности платформа с тем же результатом валится 
Описанное отключение для обычного приложения, а у меня УП и данную форму я даже открыть не могу - оно зависает как раз при открытии. Инструменты в УФ вообще теоретически могут работать без этой компоненты, или там слишком сильные завязки на нее и вырезать/отключить не получится?
|
| |
| |
| tormozit | Дата: Вт, 09.02.2021, 23:51:27 | Сообщение # 5 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7263
Репутация: 193
Статус: Оффлайн
| Цитата batyrkin8082 (  ) Инструменты в УФ вообще теоретически могут работать без этой компоненты Так я дал ссылку на задачу, в которой описано что на нее завязано в обычном приложении. Значит как минимум в обычном приложении подсистема будет работать и без нее с описанными ограничениями. В управляемом приложении на нее еще завязано глобальное меню. А вот оно уже является существенным блоком функционала, без которого тоже можно использовать инструменты, но на удобстве это уже заметно отразится. В будущем я планирую расширить применение этого перехвата. Так что делать настройку для его отключения я буду только если проблема появится и не решится у нескольких пользователей.
Тебе же пока предлагаю протестировать отключение этого перехвата через параметр запуска ОтключитьПерехватКлавиатурыИР. Обработка.ирПлатформа.МодульОбъекта:
Код Функция ПодключитьПерехватКлавиатуры(НовоеЗначение = Неопределено) Экспорт Если мПерехватКлавиатуры = Неопределено Тогда Попытка мПерехватКлавиатуры = Вычислить("ирПерехватКлавиатуры"); Исключение КонецПопытки; КонецЕсли; Если мПерехватКлавиатуры = Неопределено Тогда Если Найти(ПараметрЗапуска, "ОтключитьПерехватКлавиатурыИР") > 0 Тогда мПерехватКлавиатуры = Новый Структура("ЗахватПервым,СобытиеПриНажатии,ЗахватРазрешен"); ПерехватКлавиатурногоВводаВОбычномПриложении = Ложь; Иначе мПерехватКлавиатуры = ПолучитьОбъектВнешнейКомпонентыИзМакета("KeyboardHook", "AddIn.ПерехватКлавиатуры.KeyboardHook", "ПерехватКлавиатуры", ТипВнешнейКомпоненты.Native); КонецЕсли; Если мПерехватКлавиатуры = Неопределено Тогда ирОбщий.СообщитьЛкс("Не удалось подключить внешнюю компоненту ПерехватКлавиатуры. Поэтому некоторые функции инструментов отключены.", СтатусСообщения.Внимание); Возврат Неопределено; КонецЕсли; мПерехватКлавиатуры.СобытиеПриНажатии = Истина; Попытка Выполнить("ирПерехватКлавиатуры = мПерехватКлавиатуры"); Исключение КонецПопытки; КонецЕсли; мПерехватКлавиатуры.ЗахватРазрешен = ПерехватКлавиатурногоВводаВОбычномПриложении; Возврат мПерехватКлавиатуры;
КонецФункции
|
| |
| |
| batyrkin8082 | Дата: Ср, 10.02.2021, 09:53:40 | Сообщение # 6 |
|
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Оффлайн
| Спасибо, значит буду так отключать.
|
| |
| |
| tormozit | Дата: Ср, 10.02.2021, 19:08:26 | Сообщение # 7 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7263
Репутация: 193
Статус: Оффлайн
| Предложенное мной выше исправление позволит только обычное приложение запускать. Для запуска управляемого приложения придется ждать версии 5.79.
|
| |
| |
| batyrkin8082 | Дата: Чт, 11.02.2021, 11:55:14 | Сообщение # 8 |
|
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Оффлайн
| Да я там пока условие подправил и запустил, типа того: Код было Если Найти(ПараметрЗапуска, "ОтключитьПерехватКлавиатурыИР") > 0 Тогда
стало Если 1=1 Тогда
|
| |
| |
| tormozit | Дата: Вс, 14.02.2021, 22:22:59 | Сообщение # 9 |
|
Генералиссимус
Группа: Администраторы
Сообщений: 7263
Репутация: 193
Статус: Оффлайн
| Реализовано в 5.79 https://www.hostedredmine.com/issues/919992
|
| |
| |
| batyrkin8082 | Дата: Вс, 14.02.2021, 22:58:08 | Сообщение # 10 |
|
Рядовой
Группа: Пользователи
Сообщений: 5
Репутация: 0
Статус: Оффлайн
| Премного благодарен!
|
| |
| |