仅在状态草稿中允许对文档进行更改,因为已激活更改管理

时间:2015-10-27 12:28:47

标签: axapta dynamics-ax-2012 dynamics-ax-2012-r3

我有几个PO在"已批准"状态。

当我打开它只是为了审查(我不会改变任何东西,但只是为了查看一些细节)无论我做什么,它都会给我一个错误消息" 对文档的更改是只允许在状态草稿中,因为更改管理已激活",在我点击的位置并不重要。这是正常的吗?我们只是打开已批准 PO才能看到它?

另一个奇怪的事情是,在我收到此错误后,即使使用 esc 按钮也无法关闭表单,这也会提供相同的错误消息。

这是调用堆栈:

(S)\Classes\VersioningDocument\change   33 
(S)\Classes\VersioningPurchaseOrder\change  26 
(S)\Data Dictionary\Tables\PurchLineForeignTradeCategory\Methods\Update 3 
(S)\Classes\xRecord\dbOpInTransaction   0 
(C)\Classes\FormDataSource\write    0 
(C)\Forms\PurchTable\Data Sources\PurchLineForeignTradeCategory\Methods\write   0 
(C)\Classes\FormDataSource\leaveRecord  0 
(C)\Classes\FormDataSource\leaveRecord  0 
(C)\Classes\FormRun\selectControl   0 
(C)\Forms\PurchTable\Methods\selectControl 0

是否有人遇到过相同的问题以及我可以采取哪些措施来解决问题?

2 个答案:

答案 0 :(得分:0)

使用以下代码禁用更改管理,然后重试;

PurchTable       purchTable;

;

select forUpdate purchTable where purchTable.PurchId == '000532';

if(purchTable) {

    purchTable.ChangeRequestRequired = NoYes::No;
    purchTable.update();

}

答案 1 :(得分:-2)

我相信当AX试图更新总PO余额时会发生此错误,这意味着它在提交PO之前没有继续“总计”。

虽然您打开采购订单,但在其他情况下,当您尝试在“请求更改”之后重新提交采购订单,并且进行任何更改都会影响采购订单余额时,AX会尝试计算余额并将其键入相应的字段以及该AX可以防止在“草稿”中而不在任何字段中进行任何更改,这就是AX会为您提供此错误的原因。

分辨率

创建采购订单后,用户必须单击“总计”按钮,然后提交采购流程。或者,您可以在“提交”操作中添加该段代码(如果适用)。