Я создаю проект в AX 2009 на форме.Существует поле поиска «SubsPersonName», которое выполняет поиск в таблице ContactPerson с использованием следующего метода.
public void lookup()
{
boolean ret;
Query query;
QueryBuildDataSource querybuilddatasource;
QueryBuildRange querybuildrange;
SysTableLookup sysTableLookup;
CustInvoiceAccount _thisinvoiceaccount = CustTable::find(CustTable::find(TTN_CustVendSubscriptions.AccountNum).InvoiceAccount).PartyId;
CustAccount _thisaccountnum = CustTable::find(TTN_CustVendSubscriptions.AccountNum).PartyId;
;
//TODO: Lookup value should read ContactPerson.Name, not ContactPerson.ContactPersonId
sysTableLookup = SysTableLookup::newParameters(tablenum(ContactPerson), this);
sysTableLookup.addLookupfield(fieldnum(ContactPerson, Name));
sysTableLookup.addLookupfield(fieldnum(ContactPerson, ContactPersonId), true);
sysTableLookup.addLookupfield(fieldnum(ContactPerson, CustAccount));
sysTableLookup.addLookupfield(fieldnum(ContactPerson, VendAccount));
query = new Query();
querybuilddatasource = query.addDataSource(tablenum(ContactPerson));
querybuildrange = querybuilddatasource.addRange(fieldnum(ContactPerson, Name));
querybuildrange = querybuilddatasource.addRange(fieldnum(ContactPerson, OrgPartyId));
if (!_thisinvoiceaccount)
_thisinvoiceaccount = _thisaccountnum;
querybuildrange.value(strfmt("%1,%2", _thisinvoiceaccount,_thisaccountnum));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
Приведенный выше код работает нормально, но мне нужно немного его отрегулировать.Значение, которое нужно вставить в базу данных, - это ContactPerson.ContactPersonId согласно этому коду, но я бы хотел, чтобы в поле формы отображалось ContactPerson.Name.
Я понимаю, что могу использовать метод отображения дляпокажите это в соответствии с этим вопросом: Axapta: в поле «Уточняющий запрос» отображается строковое значение вместо идентификатора? , но это будет включать в себя ненужное дополнительное поле, которого я бы хотел избежать, если это возможно.
Пожалуйста, кто-нибудь может указать мне правильное направление?