Ta članek velja za Microsoft Dynamics NAV za vse jezikovne območne nastavitve.
Znaki
Ko v storitvi Microsoft Dynamics NAV delno zaračunate servisni nalog v modulu »Storitev«, opazite, da je znesek DDV izračunan nepravilno. Do te težave pride, ko je izbrano zaokroževanje računov in je poslanih več vrstic storitve.
Do te težave pride pri teh izdelkih:
- Servisni paket SP1 za Microsoft Dynamics NAV 2009
- Microsoft Dynamics NAV 2009 R2
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 ne vpliva resno, priporočamo, da počakate na naslednji servisni paket za Microsoft Dynamics NAV 2009 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:
Spremenite kodo v funkciji CalcVATAmountLines v tabeli »Vrstica storitve« (5902) na naslednji način:
Dodajte te lokalne spremenljivke C/AL:- Ime: Cust; DataType: Zapis (18)
- Ime: CustPostingGroup; DataType: Zapis (92)
Obstoječa koda
... SalesSetup.GET; IF SalesSetup."Invoice Rounding" THEN BEGIN // Delete the following lines. ServLine2.COPYFILTERS(ServiceLine); RoundingLineInserted := ServiceLine.COUNT <> ServLine2.COUNT; // End of the deleted lines. END; IF FINDSET THEN REPEAT IF "VAT Calculation Type" IN ["VAT Calculation Type"::"Reverse Charge VAT","VAT Calculation Type"::"Sales Tax"] THEN ...Nadomestna koda
... SalesSetup.GET; IF SalesSetup."Invoice Rounding" THEN BEGIN // Add the following lines. Cust.GET(ServHeader."Bill-to Customer No."); CustPostingGroup.GET(Cust."Customer Posting Group"); // End of the added lines. END; IF FINDSET THEN REPEAT // Add the following lines. IF Type = Type::"G/L Account" THEN RoundingLineInserted := ("No." = CustPostingGroup."Invoice Rounding Account") OR RoundingLineInserted; // End of the added lines. IF "VAT Calculation Type" IN ["VAT Calculation Type"::"Reverse Charge VAT","VAT Calculation Type"::"Sales Tax"] THEN ...Dodajte lokalno funkcijo GetLastLineNo v Serv-Amounts Mgt. kodeto (5986), kot je navedeno spodaj:
GetLastLineNo( ServLine: Record 5902) : celo število... WITH ServLine DO BEGIN SETRANGE("Document Type", "Document Type"); SETRANGE("Document No.", "Document No."); IF FINDLAST THEN EXIT("Line No."); END; ...Spremenite kodo v funkciji »InvoiceRounding« v tabeli Serv-Amounts Mgt. (5986) takole:
Obstoječa koda... IF InvoiceRoundingAmount <>0 THEN BEGIN CustPostingGr.GET(ServiceHeader."Customer Posting Group"); CustPostingGr.TESTFIELD("Invoice Rounding Account"); WITH ServiceLine DO BEGIN INIT; // Delete the following line. NextLineNo := "Line No." + 10000; // End of the deleted line. "System-Created Entry" := TRUE; ...Nadomestna koda
... IF InvoiceRoundingAmount <> 0 THEN BEGIN CustPostingGr.GET(ServiceHeader."Customer Posting Group"); CustPostingGr.TESTFIELD("Invoice Rounding Account"); WITH ServiceLine DO BEGIN INIT; // Add the following lines. NextLineNo := GetLastLineNo(ServiceLine) + 10000; // End of the added lines. "System-Created Entry" := TRUE; ...
Pogoji
Če želite uporabiti ta sprotni popravek, morate imeti nameščenega enega od teh izdelkov:
- Servisni paket SP1 za Microsoft Dynamics NAV 2009
- Microsoft Dynamics NAV 2009 R2
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«.
Sklici
VSTF DynamicsNAV SE: 276601
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 .