|
События "ПриПолученииДанных" и "ВнешнееСобытие" | ☑ | ||
---|---|---|---|---|
0
Sewace
28.02.12
✎
21:42
|
Здравствуйте!
Есть обработка. На форме - табличное поле, данные которого - "ДокументСписок". Для элемента управления есть обработчик события "ПриПолученииДанных", в котором строки таблицы окрашиваются в различные цвета. Смотрю отладчиком - процедура-обработчик события вызывается несколько десятков раз, собственно, при получении данных. Все ОК. Далее, прикручиваю обработчик события "ВнешнееСобытие" для формы. Внешнее событие генерируется, соответственно, внешней компонентой. В обработчике события при поступлении события (а оно поступает раз 5 в секунду) некие данные просто выводятся в элемент управления "Надпись" на форме, таблица документов никак при этом не затрагивается. Но как только я подключаю обработчик внешнего события к форме, событие "ПриПолученииДанных" таблицы документов начинает вызываться непрерывно, при этом повышая процент загрузки процессора с 10% (это обработка внешнего события) до 14% (за счет раскраски строк таблицы в различные цвета). Как могут быть взаимосвязаны эти два события? Почему внешнее событие инициирует событие получение данных табличного поля? |
|||
1
Armando
28.02.12
✎
22:21
|
Интересно. А если отключить ВК?
Смоделировал у себя с указанными обработчиками, правда без КВ. Все работает нормально. |
|||
2
Sewace
28.02.12
✎
22:23
|
(1)
Буду проводить изыскания, но позже - уже почти заснул... Тоже хочу попробовать воспроизвести такое поведение на другой ВК. О результатах отпишусь. |
|||
3
GenV
28.02.12
✎
22:27
|
(1)+1 ПриПолученииДанных как раз и используют поэтому.
(0) Может ты где-то пропустил обновление таб. поля или формы при обработке события ВК. |
|||
4
Sewace
28.02.12
✎
22:45
|
(3)
Новые подробности... Оказывается, дело еще обстоит еще интересней... Комментирую весь код в процедуре "ОбработкаВнешнегоСобытия", оставляя, само описание процедуры и "КонецПроцедуры" (то есть обработчик события все же оставляю). Событие "ТаблицаДокументовПриПолученииДанных" вызывается непрерывно. А вот если комментирую саму процедуру "ОбработкуВнешнегоСобытия" (удаляю по сути ее из модуля формы), то все ОК, "ПриПолученииДанных" больше не вызывается (только при открытии формы несколько раз). Попытался заменить событие "ПриПолученииДанных" событием "ПриВыводеСтроки", но тут, конечно, строка перерисовывается очень часто и без всяких внешних событий - для меня этот вариант не подойдет - мне нужно только "ПриПолученииДанных". |
|||
5
GenV
28.02.12
✎
23:02
|
(4) Посмотри в модуле обычного приложения - есть ОбработкаВнешнегоСобытия?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |