After applying RU6, the NF-e Federal form will be empty

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

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×