我正在尝试构建一个AX服务,以便从Microsoft Dynamics AX 2009中的InventTable中检索数据。 参考https://community.dynamics.com/ax/f/33/t/70476.aspx,我尝试在AOT Job中执行代码,以使用modifieddate =“2/7/2013”检索数据 代码示例如下:
static void SelectQueryTest(Args _args)
{
Query q = new Query();
QueryRun qr;
QueryBuildDataSource qbds;
int64 countItem;
InventTable inventTable;
Fromdate FromDate = 2\7\2013;
;
qbds = q.addDataSource(tableNum(InventTable));
qbds.addRange(fieldNum(InventTable, modifiedDateTime)).value(date2StrUsr(FromDate ));
qr = new QueryRun(q);
countItem =SysQuery::countTotal(qr);
if(countItem>0)
{
while(qr.next())
{
inventTable = qr.get(tableNum(inventTable));
info(strfmt("Item Name: %1", inventTable.ItemName));
}
}
else
{
info("No records found");
}
}
任何人都可以建议我如何编写一个代码,该代码使用从Web服务请求中获取的偏移和限制来检索数据。
答案 0 :(得分:2)
限制和偏移在x ++中不可用。
在我看来,你有两个选择来实现同一目标。
通过recId订购结果集,存储recId,以及recId>的用途yourRecId用于抵消。您还需要使用select select等方法手动计算记录。
使用x ++直接查询SQL数据库,在这种情况下,您应该能够使用服务器支持的任何SQL
答案 1 :(得分:0)
您很可能不需要自己提供服务,因为有标准的方法可以做到这一点。
在这里查看答案:Fetching data from dynamics ax 2009 using Ax webservices and C#
另请查看this screencast。