Symptoms

After applying Rollup 6 (KB2405516), the NF-e Federal form will be empty. You won't be able to verify the status related to the NF-e Federal invoices previously posted and it is not possible to know what action should be taken.

Cause

There is a coding defect in the RelaseUpdateDB60_Cust class, updateReferencesInEFDocument_BR method. 

This method updates the table EFDocument_BR so that it always references the FiscalDocJour_BR table. In previous versions, EFDocument_BR used to keep references to the invoice that originated the Brazilian fiscal document, such as CustInvoiceJour and VendInvoiceJour. From now on, the pair of fields RefTableId and RefRecId  will always reference the Brazilian fiscal documents table: FiscalDocJour_BR.

When this method is executed in a Rollup 5 environment from which new NF-e’s were created, these NF-e’s (which were already ok) will now lose their relationships with FiscalDocJour_BR, causing the blank form. This method should only be executed for NF-e’s referencing to CustInvoiceJour and VendInvoiceJour. 

Resolution

We strongly recommend to perform a full backup of the AX database before executing the steps described in this KB article.

1. When to apply the fix
After applying the RU6 package, launch the AX client and the “Upgrade checklist” wil appear. Before running the “Presynchronize”, you must apply this fix.

2. Open the AOT and insert the following “WHERE” statement in the RelaseUpdateDB60_Cust class, updateReferencesInEFDocument_BR method.

Before:
    while select forupdate eFDocument
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId   = fiscalDocJour.TableId;
        eFDocument.RefRecId     = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }

After:
    while select forupdate eFDocument
        where eFDocument.RefTableId != tablenum(FiscalDocJour_BR)
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId   = fiscalDocJour.TableId;
        eFDocument.RefRecId     = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

사용 경험에 어떠한 영향을 주었나요?

소중한 의견에 감사드립니다.

×