|
09.03.2009, 13:23 | #1 |
Участник
|
Как можно использовать join Query как DataSource для формы ?
В коде инит для DataSource есть код но что-то я пропустил и query не работатет:
q = new Query(); SalesTableQbds = q.addDataSource(TableNum(SalesTable)); wmsOrderTransQbds = SalesTableQbds.addDataSource(TableNum(WMSOrderTrans)); wmsOrderTransQbds.joinMode(JoinMode::InnerJoin); wmsOrderTransQbds.addLink(fieldNum(SalesTable, SalesId), fieldNum(WMSOrderTrans, inventTransRefId)); qbr = SalesTableQbds.addRange(fieldnum(SalesTable, asu_SOType)); qbr.value(enum2str(asu_SOType::AccessoryOnly)); QR = new QueryRun(q); |
|
09.03.2009, 13:34 | #2 |
Administrator
|
Поиск Вам в помощь.
А вообще, посмотрите хотя бы на список похожих тем внизу страницы. Там много чего есть интересного почитать. Например, query->DataSource->grid
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
10.03.2009, 10:25 | #3 |
Участник
|
Нашел решение, в init для DataSource пишем код:
X++: public void init() { Query query = new Query(); QueryBuildDataSource wmsOrderTransQBDS, salesTableQBDS; QueryRun queryRun; QueryBuildRange qbr; ; wmsOrderTransQBDS = query.addDataSource(tableNum(WMSOrderTrans)); salesTableQBDS = wmsOrderTransQBDS.addDataSource(tableNum(SalesTable)); salesTableQBDS.addRange(fieldnum(SalesTable, asu_SOType)).value(enum2str(asu_SOType::AccessoryOnly)); salesTableQBDS.addLink(fieldNum(WMSOrderTrans, inventTransRefId), fieldNum(SalesTable, SalesId)); salesTableQBDS.fetchMode(QueryFetchMode::One2One); wmsOrderTrans_ds.query(query); super(); } |
|