В связи с тем, что автор признал нижеописанную технологию тупиковой ветвью развития, тема представляет собой разве что академический интерес.Данный мини-класс, по сути, описывает технологию относительно удобной работы с множественными перехватчиками формы.
Например, у вас уже есть 2 класса, каждый из которых является перехватчиком событий формы (скажем, Привязки и ТабличноПоле).
Теперь возникает проблема: т.к. каждый из двух классов перехватывает события формы, их действия необходимо согласовывать.
Ибо каждый последующий навешаный перехватчик забирает все события на себя ("кто последний - тот и папа").
Собственно, в согласовании работы нет ничего сложного - достаточно запоминать предыдущий перехватчик в момент вызова ПерехватитьСобытияГК(), а потом, в обработчике перехваченного события, не забыть сделать ВыполнитьСобытиеГК.
Правда, есть еще один маленький нюанс - если во втором навешенном перехватчике нет какого-то обработчика события, то до первого событие просто не дойдет. А значит в каждом классе необходимо описывать полный набор методов.
Но мы же с вами люди ленивые! Зачем делать ручками то, что можно успешно автоматизировать?
Мы возьмем, и унаследуем оба наших класса (привязок и табличного поля) от приложенного класса ТПерехватчик.
При инициализации класса-наследника делаем
Сам.ПолучитьБазовыйКласс("ТПерехватчик").Инит(_Контекст); //_Контекст - контекст перехватываемой формы
И дальше, единственное, что требуется от нас - после своих телодвижений не забывать в классе-наследнике вызывать событие базового класса.
Например, так:
Процедура Событие_ПриОтжатииЛевойКнопки(Сост, Гор, Верт, ФСО) Экспорт
_ПриОтжатииЛевойКнопки(Сост, Гор, Верт);
и(Сост, Гор, Верт, ФСО);
КонецПроцедуры // Событие_ПриОтжатииЛевойКнопки
Если же в одном из классов обработчик события не нужен - то вообще ничего не нужно делать: в качестве обработчика выступит метод базового класса, который перенаправит событие туда, куда нужно.
http://infostart.ru/public/141653/