Доброе утро, уважаемые разработчики АХ.
Собственно, вопрос указан в заголовке темы. Имеется лукап поле на форме, в котором должны быть 2 значения. Эти значения я беру display-методами. Однако лукап не работает лишь с 2 методами, ему необходимо хотя бы одно поле, то есть addLookupField. Если я добавлю хотя бы одно поле - лукап отлично отрабатывает.
Подскажите, в чём загвоздка. Буду рад любым советам. Заранее спасибо!
X++:
public void lookup()
{
Query query = new Query();
QueryBuildDataSource qbds_vendsp,qbds_vendsplist,qbds_purchl;
PurchLine purchl = PurchLine_ds.cursor();
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(PurchLine),this);
;
// 3776 23.07.2013 ->
sysTableLookup.addLookupMethod(tablemethodstr(PurchLine, SpQtyFree));
sysTableLookup.addLookupMethod(tablemethodstr(PurchLine, idsp));
//Если закомментировать addLookupField, выдаёт ошибку "Ошибка времени выполнения: FormRun(Объект), метод selectMode вызван с недопустимыми параметрами"
sysTableLookup.addLookupfield(fieldnum(PurchLine, ItemId));
// 3776 23.07.2013 <-
// 3776 23.07.2013 ->
qbds_purchl = query.addDataSource(tablenum(PurchLine));
qbds_vendsp = qbds_purchl.addDataSource(tablenum(VendSpListJour));
qbds_vendsp.addLink(fieldnum(PurchLine,InternalSp),fieldnum(VendSpListJour,InternalSp));
if (purchTable.RContractAccount)
{
qbds_vendsp.addRange(fieldnum(VendSpListJour,RcontractAccount)).value(SysQuery::value(purchTable.RContractAccount));
qbds_vendsp.addRange(fieldnum(VendSpListJour,SpClosed)).value('0');
qbds_purchl.addRange(fieldnum(PurchLine,ItemId)).value(SysQuery::value((purchl.ItemId)));
}
else
{
qbds_vendsp.addRange(fieldnum(VendSpListJour, idSp)).value(SysQuery::valueEmptyString());
}
// 3776 23.07.2013 <-
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();