Имя: Пароль:
1C
 
Отследить изменение отбора
0 zarzu
 
24.12.08
16:46
Есть форма списка документа. Пользователь меняет отбор (любым способом). При этом должна запуститься определенная процедура. Откуда ее запустить, из какого события? Такое вообще в принципе возможно?
1 hhhh
 
24.12.08
16:47
(0) ПриПолученииДанных
2 разработчик 1с
 
24.12.08
16:47
и таблицы на форме есть событие ПриПолученииДанных - вот там,думаю,надо как-то отслеживать
3 Defender aka LINN
 
24.12.08
16:48
(0) Нафига?
4 zarzu
 
24.12.08
16:55
ПриПолученииДанных возникает не только когда пользователь отбор меняет, а гораздо чаще. А нужно запускать процедуру каждый раз при смене отбора, процедура работает ощутимо медленно. Поэтому ПриПолученииДанных эта процедура будет приводить к тому, что ОЧЕНЬ медленно будет прокручиваться список документов.
5 Ластик
 
24.12.08
16:57
ПодключитьОбработчикИзмененияДанных
как то так...
6 Mitriy
 
24.12.08
16:57
ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".ВидСравнения", "ОбработатьИзменениеОтбора");
7 Mitriy
 
24.12.08
16:58
Для Каждого Элемент Из ДокументСписок.Отбор Цикл
   ИмяЭлемента = Элемент.Имя;
   ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".ВидСравнения", "ОбработатьИзменениеОтбора");
   ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".Значение", "ОбработатьИзменениеОтбора");
   ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".ЗначениеПо", "ОбработатьИзменениеОтбора");
   ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".ЗначениеС", "ОбработатьИзменениеОтбора");
   ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор." + ИмяЭлемента + ".Использование", "ОбработатьИзменениеОтбора");
КонецЦикла;
8 zarzu
 
24.12.08
17:01
(7) Спасибо, вот это наверно подойдет
9 Garkin
 
24.12.08
17:24
+(7)
Могу ошибаться, но помоему
ПодключитьОбработчикИзмененияДанных("ДокументСписок.Отбор", "ОбработатьИзменениеОтбора",Истина);

по функциональности не уступает (7)
10 Mitriy
 
24.12.08
17:29
(9) енто вааще не работат... пройденный этап...
11 Drathaar
 
24.12.08
17:39
(10) Согласен, только что проверил.
Все работает как надо, только через цикл, как описано в (7)
Спасибо
12 Garkin
 
24.12.08
17:51
(10) странно, я пропустил этот этап , у меня (9) прекрасно работает?
13 Mitriy
 
24.12.08
20:44
(12) не было времени проверить, только щас посмотрел... мда... должен признать, что ты прав... по (9) усе работат, пасиб :)
Закон Брукера: Даже маленькая практика стоит большой теории.