Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Обработка событий табличного поля в классе (число прочтений - 2216 )
nicesc
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 13. Июня 2009
Пол: Мужской
Обработка событий табличного поля в классе
26. Февраля 2019 :: 04:31
Печать  
Друзья, подскажите, как сделать обработку события табличного поля в классе?

Например, на форме есть ТП и я в классе его инициализирую и не знаю как обработать события "Выбор" и т.п.. Все события обрабатываются в самой форме.
  
Наверх
 
IP записан
 
Sserj
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 25. Октября 2010
Re: Обработка событий табличного поля в классе
Ответ #1 - 26. Февраля 2019 :: 11:38
Печать  
Может не совсем понял суть вопроса, но по видимому просто из событий формы вызвать методы класса:

Процедура кнТабличноеПолеВыбор(источникСобытия, идСтроки, Колонка, типРегиона, типОбластиЯчейки)
     твойКласс.ПроцедураОбработкиСобытияВыбор(источникСобытия, идСтроки, Колонка, типРегиона, типОбластиЯчейки);
КонецПроцедуры
  
Наверх
 
IP записан
 
nicesc
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 13. Июня 2009
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #2 - 26. Февраля 2019 :: 12:42
Печать  
Спасибо, так я тоже умею, интересует как можно обработать событие ТабличногоПоля, в самом классе, если оно не описано в модуле, который использует класс.

Например, создал форму отчета, добавил на него кнопку(ТП).  Как теперь прикрутить к нему меню из класса, что бы не приходилось каждый раз прописывать в форме отчета "моёТпПриКонтекстномМеню"?
  
Наверх
 
IP записан
 
Sserj
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 77
Зарегистрирован: 25. Октября 2010
Re: Обработка событий табличного поля в классе
Ответ #3 - 26. Февраля 2019 :: 14:16
Печать  
Ну тут можно попытаться Перехватчик задействовать.
  
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #4 - 27. Февраля 2019 :: 07:12
Печать  
В классе - просто без префикса


Процедура Выбор(источникСобытия, идСтроки, Колонка, типРегиона, типОбластиЯчейки) Экспорт
     твойКласс.ПроцедураОбработкиСобытияВыбор(источникСобытия, идСтроки, Колонка, типРегиона, типОбластиЯчейки);
КонецПроцедуры
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #5 - 27. Февраля 2019 :: 07:12
Печать  
перехватчик не нужен
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #6 - 27. Февраля 2019 :: 07:14
Печать  
1. класс должен быть потомком ТабличногоПоля
2. на форме должен быть создан не ТП, а его наследник
3. в модуле класса реализован обработчик события:
Процедура Выбор(Строка, Колонка, ТипРегиона, ТипОбластиЯчейки) Экспорт
КонецПроцедуры
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #7 - 27. Февраля 2019 :: 07:19
Печать  
http://www.1cpp.ru/docum/html/TableField.html#id3
- все абзацы до описания свойств
  

1&&2&&3
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #8 - 27. Февраля 2019 :: 07:19
Печать  
тьфу блин, копипаста проклятая ...

Процедура Выбор(идСтроки, Колонка, типРегиона, типОбластиЯчейки) Экспорт
     твойКласс.ПроцедураОбработкиСобытияВыбор(источникСобытия, идСтроки, Колонка, типРегиона, типОбластиЯчейки);
КонецПроцедуры
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #9 - 27. Февраля 2019 :: 07:22
Печать  
Цитата:
Процедура Выбор(источникСобытия, идСтроки, Колонка,...

В классе нет источникСобытия, источникСобытия есть только при вызове в форме
В классе источником события является this
  

1&&2&&3
Наверх
 
IP записан
 
nicesc
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 52
Зарегистрирован: 13. Июня 2009
Пол: Мужской
Re: Обработка событий табличного поля в классе
Ответ #10 - 28. Февраля 2019 :: 16:04
Печать  
Большое спасибо, всё получилось. Основная ошибка была в том, что я не сделал наследником от ТабличноеПоля свой класс
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать