如何在一个过程中确定在表上创建的行数?
答案 0 :(得分:1)
计算记录很简单:
RecId c = (select count(RecId) from InventTable).RecId;
info(strFmt("%1", c));
根据您对"流程"的定义,计算流程记录可能会更加困难,因为这不是AX概念。
对于已启用CreatedTransactionId
属性的表,您可以计算在事务中插入的记录数。
TransactionLog log;
RecId c;
ttsBegin;
log.insert();
c = (select count(RecId) from TransactionLog
where TransactionLog.createdTransactionId == appl.curTransactionId()).RecId;
info(strFmt("%1 %2", c, appl.curTransactionId()));
ttsAbort;
这使用appl.curTransactionId()
方法,当在已设置属性的表中插入记录时,该方法返回非零值。每个事务的值都会递增。
在生产代码中,效率需要createdTransactionId
的索引。