Имя: Пароль:
1C
1С v8
чем отловить изменения любого из мульона реквизита формы?
0 Shved_72
 
13.10.15
11:40
в детстве в 7ке кидали функцию на форму и она срабатывала при любой тыканьи по форме.
а тута как? есть мульон реквизитов на форме расчет КАСКО изменение любого вызывает одну и туже функцию СкокоПоиметь()
писать в каждый реквизит ПриИзменении() чото не фонтан
1 aleks_default
 
13.10.15
11:45
ПодключитьОбработчикИзмененияДанных()
2 mistеr
 
13.10.15
11:48
(0) Всем реквизитам можно назначить один обработчик.
3 Shved_72
 
13.10.15
12:08
(1) в моем СП не нашел такого.
ну т.е. придется программно и всётаки каждому элементы формы привязать обработчик ПриИзменении,
типа
Элемент.УстановитьДействие("ПриИзменении", Новый Действие("ТрахТибиДох"));

я надеялся чтото глобальное есть у всей формы
4 Shved_72
 
13.10.15
12:10
всетаки про (1)
есть ПодключитьОбработчикОжидания по интервалу времени - то не айс,
и есть ПодключитьОбработчикОповещения - который сработает если ктото его попросить через Оповестить()

ПодключитьОбработчикИзмененияДанных это из 8.3.7?
5 Сторно абсурда
 
13.10.15
12:23
(4) Это еще в 8.1 было
6 chelentano
 
13.10.15
12:23
(0) ОбновлениеОтображения
7 Shved_72
 
13.10.15
12:33
я про уф если чо
8 Shved_72
 
13.10.15
12:35
вопрос теперь как программно перебрать все элементы формы и _красиво_ узнать кому давать а кому не давать Элемент.УстановитьДействие("ПриИзменении")
9 grayshadow
 
13.10.15
12:35
Модифицированность() не?
10 Shved_72
 
13.10.15
12:37
(9) вроде не.
оно толстое

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение(сервер).
11 grayshadow
 
13.10.15
12:42
а обязательно ловить изменения именно в тощем клиенте?
12 Vladal
 
13.10.15
12:54
(7) "про УФ" надо писать в заголовке.
13 aleks_default
 
13.10.15
12:59
(7)ну тогда только (3). В приципе там три строчки кода написать...
14 Sannap4
 
13.10.15
13:16
ЭтаФорма.Модифицированность - доступно из тонкого клиента
15 Shved_72
 
13.10.15
13:17
ну я думал по умолчанию все в УФ сидят.
(13) три строчки для каждого элемента

либо в цикле но через попытку чтоли
16 Shved_72
 
13.10.15
13:30
&НаСервере
Процедура ПриОткрытииНаСервере()
    // Вставить содержимое обработчика.
    Для каждого Эл Из Элементы Цикл
        Попытка
            Если НЕ ПустаяСтрока(Эл.ПутьКДанным) Тогда
                Эл.УстановитьДействие("ПриИзменении","Расчет");
                Сообщить(Эл.Имя);
            КонецЕсли;     
        Исключение
            Сообщить ("Не смог "+Эл.Имя+" "+ОписаниеОшибки());
        КонецПопытки;
    КонецЦикла;
КонецПроцедуры
17 Shved_72
 
13.10.15
13:33
работает. но код плохо пахнет