Soldul de contabilitate este calculată incorect atunci când creați o reconciliere bancară dintr-un cont de Banca valută în versiunea Microsoft Dynamics NAV 2009 din America de Nord

Se aplică la: Dynamics NAV 2009

Acest articol se aplică la Microsoft Dynamics NAV pentru următoarele țări și limbi regionale.
  • Engleză (Canada) (en-ca)
  • Engleză (Statele Unite) (en-us)
  • Spaniolă (Mexic) (es-mx)
  • Franceză (Canada) (fr-ca)

Simptome


Să presupunem că publicați un jurnalul de încasări care utilizează un cont bancar valută în America de Nord versiunea de Microsoft Dynamics 2009. Creați o ajustare pentru Jurnalul de încasări executând funcția reglare schimb valutar... . În această situație, atunci când creați o reconciliere bancară valută cont bancar, soldul de contabilitate din linia sugerat este calculată incorect. Banca reconciliere calculul nu include amplificare realizat sau pierderea realizate în contul.
Această problemă se produce în următoarele produse:
  • Versiunea de Microsoft Dynamics NAV 2009 R2 din America de Nord
  • Din America de Nord versiunea de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Rezolvare


Important Remedierea rapidă (2548309) a fost schimbat la codul original și ar trebui să fie eliminat din toate bazele de date în cazul în care s-a aplicat această modificare. Dacă aţi făcut modificări de cod care sunt descrise în secțiunea "Modificări de cod", puteți modifica codul înapoi, astfel încât codul de coincide cu înapoi la secțiunea "Cod existente". Dacă codul nu este schimbat, puteți avea o diferență de pe fila General reconciliere bancară și apoi se pot efectua o postare.
Problemă cu un dezechilibru contabilitate (contabil) pe bază de date din America de Nord reconciliere bancară în scenariul original creați din nou pentru acest articol a fost revizuit și examinate. Prin analiza, Management de produs și de dezvoltare a stabilit că problema care a fost raportat cu dezechilibrul nu este rezultatul incorecte cod standard pentru calcularea reconciliere bancară, dar o problemă de date care este provocată de configurării iniţiale de contul. Configurarea inițială incorecte în contul consta din spargerea legătura între intrarea în registrul contului bancar și intrarea în registrul contului contabil. Pașii de instalare incorectă valută contul pot include ceva care seamănă cu pașii următori:
  1. Publicați un jurnal contabil pentru contul cont contabil pentru balanță inițială, de exemplu cont contabil 11650.

    Notă Această tranzacție, de obicei, ar fi inclus ca parte a configurării iniţiale de probă contabil.
  2. Post o intrare în jurnal chitanță bani în contul, în care contul grupă are un cont contabil temporar, de exemplu 11000, atribuit, și orice deschidere ne-acum tranzacții, cum ar fi open verificări şi încasări numerar, în contul. Cont de echilibrare, de asemenea, este setată la același cont, 11000 de exemplu, pentru a genera o intrare de spălat.
  3. Contul grupului contul de înregistrare apoi se modifică de la contul contabil temporare la contul contabil 11650. De aceea, intrarea originală, care a fost adăugată pentru a se stabili instalare detaliate contul în pasul 2 a fost într-un alt cont contabil. De aceea, nu mai este stabilită linkul către intrările contabil.
O configurare incorectă suplimentare pentru un cont de Banca valută ar asemănătoare cu următorul:
  1. Publicați un jurnal contabil pentru contul cont contabil pentru balanță inițială, de exemplu contul contabil 11650.
  2. Apoi post un jurnal General în contul, cu contul de echilibrare setată la același cont contabil specificate în cadrul grupului contul de înregistrare, ca în acest caz, contul contabil 11650.
Din nou, nu există nici o legătură între intrarea contabil publicate în pasul 1 și intrarea de registru cont bancar publicate în pasul 2.

Acești pași sunt incorecte modalitate să proceseze începutul contul nou externe. Dacă executați acest proces incorect, este posibil să întâmpinați problema descrisă în acest articol (2548309). Această remediere rapidă (2548309) a fost adăugat pentru a corecta un anumit scenariu care a fost cauzată de instalare care se aseamănă cu scenariul anterior. Cu toate acestea, publicare diferite scenarii au avut ca rezultat probleme cu dezechilibre continuat dacă configurați un cont bancar, dar apoi țineți cont contabil în Banca grupă sau dacă nu există nici o legătură directă între intrările de conturi bancare și intrările în contabilitate.

RECOMANDARE: Procesul recomandate pentru configurarea un banc de valută ar fi asemănător cu următorul (presupunând că o cantitate de valuta pentru GL este 10.000 $).

Notă -următoarele se bazează pe o rată de schimb valutar de 1:1. Contabilitate sumele sunt actualizate în moneda locală. De aceea, calcule manuale sunt necesare pentru contul astfel GL este actualizat cu valoarea corectă moneda locală.
  1. Când posta începător încercare solduri GL, publicați Băncii GL soldul într-un cont contabil temporar, cum ar fi contul contabil 11000, pentru 10.000 $.
  2. Postați un jurnal General în contul, care are contul grupă setată la contul contabil dorit, în acest caz contul contabil 11650. Aici de configurare a contului echilibrare la contul contabil 11000, care este contul inițială bani temporare care a fost înregistrată inițial ca parte a configurării din dispozitivul de încercare începători.

    -Posta această intrare de $10.000 va actualiza atât contul externe și contul contabil 11650 pentru 10.000 $. Se va reduce, de asemenea, acel cont contabil temporar 11000 la $0 din cauza compensarea echilibrare cont de tranzacții. De înregistrare în acest mod, există o legătură directă între intrarea în registrul bancare și intrarea în registrul contului contabil. Aceasta este metoda corectă de proces și gestiona de configurare a unui cont bancar externe.

