0
Zhuravlik
28.02.13
✎
12:57
|
Здравствуйте. В конфе присутствует обработка DefCls.prm, и обработка "Класс_УправлениеСобытиями". Класс загружается, и отрабатывает, если нужно ловить события документов, отчетов, справочников и т.п. Вот рабочий текущий код:
Перем Перехватчик;
Перем КонтФормы;
Перем ТипОбъекта;
Перем РасширениеФормы;
Перем ЭтоНовый;
Перем Автор;
//======================================================================
Процедура Конструктор()
Перехватчик = СоздатьОбъект("Перехватчик");
КонецПроцедуры // Конструктор
//======================================================================
Процедура Инит(Конт = "") Экспорт
Если ТипЗначенияСтр(Конт) = "ГрупповойКонтекст" Тогда
КонтФормы = Конт;
КонецЕсли;
Перехватчик.ПерехватитьСобытияГК(КонтФормы,вирт());
РасширениеФормы = СоздатьОбъект("РасширениеФормы");
РасширениеФормы.УстановитьФорму(КонтФормы.Форма);
ТипОбъекта = РасширениеФормы.ТипОбъекта();
Если ТипОбъекта = "Документ" Тогда
Автор = КонтФормы.Автор;
КонецЕсли;
КонецПроцедуры
//======================================================================
Процедура СобытиеГМ_СозданиеКонтекста(Конт) Экспорт
ПерехватчикСобытийФормы = СоздатьОбъект("УправлениеСобытиями");
ПерехватчикСобытийФормы.Инит(Конт);
КонецПроцедуры
//======================================================================
Функция Проверка_Авторство()
Если глПользователь <> Автор Тогда
Сообщить("Автор документа - "+ СокрЛП(Автор) +", можно только открыть на просмотр.", "!");
Возврат 1;
КонецЕсли;
Возврат 0;
КонецФункции // Проверка
//======================================================================
Функция Событие_ПриОткрытии(флНастройка) Экспорт
Если (ТипОбъекта="Отчет")или (ТипОбъекта="Обработка")Или(ТипОбъекта = "ВнешнийОтчет") Тогда
Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГК(КонтФормы,"ПриОткрытии",флНастройка);
КонецЕсли;
Если ТипОбъекта = "Документ" Тогда
Если Проверка_Авторство() = 1 Тогда
КонтФормы.Форма.ТолькоПросмотр(1);
КонецЕсли;
КонецЕсли;
Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГК(КонтФормы,"ПриОткрытии");
КонецФункции // Событие_ПослеОткрытия
Теперь я хочу перехватить событие ПриУдаленииДокумента, из глобальника.
В конец этого кода дописываю:
//======================================================================
Функция Событие_ПриУдаленииДокумента(Док, Режим) Экспорт
Сообщить(Док);
Возврат Перехватчик.ВыполнитьОригинальноеСобытиеГлобальногоМодуля("ПриУдаленииДокумента");
КонецФункции // Событие_ПриУдаленииДокумента
Ничего не сообщается, т.е. не ловится. А как сделать?
|
|