Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема В классе наследнике обработать событие предка? (число прочтений - 2527 )
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
В классе наследнике обработать событие предка?
14. Апреля 2008 :: 07:38
Печать  
Имеется класс-наследник Табличного поля.
В нем реализованы специфические действия по обработке событий "ПриВыводеСтроки","ПриБыстромПоиске".
А вот как подключить  обработчики класса-наследника к этим событиям?

Похожая проблема была, судя по всему, в классе Привязка.
Там она решалась явным прописыванием вызовов в нужных событиях - имхо не очень красиво
Код
Выбрать все
Процедура ПриИзмененииРазмераОкна(ТипСобытия, Ширина, Высота)
	Привязка.ПриИзмененииРазмераОкна(ТипСобытия, Ширина, Высота);
КонецПроцедуры 

и приходится писать такой код во всех формах.

может есть способ "перехвата" ?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В классе наследнике обработать событие предка?
Ответ #1 - 14. Апреля 2008 :: 07:52
Печать  
Сам().ПолучитьБазовыйКласс().ПриВыводеСтроки(параметры)
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: В классе наследнике обработать событие предка?
Ответ #2 - 14. Апреля 2008 :: 08:33
Печать  
Arta писал(а) 14. Апреля 2008 :: 07:52:
Сам().ПолучитьБазовыйКласс().ПриВыводеСтроки(параметры)


И как это может помочь?
На форме лежит ТП- наследник , например тпЗаказы.
На форме при выводе строки ТП срабатывает тпЗаказыПриВыводеСтроки.

В классе наследнике ничего не срабатывает.
Т.е. мне нужно не вызвать событие, а среагировать на него в классе наследнике.
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В классе наследнике обработать событие предка?
Ответ #3 - 14. Апреля 2008 :: 08:38
Печать  
т.е. у тебя в классе есть процедура "ПриВыводеСтроки(параметры)" и она не сробатывает?
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: В классе наследнике обработать событие предка?
Ответ #4 - 14. Апреля 2008 :: 08:40
Печать  
JohnyDeath писал(а) 14. Апреля 2008 :: 08:38:
т.е. у тебя в классе есть процедура "ПриВыводеСтроки(параметры)" и она не сробатывает?


Да, не срабатывает. А должна?
  
Наверх
 
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В классе наследнике обработать событие предка?
Ответ #5 - 14. Апреля 2008 :: 08:42
Печать  
kiruha писал(а) 14. Апреля 2008 :: 08:40:
JohnyDeath писал(а) 14. Апреля 2008 :: 08:38:
т.е. у тебя в классе есть процедура "ПриВыводеСтроки(параметры)" и она не сробатывает?


Да, не срабатывает. А должна?

Конечно!
Вот так пиши в классе (может ты просто Экспорт забыл?):
Код
Выбрать все
Процедура ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки, ТипРегиона) Экспорт
//тут всё, что тебе надо
КонецПроцедуры 

  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: В классе наследнике обработать событие предка?
Ответ #6 - 14. Апреля 2008 :: 09:17
Печать  
Большой болшой Пасиб Улыбка

Ошибка была вместо
Код
Выбрать все
ОбъектФорма.СоздатьЭлементУправления("ТабличноеПоле", ЭлементДиалога); 


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



Процедуры действительно срабатывают Улыбка
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В классе наследнике обработать событие предка?
Ответ #7 - 14. Апреля 2008 :: 09:24
Печать  
Я вопрос "В классе наследнике обработать событие предка?" понял так, что в наследнике переопределено событие, но при этом ты хочешь чтобы срабатывало и событие предка.

Ну разобрались и славненько Улыбка
  
Наверх
 
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: В классе наследнике обработать событие предка?
Ответ #8 - 14. Апреля 2008 :: 09:53
Печать  
Arta писал(а) 14. Апреля 2008 :: 09:24:
Я вопрос "В классе наследнике обработать событие предка?" понял так, что в наследнике переопределено событие, но при этом ты хочешь чтобы срабатывало и событие предка.

Ну разобрались и славненько Улыбка


Да , наверно сумбурно излагаю. Этот метод тоже понадобится - спасибо )

  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать