Valoarea Cost Amount (Actual) este generată incorect în intrările de valoare atunci când publicați o notă de credit de achiziție care are o taxare pentru articol în versiunea greacă a Microsoft Dynamics NAV

Se aplică la
Microsoft Dynamics NAV 5.0 Service Pack 1 Dynamics NAV 2009 Service Pack 1

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

Simptome

Să presupunem că creați o notă de credit de achiziție care are o taxă pentru articol în versiunea greacă a Microsoft Dynamics NAV. După ce înregistrați nota de credit pentru achiziție, valoarea din câmpul Cost valoare (real) din intrarea de valoare creată este incorectă. Valoarea Cost Volum (real) are indirect semnul pozitiv în locul semnului negativ. În plus, atunci când rulați raportul "Postare cost inventar în valoare majoră" pentru element, valoarea Cost înregistrat în valoare limită este zero în intrarea de valoare creată a taxei pentru element (credit) incorect.
Această problemă apare în cazul următoarelor produse:

  • Versiunea greacă de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Versiunea greacă de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Cauză

Această problemă apare deoarece câmpul Cost Amount (Actual) este actualizat incorect de funcția UpdateValuationFields în versiunea greacă a Microsoft Dynamics NAV.

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ă această problemă nu vă afectează grav, vă recomandăm să așteptați următorul pachet Service Pack Microsoft Dynamics NAV 2009 sau versiunea următoare 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. Modificați codul din funcția InitValueEntry din unitatea de cod Item Jnl.-Post Line (22), după cum urmează:
    Cod existent

    ...
    IF "Partial Revaluation" THEN
    ValueEntry."Partial Revaluation" := TRUE;
    
    // Delete the following lines.
    IF (ItemLedgEntry.Quantity > 0) OR
     (ItemLedgEntry."Invoiced Quantity" > 0) OR
     (("Value Entry Type" = "Value Entry Type"::"Direct Cost") AND ("Item Charge No." = '')) OR
     ("Entry Type" = "Entry Type"::Output) OR
     Adjustment
    THEN
    // End of the lines.
    
    ValueEntry.Inventoriable := TRUE;
    ...
    

    Codul de înlocuire

    ...
    IF "Partial Revaluation" THEN
    ValueEntry."Partial Revaluation" := TRUE;
    
    // Add the following lines.
    IF (ItemLedgEntry.Quantity > 0) OR
    (ItemLedgEntry."Invoiced Quantity" > 0) OR
    (("Value Entry Type" = "Value Entry Type"::"Direct Cost") AND ("Item Charge No." = '')) OR
    ("Entry Type" = "Entry Type"::Output) OR
    Adjustment OR
    (("Document Type" IN ["Document Type"::"Purchase Return Shipment","Document Type"::"Purchase Credit Memo"]) AND
    ("Item Charge No." <> '') AND
    ("Entry Type" = "Entry Type"::Purchase))
    THEN
    // End of the lines.
    
    ValueEntry.Inventoriable := TRUE;
    ...
    
  2. Modificați codul din funcția UpdateValuationFields din unitatea de cod Item Jnl.-Post Line (22) după cum urmează:
    Cod existent

    ...
    IF (ValueEntry."Expected Cost" = FALSE) AND (ValueEntry."Item Charge No." <> '') AND
    (ValueEntry."Item Ledger Entry Type" = ValueEntry."Item Ledger Entry Type"::Purchase) THEN BEGIN
    
    // Delete the following lines.
    IF ValueEntry."Cost Amount (Actual)" = 0 THEN
     ValueEntry."Cost Amount (Actual)" := -ValueEntry."Purchase Amount (Actual)";
    // End of the lines.
    
    END;
    ...
    

    Codul de înlocuire

    ...
    IF (ValueEntry."Expected Cost" = FALSE) AND (ValueEntry."Item Charge No." <> '') AND
    (ValueEntry."Item Ledger Entry Type" = ValueEntry."Item Ledger Entry Type"::Purchase) THEN BEGIN
    
    // Add the following lines.
    IF ValueEntry."Cost Amount (Actual)" = 0 THEN
    IF ValueEntry."Document Type" = ValueEntry."Document Type"::"Purchase Credit Memo" THEN
    ValueEntry."Cost Amount (Actual)" := ValueEntry."Purchase Amount (Actual)"
    ELSE
    ValueEntry."Cost Amount (Actual)" := -ValueEntry."Purchase Amount (Actual)";
    // End of the lines.
    
    END;
    ...
    
  3. Modificați codul din funcția PostItemJnlLine din unitatea de cod Purch.-Post (90), după cum urmează:
    Cod existent

    ...
    IF QtyToBeInvoiced <> 0 THEN BEGIN
    ItemJnlLine."Invoice No." := GenJnlLineDocNo;
    ItemJnlLine."External Document No." := GenJnlLineExtDocNo;
    
    // Delete the following lines.
    IF ItemJnlLine."Document No." = '' THEN BEGIN
     IF "Document Type" = "Document Type"::"Credit Memo" THEN
     ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Credit Memo"
     ELSE
     ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Invoice";
     ItemJnlLine."Document No." := GenJnlLineDocNo;
    END;
    // End of the lines.
    
    ItemJnlLine."Posting No. Series" := PurchHeader."Posting No. Series";
    END;
    END;
    ... 
    

    Codul de înlocuire

    ...
    IF QtyToBeInvoiced <> 0 THEN BEGIN
    ItemJnlLine."Invoice No." := GenJnlLineDocNo;
    ItemJnlLine."External Document No." := GenJnlLineExtDocNo;
    
    // Add the following lines.
    IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN
    ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Credit Memo"
    ELSE
    ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Invoice";
    IF ItemJnlLine."Document No." = '' THEN
    ItemJnlLine."Document No." := GenJnlLineDocNo;
    // End of the lines.
    
    ItemJnlLine."Posting No. Series" := PurchHeader."Posting No. Series";
    END;
    END;
    ... 
    

Cerințe preliminare

Trebuie să aveți instalat unul dintre următoarele produse pentru a aplica această remediere rapidă:

  • Versiunea greacă de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • Versiunea greacă de Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

Cerința de repornire

După ce aplicați această remediere rapidă și efectuați orice reparare necesară a datelor, trebuie să reporniți fiecare client Microsoft Dynamics NAV.
Nu este necesar să reporniți Microsoft Windows.

Eliminarea informațiilor

Nu puteți elimina această remediere rapidă.

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.