Chieftain писал(а) 28. Февраля 2008 :: 09:13:Пробовал сделать универсального перехватчика и столкнулся с проблемой выполнения оригинального события "ВводНового"
Проблема как оказалось в разном количестве параметров - ведь в обработках параметров у этого метода нет, поэтому конструкция
Функция ВводНового(Скопирован,ОбъектКопирования) Экспорт
Сообщить(Скопирован);
КонецФункции
Валит 1С намертво...
Как бы этого избежать?
На сколько я понял,
Функция СобытиеГМ_ВводНового( Конт ) Экспорт это событие 1С++, никакого отношения к привычным ВводНового не имеющее. В этом
СобытиеГМ_ВводНового можно определить, что за контекст вообще пытается народиться, решить - можно\нет, плюс назначить контексту ОКОП-перехватчик.
А уже этот перехватчик, который не будет полностью универсален, обработает в свою очередь
штатный 1Совский ВводНового.
У меня вышла такая иерархия :
1. Независимый ОКОП "ГенералХук", который ловит все формы при их рождении, и решает, нужно ли их перехватывать, и если да - то чем. Больше ни чего не делает (вру, ещё ОбработкаЯчейкиТаблицы идет через него, и поскольку он глобален - в нем встроена регистрация изменений объектов после записи).
2. КОП "ПерехватФормы" реализующий метод "ПерехватитьКонтекстФормы". Самостоятельно не используется.
3. КОП "ПерехватФормыДокумент : ПерехватФормы"
4. КОП "ПерехватФормыЖурнал : ПерехватФормы"
5. КОП "ПерехватФормыСправочникЭлемент : ПерехватФормы"
6. КОП "ПерехватФормыСправочникГруппа : ПерехватФормы"
7. КОП "ПерехватФормыСправочникСписок : ПерехватФормы"
и т.д.