Etter å ha brukt RU6, vil NF-e Federal-skjemaet være tomt

Gjelder for
Microsoft Dynamics AX 2009

Symptomer

Etter å ha brukt rollup 6 (KB2405516), vil NF-e Federal-skjemaet være tomt. Du vil ikke kunne bekrefte statusen som er relatert til NF-e Federal fakturaer som tidligere er bokført, og det er ikke mulig å vite hvilke tiltak som bør utføres.

Årsak

Det er en kodefeil i RelaseUpdateDB60_Cust klasse, updateReferencesInEFDocument_BR metoden. 

Denne metoden oppdaterer tabellen EFDocument_BR slik at den alltid refererer til den FiscalDocJour_BR tabellen. I tidligere versjoner EFDocument_BR brukt til å beholde referanser til fakturaen som oppsto i det brasilianske regnskapsdokumentet, for eksempel CustInvoiceJour og VendInvoiceJour. Fra nå av vil feltparet RefTableId og RefRecId alltid referere til tabellen for brasilianske regnskapsdokumenter: FiscalDocJour_BR.

Når denne metoden utføres i et rollup 5-miljø som nye NF-e-er ble opprettet fra, vil disse NF-e-ene (som allerede var ok) nå miste relasjonene sine med FiscalDocJour_BR, noe som forårsaker det tomme skjemaet. Denne metoden skal bare utføres for NF-e's referanse til CustInvoiceJour og VendInvoiceJour. 

Oppløsning

Vi anbefaler på det sterkeste å utføre en fullstendig sikkerhetskopi av AX-databasen før du utfører trinnene som er beskrevet i denne KB-artikkelen.

1. Når du skal bruke løsningen
Når du har brukt RU6-pakken, starter du AX-klienten og «Sjekkliste for oppgradering» vises. Før du kjører «Forhåndssynkroniser», må du bruke denne løsningen.

2. Åpne AOT og sett inn følgende «WHERE»-setning i RelaseUpdateDB60_Cust klasse, updateReferencesInEFDocument_BR metoden.

Før:
    mens velg forupdate eFDocument
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId = fiscalDocJour.TableId;
        eFDocument.RefRecId = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }

Etter:
    mens velg forupdate eFDocument
        der eFDocument.RefTableId != tablenum(FiscalDocJour_BR)
    {
        fiscalDocJour = FiscalDocJour_BR::findRefRecId(eFDocument.RefTableId, eFDocument.RefRecId);
        eFDocument.RefTableId = fiscalDocJour.TableId;
        eFDocument.RefRecId = fiscalDocJour.RecId;

        eFDocument.doUpdate();
    }