Nu este posibil să adăugați o linie de factură pentru a cumpăra un mijloc fix când contul cost de achiziție este setat la un cont de registru general care nu are valoarea "Gen. Grup de postare produs" populat în versiunea nord-americană de Microsoft Dynamics NAV 2009

Se aplică la
Dynamics NAV 2009

Acest articol se aplică la Microsoft Dynamics NAV pentru următoarele țări și setări regionale de limbă.

  • Engleză (Canada) (en-ca)
  • Engleză (Statele Unite ale Americii) (en-us)
  • Spaniolă (Mexic) (es-mx)
  • Franceză (Canada) (fr-ca)

Simptome

Să presupunem că atribuiți un cont de registru general contului cost de achiziție din versiunea nord-americană de Microsoft Dynamics NAV 2009. Contul de registru general are câmpul Tip de postare generală setat la necompletat și contul de registru general nu are valoarea Gen. Grup de contabilizare a produselor populată în caseta de dialog Card de cont de client . În această situație, atunci când încercați să adăugați o linie de factură de achiziție pentru a cumpăra un mijloc fix, primiți următorul mesaj de eroare:

Notă

Gen. Grupul de postare a produselor trebuie să aibă o valoare în contul general nr. = numărul contului de registru general. Nu poate fi zero sau gol.

