04.05.2015, 21:16 | #1 |
Участник
|
sysTableLookup c join
Добрый день!
Возник следующий вопрос: Вот такой код работает: X++: sysTableLookup = SysTableLookup::newParameters(tablenum(LedgerTable), dialog.formRun().controlCallingMethod()); sysTableLookup.addLookupfield(fieldnum(LedgerTable, AccountNum)); sysTableLookup.addLookupfield(fieldnum(LedgerTable, AccountName)); sysTableLookup.performFormLookup(); Основная таблица EmplTable надо вытянуть коде из DirtPartyTable поле Name Через query не получается - подскажите что не так? X++: qbds = query.addDataSource(tableNum(EmplTable)); qbds = query.dataSourceTable(tableNum(EmplTable)).addDataSource(tableNum(DirPartyTable)); qbds.relations(true); qbds.joinMode(JoinMode::InnerJoin); sysTableLookup = SysTableLookup::newParameters(tablenum(EmplTable), dialog.formRun().controlCallingMethod()); sysTableLookup.addLookupfield(fieldnum(EmplTable, EmplId)); sysTableLookup.addLookupfield(fieldnum(DirPartyTable, Name)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); Последний раз редактировалось Art_Tanis; 04.05.2015 в 21:19. |
|
04.05.2015, 21:21 | #2 |
северный Будда
|
1) Используйте SysTableMultiLookup, там можно несколько таблиц джойнить
2) Используйте display-методы лукапной таблицы в варианте sysTableLookup.addLookupMethod
__________________
С уважением, Вячеслав |
|
05.05.2015, 05:14 | #3 |
Участник
|
В вашем случае подойдет описанный выше способ с дисплей методом.
X++: sysTableLookup.addLookupMethod(tableMethodStr(EmplTable, name)); Последний раз редактировалось skuull; 05.05.2015 в 05:16. |
|
05.05.2015, 08:27 | #4 |
Участник
|
Цитата:
Цитата:
Последний раз редактировалось gl00mie; 05.05.2015 в 08:30. |
|
|
За это сообщение автора поблагодарили: Player1 (1). |
|
|