|
![]() |
#1 |
Участник
|
Да так и делаю и все вроде работает, но видимо:
"Using wildcards and comma-separated range values Again, the previous example here was using standard syntax, not the special syntax using expressions. It's not possible to modify the above examples to work with wildcards. The above statement applies to AX versions < 5.0 AX 5.0 introduced solution to wildcards - while you still cannot directly use wildcards in ranges, now it supports the 'LIKE' keyword. (AccountNum LIKE "*AA*" || Name LIKE "*AA*")" Забыл указать Ах3.0 ![]() Мой сумбур на данный момент выглядит так: Код: ... QueryBuildDataSource qbdsTable1; QueryBuildDataSource qbdsTable2; QueryBuildRange qbrTable1; QueryBuildRange qbrTable2; FreeTxt qValueTable1; FreeTxt qValueTable2; ; qbdsTable1 = this.query().dataSourceTable(tablenum(Table1)); qbdsTable2 = this.query().dataSourceTable(tablenum(Table2)); qbdsTable2.addLink(fieldnum(Table2, num), fieldnum(Table1, num)); qbdsTable2.joinMode(JoinMode::ExistsJoin); qbrTable1 = qbdsTable1.addRange(fieldnum(Table1, RecId)); qbrTable2 = qbdsTable2.addRange(fieldnum(Table2, RecId)); while select Table3 { if(qValueTable1) qValueable1 += '||'; qValueTable1 += strFmt('(%1.Type=="%2")', qbdsTable1.name(), Table3.Type); } while select Table4 { if(qValueTable2) qValueTable2 += '||'; qValueTable2 += strFmt('(%1.Param=="%2")&&(%1.Value=="%3")', qbdsTable2.name(), Table4.Param, Table4.Values); } qbrTable2.value(qValueTable2); qbrTable1.value(qValueTable1); ... Последний раз редактировалось uchenik; 16.12.2008 в 07:29. |
|
![]() |
#2 |
MCITP
|
![]()
Не понял, так что не работает то? Что у вас самое главное, которого не можете добиться? like?
С ним нормально можно работать и в тройке (пример на 3.0 SP3): X++: static void ZVVTestJobQuery(Args _args) { QueryBuildDataSource qbdsIJT; QueryBuildRange qbrIJT; Query query = New Query(); QueryRun queryRun; FreeText rangeValue; inventJournalTable inventJournalTable; ; qbdsIJT = query.addDataSource(tablenum(inventJournalTable)); qbdsIJT.addSelectionField(FieldNum(inventJournalTable, JournalNameId)); qbdsIJT.orderMode(OrderMode::GroupBy); qbdsIJT.addSortField(FieldNum(inventJournalTable, JournalNameId)); qbrIJT = qbdsIJT.addRange(fieldnum(inventJournalTable, RecId)); rangeValue = strFmt('(%1.%2 like "%3")&&(%1.%4==%5)' ,qbdsIJT.name() ,FieldStr(inventJournalTable, JournalNameId) ,strFmt("%1%2", "Перенос", '*') ,FieldStr(inventJournalTable, JournalType) ,any2int(InventJournalType::Transfer)); qbrIJT.value(rangeValue); info(qbdsIJT.toString()); queryRun = New QueryRun(query); while (queryRun.next()) { inventJournalTable = queryRun.get(tablenum(inventJournalTable)); info(inventJournalTable.JournalNameId); } } PHP код:
__________________
Zhirenkov Vitaly |
|