Cu toate acestea, valoarea Gen. Product Posting Group nu ar trebui să fie necesară atunci când opțiunea TVA în uz este dezactivată.
Această problemă apare în cazul următoarelor produse:

  • Versiunea nord-americană de Microsoft Dynamics NAV 2009 R2
  • Versiunea nord-americană de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

      

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 variabilă locală nouă în funcția GetFAPostingGroup din tabelul Linie de vânzări (37), apoi specificați variabila după cum urmează:

    • Nume: GLSetup@1004
    • Tip de date: Înregistrare
    • Subtip: Configurare registru general (98)
  2. Modificați codul din funcția GetFAPostingGroup din tabelul Linie de vânzări (37) după cum urmează:
    Cod existent

    ...
    FAPostingGr.GET(FADeprBook."FA Posting Group");
    FAPostingGr.TESTFIELD("Acq. Cost Acc. on Disposal");
    LocalGLAcc.GET(FAPostingGr."Acq. Cost Acc. on Disposal");
    LocalGLAcc.CheckGLAcc;
    
    // Delete the following line.
    LocalGLAcc.TESTFIELD("Gen. Prod. Posting Group");
    
    "Posting Group" := FADeprBook."FA Posting Group";
    "Gen. Prod. Posting Group" := LocalGLAcc."Gen. Prod. Posting Group";
    "Tax Group Code" := LocalGLAcc."Tax Group Code";
    VALIDATE("VAT Prod. Posting Group",LocalGLAcc."VAT Prod. Posting Group");
    ...
    

    Codul de înlocuire

    ...
    FAPostingGr.GET(FADeprBook."FA Posting Group");
    FAPostingGr.TESTFIELD("Acq. Cost Acc. on Disposal");
    LocalGLAcc.GET(FAPostingGr."Acq. Cost Acc. on Disposal");
    LocalGLAcc.CheckGLAcc;
    
    // Add the following lines.
    GLSetup.GET;
    IF GLSetup."VAT in Use" THEN
    LocalGLAcc.TESTFIELD("Gen. Prod. Posting Group");
    // End of the lines.
    
    "Posting Group" := FADeprBook."FA Posting Group";
    "Gen. Prod. Posting Group" := LocalGLAcc."Gen. Prod. Posting Group";
    "Tax Group Code" := LocalGLAcc."Tax Group Code";
    VALIDATE("VAT Prod. Posting Group",LocalGLAcc."VAT Prod. Posting Group");
    ...
    
  3. Adăugați o nouă variabilă locală în funcția GetFAPostingGroup din tabelul Linie de achiziție (39), apoi specificați variabila după cum urmează:

    • Nume: GLSetup@1002
    • Tip de date: Înregistrare
    • Subtip: Configurare registru general (98)
  4. Modificați codul din funcția GetFAPostingGroup din tabelul Linie de achiziție (39), după cum urmează:
    Cod existent

    ...
    END ELSE BEGIN
    FAPostingGr.TESTFIELD("Maintenance Expense Account");
    LocalGLAcc.GET(FAPostingGr."Maintenance Expense Account");
    END;
    LocalGLAcc.CheckGLAcc;
    
    // Delete the following line.
    LocalGLAcc.TESTFIELD("Gen. Prod. Posting Group");
    
    "Posting Group" := FADeprBook."FA Posting Group";
    "Gen. Prod. Posting Group" := LocalGLAcc."Gen. Prod. Posting Group";
    "Tax Group Code" := LocalGLAcc."Tax Group Code";
    VALIDATE("VAT Prod. Posting Group",LocalGLAcc."VAT Prod. Posting Group");
    ...
    

    Codul de înlocuire

    ...
    END ELSE BEGIN
    FAPostingGr.TESTFIELD("Maintenance Expense Account");
    LocalGLAcc.GET(FAPostingGr."Maintenance Expense Account");
    END;
    LocalGLAcc.CheckGLAcc;
    
    // Add the following lines.
    GLSetup.GET;
    IF GLSetup."VAT in Use" THEN
    LocalGLAcc.TESTFIELD("Gen. Prod. Posting Group");
    // End of the lines.
    
    "Posting Group" := FADeprBook."FA Posting Group";
    "Gen. Prod. Posting Group" := LocalGLAcc."Gen. Prod. Posting Group";
    "Tax Group Code" := LocalGLAcc."Tax Group Code";
    VALIDATE("VAT Prod. Posting Group",LocalGLAcc."VAT Prod. Posting Group");
    ...
    
  5. Modificați codul din triggerul OnRun din unitatea de cod Sales-Post (80), după cum urmează:
    Cod existent

    ...
               ((SalesLine."Qty. to Invoice" <> 0) OR (SalesLine."Qty. to Ship" <> 0))
            THEN
    
    // Delete the following line.
              IF SalesLine.Type = SalesLine.Type::"G/L Account" THEN
    
                IF (((SalesSetup."Discount Posting" = SalesSetup."Discount Posting"::"Invoice Discounts") AND
                     (SalesLine."Inv. Discount Amount" <> 0)) OR
    ...
    

    Codul de înlocuire

    ...
               ((SalesLine."Qty. to Invoice" <> 0) OR (SalesLine."Qty. to Ship" <> 0))
            THEN
    
    // Add the following line.
              IF (SalesLine.Type IN [SalesLine.Type::"G/L Account",SalesLine.Type::"Fixed Asset"]) THEN
    
                IF (((SalesSetup."Discount Posting" = SalesSetup."Discount Posting"::"Invoice Discounts") AND
                     (SalesLine."Inv. Discount Amount" <> 0)) OR
    ...
    
  6. Modificați codul din declanșatorul OnRun din unitatea de cod Purch.-Post (90), după cum urmează:
    Cod existent

    ...
            THEN
    
    // Delete the following line.
              IF PurchLine.Type = PurchLine.Type::"G/L Account" THEN
    
                IF (((PurchSetup."Discount Posting" = PurchSetup."Discount Posting"::"Invoice Discounts") AND
                     (PurchLine."Inv. Discount Amount" <> 0)) OR
    ...
    

    Codul de înlocuire

    ...
            THEN
    
    // Add the following line.
              IF (PurchLine.Type IN [PurchLine.Type::"G/L Account",PurchLine.Type::"Fixed Asset"]) THEN
    
                IF (((PurchSetup."Discount Posting" = PurchSetup."Discount Posting"::"Invoice Discounts") AND
                     (PurchLine."Inv. Discount Amount" <> 0)) OR
    ...
    

Cerințe preliminare

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

  • Versiunea nord-americană de Microsoft Dynamics NAV 2009 R2
  • Versiunea nord-americană de Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

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.