Câmpul Cod DRF și câmpul "Bal. Cod DRF" sunt completate incorect în înregistrările publicate atunci când publicați un jurnal general în versiunea portugheză de Microsoft Dynamics NAV 2009 Service Pack 1

Se aplică la
Dynamics NAV 2009 Service Pack 1

Acest articol se aplică la Microsoft Dynamics NAV pentru setările regionale de limbă portugheză (pt).

Simptome

Să presupunem că bifați caseta de selectare Utilizare DRF din caseta de dialog Configurare registru general din versiunea portugheză de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1). În plus, bifați caseta de selectare Asociere cod DRF pentru un cont. În această situație, atunci când postați jurnale generale care utilizează contul, câmpul Cod DRF și câmpul Bal. Cod DRF sunt completate incorect în intrările publicate.

Rezolvare

Informații despre remedierea rapidă

O remediere rapidă acceptată este acum disponibilă de la Microsoft. Însă, scopul său este doar să corecteze problema descrisă în acest articol. Aplicați-o doar sistemelor care se confruntă cu această problemă specifică. Această remediere rapidă poate fi testată 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 următoarea versiune Microsoft Dynamics NAV care conține această remediere rapidă.

Notă În cazuri speciale, costurile implicate de obicei pentru apelurile de asistență pot fi revocate dacă un specialist în asistență tehnică pentru Microsoft Dynamics și produsele asociate stabilește că o anumită actualizare va rezolva problema. Costurile uzuale de suport se vor aplica pentru întrebări suplimentare de suport și pentru probleme ce nu fac obiectul actualizării în chestiune.

            
          

Informații despre instalare

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

Notă Înainte de a instala această remediere rapidă, verificați dacă toți utilizatorii clientului Microsoft Navision sunt deconectați de la sistem. Printre aceștia se numără utilizatorii clienților Microsoft Navision Application Services (NAS). Ar trebui să fiți singurul utilizator client conectat atunci când implementați această remediere rapidă.

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

Recomandăm ca contului de utilizator din fereastra Conectări Windows sau din fereastra Conectări bază de date să primească ID-ul de rol "SUPER". În cazul în care contului de utilizator nu i se poate atribui ID-ul de rol "SUPER", trebuie să verificați dacă acel cont de utilizator are următoarele permisiuni:

  • Permisiunea Modificare pentru obiectul pe care îl veți modifica.
  • Permisiunea de executare pentru obiectul cu ID obiect de sistem 5210 și pentru obiectul ID obiect de sistem 9015.

                
Notă: nu trebuie să aveți drepturi asupra depozitelor de date decât dacă trebuie să efectuați repararea datelor.

Modificări de cod