Informații despre remedierea rapidă

Un hotfix acceptat este acum disponibil de la Microsoft. Cu toate acestea, acesta este destinat numai corectării problemei descrise în acest articol. Aplicați-o numai pe sistemele care întâmpină această problemă anume. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să așteptați următorul pachet service pack Microsoft Dynamics NAV sau versiunea Microsoft Dynamics NAV următoare, care conține această remediere rapidă.

Notă În cazuri speciale, costurile implicate de obicei pentru asistență apeluri pot fi anulate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produse asociate stabilește că o anumită actualizare va rezolva problema. Se vor aplica costurile uzuale de asistenţă pentru întrebări suplimentare de asistenţă şi pentru probleme ce nu fac obiectul actualizării în cauză.


Informaţii despre instalare

Microsoft furnizează exemple de programare scop ilustrativ, fără nicio garanţie explicită sau implicită. Aceasta include, dar nu se limitează la, garanţiile implicite de vandabilitate sau de potrivire pentru un anumit scop. Acest articol presupune că sunteţi familiarizat cu limbajul de programare care este prezentat şi cu instrumentele utilizate pentru a crea şi a depana proceduri. Specialiștii în asistență Microsoft pot ajuta la explicarea funcționalității unei anumite proceduri, dar nu vor modifica aceste exemple pentru a furniza funcționalitate suplimentară sau pentru a construi proceduri pentru a răspunde cerințelor dvs. specifice.

Notă Înainte de a instala această remediere rapidă, Verificați că toate Microsoft Navision client utilizatorii au făcut Log off sistemul. Aceasta include utilizatorii de client Microsoft Navision Application Services (NAS). Ar trebui să fie singurul client utilizatorului care este conectat când implementați această remediere rapidă.

Pentru a implementa această remediere rapidă, trebuie să aveți o licență de dezvoltare.

Vă recomandăm că contul de utilizator în fereastra Conectări Windows sau în fereastra Conectări bază de date se atribuie "SUPER" rolul ID-ul. În cazul în care contul de utilizator nu poate fi atribuit ID-ul "SUPER" rolul, trebuie să verificați că contul de utilizator are următoarele permisiuni:
  • Modify permisiunea pentru obiectul care se va schimba.
  • Permisiunea de executare pentru obiectul de sistem obiect ID 5210 și pentru obiectul de sistem obiect ID 9015 .


Notă Nu trebuie să aveți drepturi de la magazine de date decât dacă trebuie să efectuați o reparare de date.

Modificări de cod

Notă Întotdeauna test cod remediază într-un mediu controlat înainte de a aplica remedieri pentru computerele de producție.
Pentru a rezolva această problemă, modificați codul din funcția CalculateBalance în tabelul de antet de Rec. Banca (10120) după cum urmează:
Cod existent
...          REPEAT
IF BankAccLedgEntry.GET(GLEntry."Entry No.") THEN BEGIN
IF "Currency Code" <> BankAccLedgEntry."Currency Code" THEN BEGIN
IF BankAccLedgEntry."Currency Code" <> '' THEN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtFCYToFCY("Statement Date",
BankAccLedgEntry."Currency Code",
"Currency Code",
BankAccLedgEntry.Amount),
Currency."Amount Rounding Precision")
ELSE
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
BankAccLedgEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END ELSE BEGIN

// Delete the folloiwng line.
"G/L Balance" += BankAccLedgEntry.Amount;

END;
END ELSE BEGIN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END;
UNTIL GLEntry.NEXT = 0;
...
Cod de înlocuire
...          REPEAT
IF BankAccLedgEntry.GET(GLEntry."Entry No.") THEN BEGIN
IF "Currency Code" <> BankAccLedgEntry."Currency Code" THEN BEGIN
IF BankAccLedgEntry."Currency Code" <> '' THEN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtFCYToFCY("Statement Date",
BankAccLedgEntry."Currency Code",
"Currency Code",
BankAccLedgEntry.Amount),
Currency."Amount Rounding Precision")
ELSE
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
BankAccLedgEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END ELSE BEGIN

// Add the following lines.
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
// End of the lines.

END;
END ELSE BEGIN
"G/L Balance" += ROUND(CurrExchRate.ExchangeAmtLCYToFCY("Statement Date",
"Currency Code",
GLEntry.Amount,
"Currency Factor"),
Currency."Amount Rounding Precision");
END;
UNTIL GLEntry.NEXT = 0;
...

Cerințe preliminare

Trebuie să aveți unul dintre următoarele produse instalate pentru a aplica această remediere rapidă:
  • Versiunea de Microsoft Dynamics NAV 2009 R2 din America de Nord
  • Din America de Nord versiunea de Microsoft Dynamics NAV 2009 Service Pack 1

Eliminare informaţii

Nu se poate elimina această remediere rapidă.

Stare


Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".
Notă Acesta este un articol "rapid publicat" creat direct în cadrul organizației de asistență Microsoft. Informațiile conținute în acest document sunt furnizate ca răspuns la problemele care apar. Ca rezultat al vitezei în a-l face disponibil, materialele pot include erori tipografice și pot fi revizuite în orice moment, fără notificare. Consultați Termenii de utilizare pentru alte considerații.