Class中Query Filter
Posted xtwkh1973
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Class中Query Filter相关的知识,希望对你有一定的参考价值。
1、建立Query void
private Query CreatedQuery()
Query query = new Query();
;
query.allowCrossCompany(true);
query.addCompanyRange("C01");
return query;
2、Query filter(过滤)
private QueryBuildRange CreatedQueryFilter(QueryBuildDataSource _qbds,
TableId _tableId,
str _fieldName,
str _filterString)
QueryBuildRange qbr;
;
_qbds.addRange(fieldName2Id(_tableId,_fieldName)).value(_filterString);
return qbr;
3、调用
void GetxxxMoData()
Query q = this.CreatedQuery();
QueryBuildDataSource qbds,qbds1;
QueryRun qr;
SalesLine curSalesLine;
InventTable invTable;
InventPackagingGroup packagingGroup;
str typeStr = "SalesType";
str dateStr = "ShippingDateRequested";
str accountStr = "CustAccount";
str remQtyStr = "RemainSalesPhysical";
int icount;
;
qbds = q.addDataSource(TableNum(SalesLine));
this.CreatedQueryFilter(qbds,TableNum(SalesLine),typeStr,Enum2Str(SalesType::Blanket));
this.CreatedQueryFilter(qbds,TableNum(SalesLine),dateStr,SysQuery::range(fromDate,toDate));
this.CreatedQueryFilter(qbds,TableNum(SalesLine),remQtyStr,">0");
this.CreatedQueryFilter(qbds,TableNum(SalesLine),accountStr,"xxx");
this.CreatedQueryFilter(qbds,TableNum(SalesLine),"ItemId","xxx");
qbds1 = qbds.addDataSource(TableNum(InventTable));
qbds1.joinMode(JoinMode::InnerJoin);
qbds1.addLink(fieldNum(SalesLine,ItemId),fieldNum(InventTable,ItemId));
qr = new QueryRun(q);
while (qr.next())
icount++;
packagingGroup = null;
sysProgress.setText(strfmt("Searching Mo data Records %1", icount));
curSalesLine = qr.get(TableNum(SalesLine));
invTable = qr.get(TableNum(InventTable));
......
以上是关于Class中Query Filter的主要内容,如果未能解决你的问题,请参考以下文章
如何删除Ext.query('。class name') - EXTJS
使用 entityManager.createNativeQuery(query,foo.class)
php OOP 错误:在第 7 行的 c:blah/bla/../\engine\admin\cms.class.php 中调用 null 上的成员函数 query()
如何调查 iOS 崩溃并出现错误 NSOSStatusErrorDomain Code=-50 "query missing class name"