Notă: testați întotdeauna remedierile de cod într-un mediu controlat înainte de a aplica remedierile la computerele de producție.
Pentru a rezolva această problemă, urmați acești pași:

  1. Adăugați o nouă variabilă globală în generație. Jnl.-Post Line codeunit (12), apoi specificați variabila după cum urmează:

    • Nume: FromBalAcc
    • Tip de date: Boolean
  2. Modificați codul din funcția Code din gen. Unitatea de cod Jnl.-Post Line (12), după cum urmează:
    Cod existent 1

    ...
    ["Account Type"::Customer,
    "Account Type"::Vendor,
    "Account Type"::"Fixed Asset"])
    
    // Delete the following lines.
    THEN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    // End of the lines.
    
    IF "Account No." <> '' THEN
    CASE "Account Type" OF
    ...
    

    Cod de înlocuire 1

    ...
    ["Account Type"::Customer,
    "Account Type"::Vendor,
    "Account Type"::"Fixed Asset"])
    
    // Add the following lines.
    THEN BEGIN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    FromBalAcc := TRUE;
    END;
    // End of the lines.
    
    IF "Account No." <> '' THEN
    CASE "Account Type" OF
    ...
    

    Cod existent 2

    ...
    PostICPartner;
    END;
    
    IF "Bal. Account No." <> '' THEN BEGIN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    IF "Account No." <> '' THEN
    ...
    

    Codul de înlocuire 2

    ...
    PostICPartner;
    END;
    
    // Add the following lines.
    IF FromBalAcc = TRUE THEN
    FromBalAcc := FALSE
    ELSE
    FromBalAcc := TRUE;
    // End of the lines.
    
    IF "Bal. Account No." <> '' THEN BEGIN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    IF "Account No." <> '' THEN
    ...
    
  3. Modificați codul din funcția InitGLEntry din Gen. Unitatea de cod Jnl.-Post Line (12) după cum urmează:
    Cod existent

    ...
    (GenJnlLine."Account Type" = GenJnlLine."Account Type"::"Bank Account") AND
    (TempGLAcc.GET(GLAccNo)) THEN
    IF (TempGLAcc."Associate DRF Code") THEN
    
    // Delete the following line.
    IF GenJnlLine.Amount > 0 THEN BEGIN
    
    IF (GenJnlLine."DRF Code" <> '') THEN
    GLEntry."DRF Code" := GenJnlLine."DRF Code"
    ELSE
    ...
    

    Codul de înlocuire

    ...
    (GenJnlLine."Account Type" = GenJnlLine."Account Type"::"Bank Account") AND
    (TempGLAcc.GET(GLAccNo)) THEN
    IF (TempGLAcc."Associate DRF Code") THEN
    
    // Add the following line.
    IF NOT FromBalAcc THEN BEGIN
    
    IF (GenJnlLine."DRF Code" <> '') THEN
    GLEntry."DRF Code" := GenJnlLine."DRF Code"
    ELSE
    ...
    
  4. Modificați codul din funcția Code din gen. Unitatea de cod Jnl.-Post Line (12), după cum urmează:
    Cod existent 1

    ...
    JobLine := (GenJnlLine."Job No." <> '');
    
    InitCodeUnit;
    
    IF ("Account No." <> '') AND ("Bal. Account No." <> '') AND (NOT "System-Created Entry") AND
    ("Account Type" IN
    ["Account Type"::Customer,
    ...
    

    Cod de înlocuire 1

    ...
    JobLine := (GenJnlLine."Job No." <> '');
    
    InitCodeUnit;
    
    // Add the following line.
    FromBalAcc := FALSE;
    
    IF ("Account No." <> '') AND ("Bal. Account No." <> '') AND (NOT "System-Created Entry") AND
    ("Account Type" IN
    ["Account Type"::Customer,
    ...
    

    Cod existent 2

    ...
    PostICPartner;
    END;
    
    // Delete the following lines.
    IF FromBalAcc = TRUE THEN
    FromBalAcc := FALSE
    ELSE
    FromBalAcc := TRUE;
    // End of the lines.
    
    IF "Bal. Account No." <> '' THEN BEGIN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    IF "Account No." <> '' THEN
    ...
    

    Codul de înlocuire 2

    ...
    PostICPartner;
    END;
    
    // Add the following line.
    FromBalAcc := NOT FromBalAcc;
    
    IF "Bal. Account No." <> '' THEN BEGIN
    ExchAccGLJnlLine.RUN(GenJnlLine);
    IF "Account No." <> '' THEN
    ...
    

          

Cerințe preliminare

Trebuie să aveți versiunea portugheză de Microsoft Dynamics NAV 2009 Service Pack 1 instalată pentru a aplica această remediere rapidă.

Eliminarea informațiilor

Nu puteți elimina această remediere rapidă.

Mai multe informații

Pentru mai multe informații despre o problemă asemănătoare, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:

2479082 Valoarea din câmpul "Cost Amount (Actual)" este calculată incorect în intrările de valoare după ce publicați o notă credit de achiziție în versiunea portugheză de Microsoft Dynamics NAV 2009 Service Pack 1

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.

Notă: Acesta este un articol "PUBLICARE RAPIDĂ" creat direct din cadrul organizației de asistență Microsoft. Informațiile din acest document sunt furnizate ca atare ca răspuns la problemele apărute. Ca urmare a vitezei de punere la dispoziție, materialele pot include erori tipografice și pot fi revizuite în orice moment fără preaviz. Consultați Condițiile de utilizare pentru alte considerente.