在“覆盖价格和折扣”对话框中,公司间销售订单出现不平衡的TTS错误

时间:2014-01-15 08:31:51

标签: x++ dynamics-ax-2012 axapta ax

当我尝试更改特定公司间销售订单中的某些销售订单行时,我遇到了严重错误。

当我尝试更新订单时,我会看到“覆盖价格和折扣”-dialog:

Overwrite prices and discounts

如果我尝试按“确定”或“取消”,AX会抛出事务跟踪错误。

  

检测到不平衡的X ++ TTSBEGIN / TTSCOMMIT对。原因   这包括(a)太多/少数TTSBEGIN或TTSCOMMIT,(b)返回呼叫   在TTSBEGIN / TTSCOMMIT对中,以及(c)内部的用户交互   TTSBEGIN / TTSCOMMIT对。

     

目前的TTS水平是'5'。

我对调试器进行了一些挖掘,发现微软的官方代码正在做这样的事情:

  1. 叠加一些TTS
  2. 更改为购买公司
  3. 显示对话框
  4. 作为对话的结果,TTS变得混乱,各种奇怪的事情开始发生。
  5. 我怎么能:

    1. 修复它。
    2. 一起禁用对话框并让它执行某些默认行为。

1 个答案:

答案 0 :(得分:3)

无法在AX 2012中的TTSBEGIN - TTSCOMMIT对中向用户显示对话框。

相关的MSDN在这里;

X++ Standards: ttsBegin and ttsCommit (AX 2012)

我可以理解微软为什么要这样做,因为一对之间所需的用户交互可能会导致性能问题,特别是数据库锁。业务逻辑也应该与UI完全分离,因此也就是用户交互。

如果我是你,我会解决它。如果需要该对话框,请在TTSBEGIN之前收集用户的信息,以备日后使用。

如您所知,这是Microsoft的官方代码,我建议您检查最新的CU以确保它尚未修复,以及是否未提交错误报告。