Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 18:03

Как активизировать процедуру ВнешнееСобытие() для формы?

Автор aaaaaa, 17 янв 2012, 12:02

0 Пользователей и 1 гость просматривают эту тему.

aaaaaa

Все перерыл. Так и не смог понять когда срабатывает эта процедура.
Ну например на форме документа Приходная накладная написал процедуру:
Код

Процедура ВнешнееСобытие(Источник, Событие, Данные)
   // Insert handler code.
   Сообщить("Ураааа");
КонецПроцедуры



Теперь в каких случаях будет выдано сообщение "Ураааа"?
Открыл Приходную накладную, попробовал нажать клавишу - не сработала, попробовал ввод со сканера - тоже ничего.
Кто объяснит когда и при каких условиях начинает работу эта процедура?
Заранее благодарен.

sergejK74

В свойствах управляемой формы должен быть подключен обработчик события ВнешнееСобытие. Подключал?
Кнопочка Спасибо - слева!

aaaaaa

Спасибо за отклик.
Да, если я Вас правильно понял. Выше приведенный текст как раз и стоит под этим событием.
Хочу еще добавить, что у меня версия 8.1.

aaaaaa

Скажите вот это надо делать в 1с для того, чтобы перехватывать события?

//Компонента AddHook.dll служит для перехвата событий клавиатуры.
//Подключение внешней компоненты AddHook.dll должно находиться в процедуре "ПриНачалеРаботыСистемы" или "ПриОткрытии".
//Переменную "GlobalReg" нужно объявить в глобальном модуле (Перем GlobalReg Экспорт;).
Процедура ПриНачалеРаботыСистемы()
    ЗагрузитьВнешнююКомпоненту("AddHook.dll");
    GlobalReg = Новый("AddIn.AddHookExtension");
    GlobalReg.HookEnabled = 1;    // Включаем Hook
КонецПроцедуры


//В процедуре "ПередЗавершениемРаботыСистемы" необходимо отключить внешнюю компоненту AddHook.dll
Процедура ПередЗавершениемРаботыСистемы(Отказ)
    GlobalReg.HookEnabled = 0;
    GlobalReg = 0;
КонецПроцедуры


//Обработка событий клавиатуры должна находиться в процедуре "ВнешнееСобытие(Источник, Событие, Данные)"
Процедура ВнешнееСобытие(Источник, Событие, Данные)
    Если Данные = "00038" Тогда
        Сообщить("Нажата кнопка Стрелка вверх");
    КонецЕсли;
КонецПроцедуры

aaaaaa


aaaaaa

Спасибо всем. Кажется нашел.
Надо подключать перехватчик события.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск