|
![]() |
#1 |
Moderator
|
Цитата:
Цитата:
Сообщение от Gustav
![]() Можно перейти от fld5_1 к "нормальному" названию поля типа "Kontragent", создав переменную контрола соответствующего типа, и тогда метод приобретет более осмысленное название типа Kontragent_modified(). Соответственно, никаких проблем с последующим добавлением полей в серединку не возникнет. Делал такое в Ax 3.0 sp4.
X++: static void Job220(Args _args) { Dialog dialog = new Dialog('Наш диалог'); FormStringControl fscOKOFCode; FormIntControl ficLifeTime; DialogField fieldOKOFCode; DialogField fieldLifeTime; ; fieldOKOFCode = dialog.addField(Types::String,'ОКОФ'); fieldLifeTime = dialog.addField(Types::Integer, 'Срок амортизации'); fscOKOFCode = fieldOKOFCode.fieldControl(); ficLifeTime = fieldLifeTime.fieldControl(); fscOKOFCode.name('OKOFCode'); ficLifeTime.name('LifeTime'); dialog.doInit(); dialog.formRun().controlMethodOverload( true ); dialog.formRun().controlMethodOverloadObject( new KKu_TestForPoleax( dialog )); // KKu_TestForPoleax - класс, содержащий метод OKOFCode_modified dialog.run(); // опытным путём было установлено, что здесь еще раз необходима инициализация переменных, // чтобы дальше ими свободно оперировать fscOKOFCode = dialog.formRun().design().controlName('OKOFCode'); ficLifeTime = dialog.formRun().design().controlName('LifeTime'); if(dialog.closedOk()) { box::info(strFmt('ОКОФ: %1, Срок: %2', fscOKOFCode.text(), ficLifeTime.value())); } } X++: class KKu_TestForPoleax { Dialog dialog; } void new(Dialog _dialog) { ; dialog = _dialog; } public boolean OKOFCode_modified() { boolean ret; FormStringControl me = dialog.formRun().controlCallingMethod(); ; ret = me.modified(); // как super() box::info('Привет, Poleax! Вон оно, оказывается, как надо было!'); return ret; } Последний раз редактировалось Gustav; 15.10.2009 в 18:43. |
|
|
За это сообщение автора поблагодарили: Poleax (4). |
![]() |
#2 |
Moderator
|
Всё! ПолучИте законченный пример - джоб и класс к нему (см. выше).
|
|