Я хочу в него добавить еще один параметр для фильтра, кроме кода клиента
в init
X++:
//14/09/07
if (sms)
{
buildParmNum = contactPerson_ds.query().dataSourceTable(tablenum(ContactPerson)).addRange(fieldnum(ContactPerson, SMS));
buildParmNum.value(queryValue(SMS));
}
X++:
void sms(SMS _sms)
{;
sms = _sms;
}
в lookup к полю привязываю
X++:
public void lookup()
{
;
super();
if (LedgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)
{
ContactPerson::lookupCustPerson(LedgerJournalTrans_RCashDocRepresPersonId1,
LedgerJournalTrans.OffsetAccount,
this,
1);
}
}
а в таблицу ContactPerson
X++:
client static void lookupCustPerson(FormStringControl _ctrl,
CustAccount _custAccount,
FormStringControl nameControl = null,
int dismissed = 0,
ContactPersonId currentContactPersonId = '')
{
Args args;
Object formRun;
;
args = new Args();
args.name(formstr(ContactPersonLookup));
args.caller(_ctrl);
args.lookupValue(currentContactPersonId);
formRun = classFactory.formRunClass(args);
formRun.custAccount(_custAccount);
formRun.SMS(dismissed);
formRun.callingNameControl(nameControl);
formRun.init();
_ctrl.performFormLookup(formRun);
}
В результате в реквизите список открывается и тут же закрывается, что не так?
метод super() оставила в loockup