当我尝试更改特定公司间销售订单中的某些销售订单行时,我遇到了严重错误。
当我尝试更新订单时,我会看到“覆盖价格和折扣”-dialog:
如果我尝试按“确定”或“取消”,AX会抛出事务跟踪错误。
检测到不平衡的X ++ TTSBEGIN / TTSCOMMIT对。原因 这包括(a)太多/少数TTSBEGIN或TTSCOMMIT,(b)返回呼叫 在TTSBEGIN / TTSCOMMIT对中,以及(c)内部的用户交互 TTSBEGIN / TTSCOMMIT对。
目前的TTS水平是'5'。
我对调试器进行了一些挖掘,发现微软的官方代码正在做这样的事情:
我怎么能:
答案 0 :(得分:3)
无法在AX 2012中的TTSBEGIN - TTSCOMMIT对中向用户显示对话框。
相关的MSDN在这里;
X++ Standards: ttsBegin and ttsCommit (AX 2012)
我可以理解微软为什么要这样做,因为一对之间所需的用户交互可能会导致性能问题,特别是数据库锁。业务逻辑也应该与UI完全分离,因此也就是用户交互。
如果我是你,我会解决它。如果需要该对话框,请在TTSBEGIN之前收集用户的信息,以备日后使用。如您所知,这是Microsoft的官方代码,我建议您检查最新的CU以确保它尚未修复,以及是否未提交错误报告。