Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема ПерехватитьСобытияПроведенияДокумента (число прочтений - 2647 )
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
ПерехватитьСобытияПроведенияДокумента
02. Мая 2009 :: 22:49
Печать  
Метод ПерехватитьСобытияПроведенияДокумента валит 1С
версия 1с++  3.1.0.22

Делаю так

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





класс Проведение_Счет

Код
Выбрать все
перем _Перехватчик;
перем _ПредОбработчикСобытий;


Функция Этот(Конт) Возврат Конт; КонецФункции

Функция Сам() Возврат Этот(Контекст) КонецФункции

//------------------------------------ ------------------------------------
Процедура Конструктор()
КонецПроцедуры // Конструктор


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


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

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


Пробовал снаружи класса

     
Код
Выбрать все
Перехват = СоздатьОбъект("ПерехватПроведения");
	глПерехватчик = СоздатьОбъект("Перехватчик");
	_Перехват = глПерехватчик.ПерехватитьСобытияПроведенияДокумента("Счет",Перехват); 


результат тот же Печаль
« Последняя редакция: 03. Мая 2009 :: 04:59 - aou1c »  
Наверх
ICQ  
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: ПерехватитьСобытияПроведенияДокумента
Ответ #1 - 03. Мая 2009 :: 05:41
Печать  
Отзовитесь кто пользует перехват проведения
Есть у кого рабочий пример?
  
Наверх
ICQ  
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: ПерехватитьСобытияПроведенияДокумента
Ответ #2 - 03. Мая 2009 :: 08:31
Печать  
Все разобрался.
одновременно был еще класс наследник от "DOCUMENT.Счет", в котором переопределялся метод Провести()  
Одновременно с перехватчиком они ест-но не дружат Улыбка
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПерехватитьСобытияПроведенияДокумента
Ответ #3 - 05. Мая 2009 :: 08:32
Печать  
Насчет не дружат не уверен.
Все зависит от реализации "Провести".
Перехватчик реагирует только на штатное проведение.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
aou1c
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 183
Местоположение: Екатеринбург
Зарегистрирован: 29. Мая 2006
Пол: Мужской
Re: ПерехватитьСобытияПроведенияДокумента
Ответ #4 - 05. Мая 2009 :: 15:50
Печать  
artbear писал(а) 05. Мая 2009 :: 08:32:
Насчет не дружат не уверен.
Все зависит от реализации "Провести".
Перехватчик реагирует только на штатное проведение.


На какое штатное? интерактивное что-ли?
это-же проведение, т.е. в любом случае вызывается пред-ая процедура ОбработкаПроведения(), в результате перехватывается любое проведение


Два разных объекта переопределяли один и тот же метод Провести() он же ОбработкаПроведения, т.е. переопределяли друг друга по кругу, вот  1С и валилась

  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: ПерехватитьСобытияПроведенияДокумента
Ответ #5 - 06. Мая 2009 :: 08:59
Печать  
Вот я тебе и написал, что все зависит именно от реализации Провести, именно от твоей реализации Улыбка
Ты только подтвердил мою мысль.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать