Nakon primene RU6, NF-e Federalni obrazac će biti prazan

Primenjuje se na
Microsoft Dynamics AX 2009

Simptomi

Nakon primene Rollup 6 (KB2405516), NF-e Federal obrazac će biti prazan. Nećete moći da proverite status u vezi sa NF-e federalnim fakturama koje ste prethodno objavili i ne možete da znate šta bi trebalo preduzeti.

Uzrok

Došlo je do greške u kodiranju RelaseUpdateDB60_Cust klase, updateReferencesInEFDocument_BR metoda. 

Ovaj metod ažurira EFDocument_BR tabele tako da uvek upućuje na FiscalDocJour_BR tabelu. U prethodnim verzijama EFDocument_BR korišćeni za čuvanje referenci na fakturu iz koje potiče brazilski fiskalni dokument, kao što su CustInvoiceJour i VendInvoiceJour. Od sada će par polja RefTableId i RefRecId uvek upućivati na brazilsku tabelu fiskalnih dokumenata: FiscalDocJour_BR.

Kada se ovaj metod izvrši u Rollup KSNUMKS okruženju iz kojeg su stvoreni novi NF-e, ovi NF-e (koji su već bili u redu) sada će izgubiti svoje odnose sa FiscalDocJour_BR, uzrokujući prazan obrazac. Ovaj metod bi trebalo da se izvrši samo za NF-e upućivanje na CustInvoiceJour i VendInvoiceJour. 

Rešenje

Preporučujemo da izvršite kompletnu rezervnu kopiju AX baze podataka pre izvršavanja koraka opisanih u ovom članku baze znanja.

1. Kada treba primeniti ispravku
Nakon primene RU6 paketa, pokrenite AKS klijent i pojaviće se "Lista za proveru nadogradnje". Pre nego što pokrenete "Presinhronizaciju", morate da primenite ovu ispravku.

2. Otvorite AOT i umetnite sledeću izjavu "WHERE" u RelaseUpdateDB60_Cust klasu, updateReferencesInEFDocument_BR metod.

Pre:
    dok izaberete zaažurirati eFDocument
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId = fiscalDocJour.TableId;
        eFDocument.RefRecId = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }

Posle:
    dok izaberete zaažurirati eFDocument
        gde je eFDocument.RefTableId != tablenum(FiscalDocJour_BR)
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId = fiscalDocJour.TableId;
        eFDocument.RefRecId = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }