Показать сообщение отдельно
Старый 30.04.2008, 11:01   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Обработка modified в Dialog
Привет всем.
Вопрос по перекрытию методов для динамических контролов Dialog.
Все, работает отлично, но вот что интересно:
X++:
public boolean dfCalcPeriod_modified()
{
    Boolean ret;
    FormStringControl  control = dialog.formRunClient().controlCallingMethod();
    ;

    ret = control.modified();

    dfCalcPeriod.value(control.text());

    // здесь некий функционал, который должен отрабатывать на Modified

    return ret;
}
Если вот этого не делать dfCalcPeriod.value(control.text()), то значение Value в dfCalcPeriod, так и остается старым, то есть не изменяется. Я так понимаю, dfCalcPeriod это объект на сервере, а control - объект на клиентской форме. Поэтому, несмотря на modified клиентского контрола, обновление на сервере не проиходит.

При этом можно сделать
X++:
    dialog.updateClient(dialog.parmDialogOnClient());
чтобы обновить изменения на клиентской форме, при каких-то модификациях на сервере.

Каким образом провернуть обратную операцию целиком, то есть не выставляя отдельные значения для контролов.