In this Dialog we will add a Lookup filter to the bank statement field according the selected bank account value
1.Class Declaretion
class DelBankTrans extends RunBase{
Transdate statDate;
CompanyBankAccountId bankAccount;
BankAccountStatementNum stateAcc;
DialogField dlgstatDate;
DialogField dlgbankAccount;
DialogField dlgstateAcc;
#define.CurrentVersion(2)
#define.Version1(2)
#localmacro.CurrentList
bankAccount,
stateAcc
#endmacro
}
2.Dialog
public Object dialog(){
DialogRunBase dialog;
;
dialog = super();
dialog.caption("Unreconcile Bank Statement");
dlgbankAccount = dialog.addFieldvalue(typeId(CompanyBankAccountId), bankAccount);
dlgstateAcc = dialog.addFieldvalue(typeId(BankAccountStatementNum), stateAcc);
dlgstateAcc.lookupButton(FormLookupButton::Always);
dlgstatDate = dialog.addFieldvalue(typeId(TransDate), statDate);
return dialog;
}
3.dialogPostRun
public void dialogPostRun(DialogRunbase dialog){
;
super(dialog);
dialog.formRun().controlMethodOverload(true);
dialog.formRun().controlMethodOverloadObject(this);
}
4.Look Up method with filter - dlgbankAccount.value()
void Fld2_1_lookup(){
Query query = new Query();
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(BankAccountStatement), dlgstateAcc.control());
QueryBuildDatasource qbr;
;
sysTableLookup.addLookupField(fieldNum(BankAccountStatement, AccountStatementNum));
sysTableLookup.addLookupField(fieldNum(BankAccountStatement, AccountStatementDate));
qbr = query.addDataSource(tableNum(BankAccountStatement));
qbr.addRange(fieldNum(BankAccountStatement, AccountId)).value(dlgbankAccount.value());
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
and that's It.

No comments:
Post a Comment