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