24.07.2013, 09:49 | #1 |
Участник
|
Вывод дисплей методов в lookup форме
Доброе утро, уважаемые разработчики АХ.
Собственно, вопрос указан в заголовке темы. Имеется лукап поле на форме, в котором должны быть 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(); Последний раз редактировалось user_ax; 24.07.2013 в 09:52. |
|
|
За это сообщение автора поблагодарили: wojzeh (1). |
Теги |
display, lookup, method, метод |
|
|