|
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
|
помимо того у тебе и небудет перехвата ВводНаОсновании
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |