|
v7: ПерехватитьСобытияГК | ☑ | ||
---|---|---|---|---|
0
Adecvator
04.02.13
✎
18:59
|
Хочу включить перехват события:
Если (ЗагрузитьВнешнююКомпоненту(глКаталогDLL+"FormEx.dll") = 1) и (ЗагрузитьВнешнююКомпоненту(глКаталогDLL+"1CPP32320.dll") = 1) Тогда гл1CPP = 1; глСервис = СоздатьОбъект("Сервис"); глСервис.ВключитьРаскраскуТаблиц(); //ПерехватГК = СоздатьОбъект("ПерехватчикСобытийГК"); //ПерехватГК.ВключитьПерехват(); глСервис.ПерехватитьСобытияГК(); КонецЕсли; а он ругается: глСервис.ПерехватитьСобытияГК(); {Глобальный модуль(4114)}: Поле агрегатного объекта не обнаружено (ПерехватитьСобытияГК) |
|||
1
FN
04.02.13
✎
19:15
|
ПерехватитьСобытияГК никакого отношения к объекту Сервис не имеет
|
|||
2
Adecvator
04.02.13
✎
19:24
|
(1) а как его тогда вкл. Попробовал так:
глУпрНастройками =СоздатьОбъект("УправлениеНастройками"); глУпрНастройками.Установить("ПерехватитьСобытияГК",1); ругаться не ругается но вот в процедуры: //========================================================= Процедура Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации(EventCategory, Event, EvType, comment, object, ObjDescr) Сообщить("" + EventCategory + "" + Event + "" + EvType + "" + comment + "" + object + "" + ObjDescr); КонецПроцедуры // Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации //========================================================== Процедура Событие_ЗаписьСобытияЖурналаРегистрации(EventCategory, Event, EvType, comment, object, ObjDescr) Сообщить("" + EventCategory + "" + Event + "" + EvType + "" + comment + "" + object + "" + ObjDescr); КонецПроцедуры // Событие_ЗаписьСобытияЖурналаРегистрации не заходит :( |
|||
3
monsterZE
04.02.13
✎
20:42
|
||||
4
monsterZE
04.02.13
✎
20:43
|
||||
5
Adecvator
05.02.13
✎
12:03
|
Вот так я включил перехватчик:
ЗагрузитьВнешнююКомпоненту(глКаталогDLL+"FormEx.dll"); ЗагрузитьВнешнююКомпоненту(глКаталогDLL+"1CPP32320.dll"); глУпрНастройками =СоздатьОбъект("УправлениеНастройками"); глУпрНастройками.Включить("ПерехватитьСобытияГК"); Перехватчик = СоздатьОбъект("Перехватчик"); Перехватчик.ПодключитьСобытие_НеобработаннаяОшибка(); Перехватчик.ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации(); Перехватчик.ПодключитьСобытие_ЗаписьПользовательскогоСобытияЖурналаРегистрации(); вот так я пытаюсь перехватить запись в журнал регистраций: Процедура Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации (EventCategory, Event, EvType, comment, object, ObjDescr) Экспорт Сообщить("" + EventCategory + "" + Event + "" + EvType + "" + comment + "" + object + "" + ObjDescr); Сообщить("Перехватчик работает!!!"); КонецПроцедуры // Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации Почему оно не работает? |
|||
6
Ёпрст
05.02.13
✎
12:04
|
1cpp должна всегда грузится первой.
|
|||
7
Ёпрст
05.02.13
✎
12:04
|
(5) читай доку. Там ответ на твой вопрос.
|
|||
8
Ёпрст
05.02.13
✎
12:05
|
||||
9
Adecvator
05.02.13
✎
13:14
|
Процедура: Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации() у меня не отработала, а вот Событие_ЗаписьСобытияЖурналаРегистрации, работает, теперь проблема как записать comment, обычным присвоение не помогает :(
Если СокрЛП(Event) = "DocPassed" Тогда comment = "DocWrite"; Сообщить(1); КонецЕсли; |
|||
10
Ёпрст
05.02.13
✎
13:16
|
(9) дык пользовательское, это когда ручонками записьЖурналаРегистрации вызывается в коде, ты точно его хотел ловить то ?
:) |
|||
11
Adecvator
05.02.13
✎
13:19
|
(10) точно :) а как комент записать не подскажешь?
|
|||
12
Ёпрст
05.02.13
✎
13:19
|
И еще, что бы что то записать ссвоё, нужно записьЖурналаРегистрации вызвать вестимо.
|
|||
13
Ёпрст
05.02.13
✎
13:19
|
и отменить штатное действие.
|
|||
14
Adecvator
05.02.13
✎
15:10
|
(13) а как отменить штатное действие записи в журнал регистрации?
|
|||
15
Ёпрст
05.02.13
✎
15:11
|
дык не вызывать оригинальное событие вестимо
|
|||
16
Adecvator
05.02.13
✎
15:14
|
(15) не до понял, что значит: "не вызывать оригинальное событие вестимо" ???
|
|||
17
Ёпрст
05.02.13
✎
15:17
|
Общая схема перехвата - ты перехватываешь предопределенные события чего угодно в своём классе, если ты в этих событиях не вызываешь оригинальное событие - оно не выполняется.
См. ВыполнитьОригинальноеСобытиеГК ВыполнитьОригинальноеСобытиеГлобальногоМодуля |
|||
18
Adecvator
05.02.13
✎
15:39
|
(17) что бы выполнить орг. событие необходимо его перехватить ПерехватитьСобытияГК, прописываю в глобальнике функцию ПерехватитьСобытияГК она туда не заходит :(
|
|||
19
Ёпрст
05.02.13
✎
15:48
|
(18) всё не так.
|
|||
20
Ёпрст
05.02.13
✎
16:09
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |