Vrstice z računom ni mogoče dodati za nakup osnovnega sredstva, ko je račun stroškov pridobitve nastavljen na račun glavne knjige, ki nima vrednosti »Gen. Product Posting Group«, izpolnjena v severnoameriški različici programa Microsoft Dynamics NAV 2009

Velja za
Dynamics NAV 2009

Ta članek velja za Microsoft Dynamics NAV za te države in jezikovne območne nastavitve.

  • English (Canada) (en-ca)
  • angleščina (Združene države) (en-us)
  • španščina (Mehika) (es-mx)
  • francoščina (Kanada) (fr-ca)

Znaki

Recimo, da račun glavne knjige dodelite računu stroškov pridobitve v severnoameriški različici programa Microsoft Dynamics NAV 2009. V računu glavne knjige je polje »Vrsta knjiženja splošno« nastavljeno na prazno, račun glavne knjige pa v pogovornem oknu »Kartica računa glavne knjige« vrednost »Skupina za knjiženje izdelkov«. V primeru, ko želite dodati vrstico z računom za nakup za nakup nespremenljivega sredstva, se prikaže to sporočilo o napaki:

Opomba

Gen. Skupina za objavljanje izdelkov mora imeti vrednost v KN računa KG. = številka računa glavne knjige. Ne sme biti nič ali prazna.

Vendar pa vrednost »Gener. Skupina za objavljanje izdelkov « ne bi smela biti potrebna, če je možnost DDV v uporabi onemogočena.
Do te težave pride pri teh izdelkih:

  • Severnoameriška različica izdelka Microsoft Dynamics NAV 2009 R2
  • Severnoameriška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009

      

Rešitev

Informacije o sprotnih popravkih

Microsoft zdaj ponuja podprt sprotni popravek. Vendar pa je njegov namen le odpraviti težavo, ki je opisana v tem članku. Uporabite ga samo v sistemih, v katerih se je spopadalo s to določeno težavo. Ta sprotni popravek bo morda dodatno pretestiran. Če ta težava na vas ne vpliva resno, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV ali naslednjo različico Microsoft Dynamics NAV, ki vsebuje ta hitri popravek.

Opomba V posebnih primerih so klici za podporo, v katere so običajno vključeni stroški, lahko brezplačni, če strokovnjak za tehnično podporo za Microsoft Dynamics in sorodne izdelke ugotovi, da neka posodobitev lahko odpravi vašo težavo. Običajni stroški podpore veljajo za dodatna vprašanja o podpori in težavah, ki niso povezana z določeno posodobitvijo.

            
          

Informacije o namestitvi

Microsoft ponuja primere programiranja samo za ponazoritev, brez izrecnega ali naznačenega jamstva. To vključuje, vendar ni omejeno na, naznačena jamstva glede primernosti za prodajo ali določen namen. V tem članku predvidevamo, da poznate programski jezik, ki je predstavljen, in orodja, ki se uporabljajo za ustvarjanje postopkov in njihovo odpravljanje napak. Microsoftovi inženirji za podporo vam lahko pomagajo razložiti delovanje določenega postopka, vendar teh primerov ne bodo spremenili, da bi zagotovili dodatno funkcionalnost ali ustvarili postopke, ki izpolnjujejo vaše določene zahteve.

Opomba Preden namestite ta hitri popravek, preverite, ali so vsi uporabniki odjemalca Microsoft Navision odjavljeni iz sistema. To vključuje uporabnike odjemalskih storitev Microsoft Navision Application Services (NAS). Ko uvedete ta sprotni popravek, morate biti edini odjemalski uporabnik, ki je prijavljen.

Če želite uvesti ta sprotni popravek, morate imeti licenco za razvijalce.

Priporočamo, da uporabniškemu računu v oknu »Prijave v Windows« ali »Prijave v zbirko podatkov« dodelite ID vloge »SUPER«. Če uporabniškemu računu ni mogoče dodeliti ID-ja vloge »SUPER«, morate preveriti, ali ima uporabniški račun ta dovoljenja:

  • Dovoljenje »Spremeni« za predmet, ki ga boste spreminjali.
  • Dovoljenje za izvajanje za predmet »Sistemski predmet z ID-jem 5210« in za predmet »Sistemski predmet z ID-jem 9015«.

                
Opomba: Če morate popraviti podatke, vam ni treba imeti pravic do podatkovnih shramb.

Spremembe kode

Opomba: Popravke kode vedno preskusite v nadzorovanem okolju, preden jih uporabite v produkcijskih računalnikih.
To težavo odpravite tako:

  1. Dodajte novo lokalno spremenljivko v funkcijo GetFAPostingGroup v tabeli »Prodajna vrstica« (37), nato pa določite spremenljivko tako:

    • Ime: GLSetup@1004
    • DataType: Zapis
    • Podvrsta: Nastavitev glavne knjige (98)
  2. Spremenite kodo v funkciji GetFAPostingGroup v tabeli »Prodajna vrstica« (37) tako:
    Obstoječa koda

    ...
    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");
    ...
    

    Nadomestna koda

    ...
    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. Dodajte novo lokalno spremenljivko v funkcijo GetFAPostingGroup v tabelo vrstice nakupa (39), nato pa določite spremenljivko, kot sledi:

    • Ime: GLSetup@1002
    • DataType: Zapis
    • Podvrsta: Nastavitev glavne knjige (98)
  4. Spremenite kodo v funkciji GetFAPostingGroup v tabeli vrstice nakupa (39) tako:
    Obstoječa koda

    ...
    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");
    ...
    

    Nadomestna koda

    ...
    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. Kodo v sprožilcu OnRun v enoti kode Sales-Post (80) spremenite takole:
    Obstoječa koda

    ...
               ((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
    ...
    

    Nadomestna koda

    ...
               ((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. Spremenite kodo v sprožilcu »OnRun« v kodni enoti Purch.-Post (90) tako:
    Obstoječa koda

    ...
            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
    ...
    

    Nadomestna koda

    ...
            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
    ...
    

Pogoji

Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:

  • Severnoameriška različica izdelka Microsoft Dynamics NAV 2009 R2
  • Severnoameriška različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009

Informacije o odstranitvi

Tega sprotnega popravka ne morete odstraniti.

Stanje

Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.

Opomba: To je članek »FAST PUBLISH«, ki je bil ustvarjen neposredno v organizaciji za Microsoftovo podporo. Informacije v tem dokumentu so na voljo takšne, kot odgovor na nastajajoče težave. Zaradi hitrosti njihove razpoložljivosti lahko gradivo vsebuje tipkarske napake in jih je mogoče kadarkoli pregledati brez obvestila. Za druga priporočila si oglejte Pogoje uporabe .