Имя: Пароль:
1C
1C 7.7
v7: Перехватчик: Не могу отловить событие глобальника "ПриУдаленииДокумента"
0 Zhuravlik
 
28.02.13
12:57
Здравствуйте. В конфе присутствует обработка DefCls.prm, и обработка "Класс_УправлениеСобытиями". Класс загружается, и отрабатывает, если нужно ловить события документов, отчетов, справочников и т.п. Вот рабочий текущий код:

Перем Перехватчик;
Перем КонтФормы;
Перем ТипОбъекта;
Перем РасширениеФормы;
Перем ЭтоНовый;
Перем Автор;

//======================================================================
Процедура Конструктор()
   Перехватчик = СоздатьОбъект("Перехватчик");
КонецПроцедуры // Конструктор

//======================================================================
Процедура Инит(Конт = "") Экспорт
   Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
       КонтФормы = Конт;
   КонецЕсли;
   
   Перехватчик.ПерехватитьСобытияГК(КонтФормы,вирт());
   РасширениеФормы = СоздатьОбъект("РасширениеФормы");
   РасширениеФормы.УстановитьФорму(КонтФормы.Форма);
   ТипОбъекта = РасширениеФормы.ТипОбъекта();

   Если ТипОбъекта = "Документ" Тогда
       Автор = КонтФормы.Автор;
   КонецЕсли;    
   
КонецПроцедуры

//======================================================================
Процедура СобытиеГМ_СозданиеКонтекста(Конт) Экспорт
   ПерехватчикСобытийФормы = СоздатьОбъект("УправлениеСобытиями");
   ПерехватчикСобытийФормы.Инит(Конт);
КонецПроцедуры

//======================================================================
Функция Проверка_Авторство()
   Если глПользователь <> Автор Тогда                
       Сообщить("Автор документа - "+ СокрЛП(Автор) +", можно только открыть на просмотр.", "!");
       Возврат 1;
   КонецЕсли;            
   Возврат 0;
КонецФункции // Проверка

//======================================================================
Функция Событие_ПриОткрытии(флНастройка) Экспорт
   
   Если (ТипОбъекта="Отчет")или (ТипОбъекта="Обработка")Или(ТипОбъекта = "ВнешнийОтчет") Тогда
       Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГК(КонтФормы,"ПриОткрытии",флНастройка);
   КонецЕсли;    
   
   Если ТипОбъекта = "Документ" Тогда
       Если Проверка_Авторство() = 1 Тогда
           КонтФормы.Форма.ТолькоПросмотр(1);
       КонецЕсли;
   КонецЕсли;
   Возврат    Перехватчик.ВыполнитьОригинальноеСобытиеГК(КонтФормы,"ПриОткрытии");
КонецФункции // Событие_ПослеОткрытия



Теперь я хочу перехватить событие ПриУдаленииДокумента, из глобальника.
В конец этого кода дописываю:

//======================================================================
Функция Событие_ПриУдаленииДокумента(Док, Режим) Экспорт
   
   Сообщить(Док);
   
   Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГлобальногоМодуля("ПриУдаленииДокумента");
   
КонецФункции // Событие_ПриУдаленииДокумента


Ничего не сообщается, т.е. не ловится. А как сделать?
1 varelchik
 
28.02.13
14:58
У тебя походу не включен перехват глобальныхсобытий.
ПерехватитьСобытияГлобальногоМодуля
2 varelchik
 
28.02.13
14:59
помимо того у тебе и небудет перехвата ВводНаОсновании