Dmitry The Wing писал(а) 15. Декабря 2010 :: 08:32:Satans Claws писал(а) 15. Декабря 2010 :: 08:21:Вопрос - а Событие "ПослеОткрытия" перехватчик перехватывает?
Да и вообще, составить бы список всех событий, которые подвластны перехватчику.
Именно про это событие написано в справке ... а вообще - он перекрывает все предопределенное.
Тогда спрашивается, почему приходится писать такой из**б в форме, в которой перехватываю события:
Перем фПослеОткрытия;
Процедура ПослеОткрытия()
Если ПустоеЗначение(фПослеОткрытия) = 1 Тогда
фПослеОткрытия = 1;
Перехватчик = СоздатьОбъект("Перехватчик");
Обработчик = Перехватчик.ПолучитьПерехватчикСобытийГК(Контекст);
Если ПустоеЗначение(Обработчик) = 0 Тогда
Обработчик.Событие_ПослеОткрытия();
КонецЕсли;
КонецЕсли;
КонецПроцедуры // ПослеОткрытия
Общая схема работы организована таким образом:
Имеется несколько объектов, которым необходим перехват событий (ТабличноеПоле, Привязки).
Каждый из этих объектов дополнительно наследует от класса ТПерехватчик.
в классе ТПерехватчик для каждого события описан примерно следующий обработчик:
Функция Событие_ПриОтжатииКнопкиКлавиатуры(Код, Альт, Шифт, Ктрл, Символ, ФСО) Экспорт
Возврат Перехватчик.ВыполнитьСобытиеГК(ПредОбработчик, КонтекстФормы, "ПриОтжатииКнопкиКлавиатуры", Код, Альт, Шифт, Ктрл, Символ, ФСО);
КонецФункции // ПриОтжатииКнопкиКлавиатуры
а в классах ТабличногоПоля и Привязок, в соотв. событиях после своих действий делается вызов
"Возврат атуры(Код, Альт, Шифт, Ктрл, Символ, ФСО);"
все работает, все замечательно.
Только после открытия не отрабатывает.