Ustvarjena datoteka z elektronskim računom OIOUBL je napačna, če v danski različici izdelka Microsoft Dynamics NAV omogočite nastavitev »Cene, vključno z DDV-jem«.

Velja za
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Ta članek velja za Microsoft Dynamics NAV za danske jezikovne nastavitve (dk).

Znaki

Recimo, da ste v danski različici programa Microsoft Dynamics NAV omogočili nastavitev »Cene, vključno z DDV-jem«. Ko ustvarite datoteko z elektronskim računom OIOUBL, so vrstice v datoteki nepravilne. Zaradi teh vrstic v datoteki pride do napake, ko preskušate veljavnost datoteke OIOUBL na tem spletnem mestu:

http://www.oioubl.info/validator/default.aspx Do te težave pride pri teh izdelkih:

  • Danska različica izdelka Microsoft Dynamics NAV 2009 R2
  • Danska različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
  • Danska različica servisnega paketa SP1 za Microsoft Dynamics NAV 5.0

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:

  1. Dodajte globalno spremenljivko v enoto kode OIOUBL Export Sales Invoice (13609), nato pa določite spremenljivko, kot sledi:

    • Ime: Valuta
    • DataType:Record
  2. Ustvarite nov parameter ExcludeVAT( VAR SalesInvLine: zapis 113; PricesInclVAT: Boolean). To naredite tako:

    1. Dodajte lokalno spremenljivko in nato določite spremenljivko, kot sledi:

      • Ime: ExclVATFactor
      • DataType:Decimal
    2. V funkcijo »ExcludeVAT« dodajte to kodo:

      IF NOT PricesInclVAT THEN
      EXIT;
      WITH SalesInvLine DO BEGIN
      ExclVATFactor := 1 + "VAT %" / 100;
      "Line Discount Amount" := ROUND("Line Discount Amount" / ExclVATFactor,Currency."Amount Rounding Precision");
      "Inv. Discount Amount" := ROUND("Inv. Discount Amount" / ExclVATFactor,Currency."Amount Rounding Precision");
      "Unit Price" := ROUND("Unit Price" / ExclVATFactor,Currency."Amount Rounding Precision");
      END;
      
      
  3. Spremenite kodo v sprožilcu »OnRun« v kodni enoti računa za izvoz (13609) na ta način:
    Obstoječa koda 1

    ...
    IF "Currency Code" = '' THEN
    CurrencyCode := GLSetup."LCY Code";
    ELSE
    CurrencyCode := "Currency Code";
    ...
    
    

    Nadomestna koda 1

    ...
    IF "Currency Code" = '' THEN
    CurrencyCode := GLSetup."LCY Code"
    ELSE
    CurrencyCode := "Currency Code";
    
    // Add the following lines.
    IF CurrencyCode = GLSetup."LCY Code" THEN
    Currency.InitRoundingPrecision
    ELSE BEGIN
    Currency.GET(CurrencyCode);
    Currency.TESTFIELD("Amount Rounding Precision");
    END;
    // End of the added lines.
    ...
    
    

    Obstoječa koda 2

    ...
    TotalInvDiscountAmount := 0;
    IF SalesInvLine2.FINDSET THEN
    REPEAT
    TotalInvDiscountAmount := TotalInvDiscountAmount + SalesInvLine2."Inv. Discount Amount" +
    SalesInvLine2."Line Discount Amount";
    ...
    
    

    Nadomestna koda 2

    ...
    TotalInvDiscountAmount := 0;
    IF SalesInvLine2.FINDSET THEN
    REPEAT
    
    // Add the following line.
    ExcludeVAT(SalesInvLine2,"Prices Including VAT");
    // End of the added line.
    
    TotalInvDiscountAmount := TotalInvDiscountAmount + SalesInvLine2."Inv. Discount Amount" +
    SalesInvLine2."Line Discount Amount";
    ...
    
    

    Obstoječa koda 3

    ...
    TaxableAmount := 0;
    TaxAmount := 0;
    SalesInvLine2.RESET;
    SalesInvLine2.COPY(SalesInvLine);
    SalesInvLineFound := FALSE;
    IF SalesInvLine2.FINDSET THEN
    REPEAT
    TaxableAmount := TaxableAmount + SalesInvLine2.Amount + SalesInvLine2."Inv. Discount Amount" +
    SalesInvLine2."Line Discount Amount";
    ...
    
    

    Nadomestna koda 3

    ...
    TaxableAmount := 0;
    TaxAmount := 0;
    SalesInvLine2.RESET;
    SalesInvLine2.COPY(SalesInvLine);
    SalesInvLineFound := FALSE;
    IF SalesInvLine2.FINDSET THEN
    REPEAT
    
    // Add the following line.
    ExcludeVAT(SalesInvLine2,"Prices Including VAT");
    // End of the added line.
    
    TaxableAmount := TaxableAmount + SalesInvLine2.Amount + SalesInvLine2."Inv. Discount Amount" +
    SalesInvLine2."Line Discount Amount";
    ...
    
    

    Obstoječa koda 4

    ...
    REPEAT
    SalesInvLine.TESTFIELD(Description);
    AddElement(XMLCurrNode,'InvoiceLine','',DocNameSpace2,XMLNewChild,Prefix2);
    ...
    
    

    Nadomestna koda 4

    ...
    REPEAT
    SalesInvLine.TESTFIELD(Description);
    
    // Add the following line.
    ExcludeVAT(SalesInvLine,"Prices Including VAT");
    // End of the added line.
    
    AddElement(XMLCurrNode,'InvoiceLine','',DocNameSpace2,XMLNewChild,Prefix2);
    ...
    
    

Pogoji

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

  • Danska različica izdelka Microsoft Dynamics NAV 2009 R2
  • Danska različica servisnega paketa SP1 za Microsoft Dynamics NAV 2009
  • Danska različica servisnega paketa SP1 za Microsoft Dynamics NAV 5.0

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 .