Axapta 仅允许在状态草稿中更改文档,因为更改管理已激活
我有几个POs处于“已批准”状态 当我打开它只是为了查看(我不打算更改任何内容,只是为了查看一些详细信息)无论我做什么,它都会给我一条错误消息“只允许在状态草稿中更改文档,因为更改管理已激活””,无论我单击何处。这正常吗?我们不能打开已批准的采购订单查看它吗 另一件奇怪的事情是,在我收到这个错误后,我无法关闭表单,即使使用esc按钮也会显示相同的错误消息 以下是调用堆栈:Axapta 仅允许在状态草稿中更改文档,因为更改管理已激活,axapta,dynamics-ax-2012,dynamics-ax-2012-r3,Axapta,Dynamics Ax 2012,Dynamics Ax 2012 R3,我有几个POs处于“已批准”状态 当我打开它只是为了查看(我不打算更改任何内容,只是为了查看一些详细信息)无论我做什么,它都会给我一条错误消息“只允许在状态草稿中更改文档,因为更改管理已激活””,无论我单击何处。这正常吗?我们不能打开已批准的采购订单查看它吗 另一件奇怪的事情是,在我收到这个错误后,我无法关闭表单,即使使用esc按钮也会显示相同的错误消息 以下是调用堆栈: (S)\Classes\VersioningDocument\change 33 (S)\Classes\Versio
(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
是否有人遇到过相同的问题?我可以做些什么来解决它?使用以下代码禁用更改管理,然后重试
PurchTable purchTable;
;
select forUpdate purchTable where purchTable.PurchId == '000532';
if(purchTable) {
purchTable.ChangeRequestRequired = NoYes::No;
purchTable.update();
}
我相信这个错误发生在AX试图更新采购订单总余额时,这意味着它在提交采购订单之前没有继续“总计” 当您打开采购订单时,在另一种情况下,当您试图在“请求更改”后重新提交采购订单并进行任何更改会影响采购订单余额时,AX正在尝试计算余额并尝试在相应字段中键入余额,同时AX阻止在“草稿”之外的任何字段中进行任何更改,这就是为什么AX会给你这个错误 决议
创建采购订单后,用户必须单击“总计”按钮,然后提交采购订单工作流。或者,如果适用,您可以在提交操作中添加这段代码。您是否尝试分析生成错误消息的代码?它从VersioningDocument.change()方法中给出错误,但我不尝试更改任何内容,我只需要打开PO并查看一些值。我无法在系统上重现此行为。您确定没有可能影响此操作的自定义设置吗?您还可以在生成错误的代码行中添加断点,然后将调试器的调用堆栈发布到问题中。您还可以调试必须满足的条件,以便生成此错误。此错误来自Prepod环境,不幸的是,我们无法使用调试器,因此我使用以下代码获得了调用堆栈:S)\Classes\VersioningDocument\change 33(S)\Classes\VersioningPurchaseOrder\change 26(S)\数据字典\Tables\PurchLineForeignTradeCategory\Methods\Update 3(S)\Classes\xRecord\dbOpInTransaction 0(C)\Classes\FormDataSource\write 0(C)\Forms\PurchTable\datasources\PurchLineForeignTradeCategory\Methods\write 0(C)\Classes\FormDataSource\leaveRecord 0(C)\Classes\FormRun\selectControl 0(C)\Forms\PurchTable\Methods\selectControl 0首先,请编辑您的问题以将堆栈跟踪添加到其中,因为它是重要信息,其他人在尝试回答您的问题时可能无法阅读所有注释。其次,尝试在可以使用调试器的系统中重现问题。第三,堆栈跟踪现在向您显示表
PurchLineForeignTradeCategory
(它是表单PurchTable
的数据源之一)的更新导致了问题。如果您确定没有任何更改,则可以尝试阻止此更新。我们在过帐到货日记账后收到采购订单时收到此错误。我认为您的解决方案是可行的,但我的问题是,在到货概述中发生了什么导致出现此错误?