在应用 RU6 后, 联邦 nf-e 窗体将为空

适用于: Microsoft Dynamics AX 2009

症状


在应用汇总 6 (KB2405516) 之后, 联邦 nf-e 窗体将为空。 您不能验证状态与以前已过帐的 nf-e 联邦发票并不可能知道应采取何种措施。

原因


没有在 RelaseUpdateDB60_Cust 类中,updateReferencesInEFDocument_BR 方法的编码缺陷。此方法更新表 EFDocument_BR,以便它总是引用 FiscalDocJour_BR 表。 在早期版本中,EFDocument_BR 用于保留发票,来自巴西的会计单据,如 CustInvoiceJour 和 VendInvoiceJour 对的引用。 从现在起,对 RefTableId 和 RefRecId 字段将始终引用巴西的会计单据表: FiscalDocJour_BR。当从哪些新 NF 汇总 5 环境中执行此方法-e's 的创建,这些 NF-e's (它已确定) 将会失去 FiscalDocJour_BR,它们之间的关系从而在空白的窗体。 此方法只应执行的 NF-e's 引用到 CustInvoiceJour 和 VendInvoiceJour。

解决方案


我们强烈建议您执行此 KB article.1 中介绍的步骤之前执行 AX 数据库的完整备份。当应用 fixAfter 应用的 RU6 包,启动 AX 客户端和"升级核对清单"将会出现。 在运行之前"同步前",您必须应用此 fix.2。 打开 AOT 并在 RelaseUpdateDB60_Cust 类中,updateReferencesInEFDocument_BR 方法中插入下面的"位置"语句。之前: 同时选择 forupdate eFDocument {fiscalDocJour = FiscalDocJour_BR::findRefRecId (eFDocument.RefTableId、 eFDocument.RefRecId);       eFDocument.RefTableId = fiscalDocJour.TableId;       eFDocument.RefRecId = fiscalDocJour.RecId;       eFDocument.doUpdate();   } 同时选择 forupdate eFDocument 之后: 其中 eFDocument.RefTableId ! = tablenum(FiscalDocJour_BR) {fiscalDocJour = FiscalDocJour_BR::findRefRecId (eFDocument.RefTableId、 eFDocument.RefRecId);       eFDocument.RefTableId = fiscalDocJour.TableId;       eFDocument.RefRecId = fiscalDocJour.RecId;       eFDocument.doUpdate();   }