D365 无法在数据被选择或插入到另一个事务作用域中的缓冲区上调用 NEXT、update() 或 delete()
问题描述
尝试在工作流拒绝操作时,更新WorkflowTrackingStatusTable 上的字段,结果报错:无法编辑WorkflowTrackingStatusTable 中的记录。无法在数据被选择或插入到另一个事务作用域中的缓冲区上调用 NEXT、update() 或 delete()
解决方案:
相似问题解决方法
更改交易范围。
ttsBegin;
WorkflowTrackingStatusTable workflowTrackingStatusTableLocal = WorkflowTrackingStatusTable::findByCorrelation(workItem.CorrelationId,true);
if(workflowTrackingStatusTableLocal)
{InteropPermission interop = new InteropPermission(InteropKind::ClrInterop);interop.assert();workflowTrackingStatusTableLocal.VyaRejectReasonType = salesTable.VyaRejectReasonType;workflowTrackingStatusTableLocal.update();CodeAccessPermission::revertAssert();
}
ttsCommit;