Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

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();
    }

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!

×