|
|
|
|
#1 |
|
Axapta
|
vallys, у того класса, с которым я имею дело (LedgerJournalCopyPeriodic) и где я хотел применить controlMethodOverload стоит "Server".
|
|
|
|
|
#2 |
|
Developer
|
Цитата:
Сообщение от oip
vallys, у того класса, с которым я имею дело (LedgerJournalCopyPeriodic) и где я хотел применить controlMethodOverload стоит "Server".
... Думаю без модификации Dialog или RunBase не обойтись...Например, можно у Dialog создать методы Dialog.dialogOnClient() и Dialog.setDialogOnClient(): Код: Dialog dialogOnClient()
{
return dialogOnClient;
}
void setDialogOnClient(Dialog dialog)
{
dialogOnClient = dialog;
}Код: ... dialogClient.unpack(dialogCon); dialogClient.setDialogOnServer(dialogServer); // тут --> dialogServer.setDialogOnClient(dialogClient); // <-- Dialog::addControls( ... Код: public void dialogPostRun(DialogRunbase _dialog)
{
;
super(_dialog);
_dialog.dialogOnClient().dialogForm().formRun().controlMethodOverload(true);
_dialog.dialogOnClient().dialogForm().formRun().controlMethodOverloadObject(this);
}Код: public boolean fld1_1_modified() // fieldUpdateMethod
{
Boolean ret;
Object control = dialog.dialogOnClient().formRun().controlCallingMethod();
;
ret = control.modified();
if (ret)
{
dialog.dialogOnClient().name2dialogClass().lookup(DialogRContractAccount.name()).value('');
}
return ret;
}
public boolean fld2_1_lookup() // fieldUpdateMethod
{
Boolean ret;
Object control = dialog.dialogOnClient().formRun().controlCallingMethod();
;
RContractTable::lookupByCust(control, dialog.dialogOnClient().name2dialogClass().lookup(DialogRContractAccount.name()).value());
return true;
}
|
|
|
|
| За это сообщение автора поблагодарили: Zick-Zibn (2), oip (1). | |