![]() |
#5 |
Участник
|
Вот такой код в AX2012 выводит в инфолог две строки. В самом конце первой строки виден пользовательский фильтр WHERE ((SalesTable(SalesTable).SalesId = N'SO00011745' OR SalesId = N'SO00011746')).
1) SELECT FIRSTFAST * FROM SalesTable(SalesTable) ORDER BY SalesTable.SalesId ASC WHERE ((NOT (ReturnStatus = 4) AND NOT (ReturnStatus = 1))) OUTER JOIN Person, Person FROM HcmWorker(Ref_HcmWorker_WorkerSalesTaker_FK) ON SalesTable.WorkerSalesTaker = HcmWorker.RecId OUTER JOIN Name, RecId FROM DirPerson(Ref_DirPerson_WorkerSalesTaker_FK_DirPerson_FK) ON HcmWorker.Person = DirPerson.RecId WHERE ((SalesTable(SalesTable).SalesId = N'SO00011745' OR SalesId = N'SO00011746')) Во второй строке выводятся range, пользовательские фильтры в range не попадают. 2) !Отменено, !Создано X++: void new(FormRun _callerFormRun,) { Query localQuery; FormDatasource formDatasource; int i; ; formDatasource = _callerFormRun.dataSource(1); localQuery = formDatasource.queryRun().Query(); info(localQuery.datasourceNo(1).toString()); for (i = 1; i <= localQuery.dataSourceNo(1).rangeCount(); i++) { info(localQuery.dataSourceNo(1).range(i).value()); } } |
|