Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Den här artikeln gäller Microsoft för följande länder och språk.

  • Engelska (Kanada) (SV-ca)

  • Engelska (USA) (en-us)

  • Spanska (Mexiko) (es-mx)

  • Franska (Kanada) (fr-ca)

Symptom

Anta att du anger CAD som alternativ rapporteringsvaluta värde i Redovisningsinställningar dialogrutan i den amerikanska versionen av Microsoft Dynamics NAV 2009. När du bokför en inköpsfaktura som innehåller moms, visas följande felmeddelande:

Transaktionen kan inte slutföras eftersom det skulle leda till inkonsekvenser i tabellen Redovisningstransaktion. Kontrollera var och hur funktionen CONSISTENT används i transaktionen för att hitta orsaken till felet.

Det här problemet uppstår i följande produkter:

  • Den amerikanska versionen av Microsoft Dynamics NAV 2009 R2

  • Den amerikanska versionen av Microsoft Dynamics NAV 2009 Service Pack 1


Lösning

Information om snabbkorrigeringen

En snabbkorrigering är nu tillgänglig från Microsoft. Den är endast avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack-versionen för Microsoft Dynamics NAV 2009 eller nästa Microsoft Dynamics NAV-version som innehåller den här snabbkorrigeringen.

Obs! I särskilda fall, de avgifter som är normalt för support vara avgiftsfri om en supporttekniker för Microsoft Dynamics och relaterade produkter som bestämmer att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.



Installationsinformation

Microsoft tillhandahåller programmeringsexempel endast utan garanti varken uttryckliga eller underförstådda. Detta inkluderar men är inte begränsat till, underförstådda garantier om säljbarhet eller lämplighet för ett särskilt ändamål. Den här artikeln förutsätter att du är bekant med det programmeringsspråk som demonstreras och de verktyg som används för att skapa och felsöka procedurer. Microsofts supporttekniker kan hjälpa till med att förklara funktionen hos en viss procedur, men kan inte ändra dessa exempel för att ge ytterligare funktioner eller skapa procedurer som motsvarar dina speciella behov.

Obs! Innan du installerar den här snabbkorrigeringen måste du kontrollera att alla användare av Microsoft Navision-klient har loggat ut. Detta inkluderar Microsoft Navision Application Services (NAS) klientanvändare. Du ska endast klientanvändare som är inloggad när du implementerar den här snabbkorrigeringen.

Om du vill genomföra den här snabbkorrigeringen måste du ha en utvecklarlicens.

Vi rekommenderar att tilldelas användarkontot i fönstret Windows-inloggningar eller i fönstret databasinloggningar "SUPER" roll-ID. Om användarkontot inte kan tilldelas "SUPER" roll-ID måste du kontrollera att användarkontot har följande behörigheter:

  • Ändra behörighet för objektet ändras.

  • Körbehörighet för systemet objektet ID 5210 objektet och objektet System objektet ID 9015 .



Obs! Du har inte behörighet för datalager inte data reparation.

Kod ändras

Obs! Alltid åtgärdas testa koden i en kontrollerad miljö innan du installerar korrigeringar för produktionsdatorer.

Lös problemet så här:

  1. Ändra koden i fälten i tabellen Moms beloppet rad (10011) enligt följande:
    Befintlig kod

    ...ESM=Es Informe jurisdicci¢n;
    FRC=Est une juridiction fiscale;
    ENC=Is Report-to Jurisdiction];
    Editable=No }
    }
    KEYS
    {
    { ;Tax Area Code for Key,Tax Jurisdiction Code,Tax %,Tax Group Code,Expense/Capitalize,Tax Type,Use Tax;
    ...

    Ersättningskod

    ...
    ESM=Es Informe jurisdicci¢n;
    FRC=Est une juridiction fiscale;
    ENC=Is Report-to Jurisdiction];
    Editable=No }

    // Add the following line.
    { 10044; ;Tax Base Amount FCY ;Decimal }
    // End of the added line.

    }
    KEYS
    {
    { ;Tax Area Code for Key,Tax Jurisdiction Code,Tax %,Tax Group Code,Expense/Capitalize,Tax Type,Use Tax;
    ...
  2. Ändra koden i funktionen PostSalesTaxToGL i Codeunit försäljningspost (80) enligt följande:
    Befintlig kod

    ...END;
    GenJnlLine."Tax Jurisdiction Code" := TempSalesTaxAmtLine."Tax Jurisdiction Code";
    IF TempSalesTaxAmtLine."Tax Amount" <> 0 THEN BEGIN
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt +

    // Delete the following lines.
    CurrExchRate.ExchangeAmtLCYToFCY(
    UseDate,SalesHeader."Currency Code",TempSalesTaxAmtLine."Tax Amount",SalesHeader."Currency Factor");
    // End of the deleted lines.

    GenJnlLine."Source Curr. VAT Amount" :=
    SalesTaxCalculate.ArithmeticRound(RemSalesTaxSrcAmt,Currency."Amount Rounding Precision");
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt - GenJnlLine."Source Curr. VAT Amount";
    RemSalesTaxAmt := RemSalesTaxAmt + TempSalesTaxAmtLine."Tax Amount";
    ...

    Ersättningskod

    ...END;
    GenJnlLine."Tax Jurisdiction Code" := TempSalesTaxAmtLine."Tax Jurisdiction Code";
    IF TempSalesTaxAmtLine."Tax Amount" <> 0 THEN BEGIN
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt +

    // Add the following lines.
    TempSalesTaxAmtLine."Tax Base Amount FCY" * TempSalesTaxAmtLine."Tax %" / 100;
    // End of the added lines.

    GenJnlLine."Source Curr. VAT Amount" :=
    SalesTaxCalculate.ArithmeticRound(RemSalesTaxSrcAmt,Currency."Amount Rounding Precision");
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt - GenJnlLine."Source Curr. VAT Amount";
    RemSalesTaxAmt := RemSalesTaxAmt + TempSalesTaxAmtLine."Tax Amount";
    ...
  3. Ändra koden i funktionen PostSalesTaxToGL i inköp.-bokför kodmodul (90) enligt följande:
    Befintlig kod

    ...END;
    GenJnlLine."Tax Jurisdiction Code" := TempSalesTaxAmtLine."Tax Jurisdiction Code";
    IF TempSalesTaxAmtLine."Tax Amount" <> 0 THEN BEGIN
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt +

    // Delete the following lines.
    CurrExchRate.ExchangeAmtLCYToFCY(
    Usedate,PurchHeader."Currency Code",TempSalesTaxAmtLine."Tax Amount",PurchHeader."Currency Factor");
    // End of the deleted lines.

    GenJnlLine."Source Curr. VAT Amount" :=
    SalesTaxCalculate.ArithmeticRound(RemSalesTaxSrcAmt,Currency."Amount Rounding Precision");
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt - GenJnlLine."Source Curr. VAT Amount";
    RemSalesTaxAmt := RemSalesTaxAmt + TempSalesTaxAmtLine."Tax Amount";
    ...

    Ersättningskod

    ...END;
    GenJnlLine."Tax Jurisdiction Code" := TempSalesTaxAmtLine."Tax Jurisdiction Code";
    IF TempSalesTaxAmtLine."Tax Amount" <> 0 THEN BEGIN
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt +

    // Add the following line.
    TempSalesTaxAmtLine."Tax Base Amount FCY" * TempSalesTaxAmtLine."Tax %" / 100;
    // End of the added line.

    GenJnlLine."Source Curr. VAT Amount" :=
    SalesTaxCalculate.ArithmeticRound(RemSalesTaxSrcAmt,Currency."Amount Rounding Precision");
    RemSalesTaxSrcAmt := RemSalesTaxSrcAmt - GenJnlLine."Source Curr. VAT Amount";
    RemSalesTaxAmt := RemSalesTaxAmt + TempSalesTaxAmtLine."Tax Amount";
    ...
  4. Ändra koden i funktionen PostProvincialSalesTaxToGL i inköp.-bokför kodmodul (90) enligt följande:
    Befintlig kod

    ...TaxJurisdiction.TESTFIELD("Tax Account (Purchases)");
    GenJnlLine."Account No." := TaxJurisdiction."Tax Account (Purchases)";
    END;
    GenJnlLine.Amount := GenJnlLine."VAT Amount";

    // Delete the following lines.
    GenJnlLine."Source Curr. VAT Base Amount" := 0;
    GenJnlLine."VAT Base Amount (LCY)" := 0;
    GenJnlLine."VAT Base Amount" := 0;
    GenJnlLine."Source Curr. VAT Amount" := 0;
    // End of the deleted lines.

    GenJnlLine."VAT Amount (LCY)" := 0;
    GenJnlLine."VAT Amount" := 0;
    GenJnlLine.Quantity := 0;
    GenJnlLine."VAT Difference" := 0;
    ...

    Ersättningskod

    ...TaxJurisdiction.TESTFIELD("Tax Account (Purchases)");
    GenJnlLine."Account No." := TaxJurisdiction."Tax Account (Purchases)";
    END;
    GenJnlLine.Amount := GenJnlLine."VAT Amount";

    // Add the following lines.
    GenJnlLine."Source Currency Amount" := GenJnlLine."Source Curr. VAT Amount";
    GenJnlLine."Source Curr. VAT Base Amount" := 0;
    GenJnlLine."VAT Base Amount (LCY)" := 0;
    GenJnlLine."VAT Base Amount" := 0;
    // End of the added lines.

    GenJnlLine."VAT Amount (LCY)" := 0;
    GenJnlLine."VAT Amount" := 0;
    GenJnlLine.Quantity := 0;
    GenJnlLine."VAT Difference" := 0;
    ...
  5. Ändra koden i funktionen AddSalesLine i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Delete the following line.
    "Tax Base Amount" := (SalesLine."Line Amount" - SalesLine."Inv. Discount Amount") / ExchangeFactor;
    // End of the deleted line.

    "Line Amount" := SalesLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := SalesLine."Tax Liable";
    Quantity := SalesLine."Quantity (Base)";
    "Invoice Discount Amount" := SalesLine."Inv. Discount Amount";
    ...

    Ersättningskod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesLine."Line Amount" - SalesLine."Inv. Discount Amount",ExchangeFactor,FALSE);
    // End of the added line.

    "Line Amount" := SalesLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := SalesLine."Tax Liable";
    Quantity := SalesLine."Quantity (Base)";
    "Invoice Discount Amount" := SalesLine."Inv. Discount Amount";
    ...

    Befintlig kod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesLine."Line Amount" / ExchangeFactor);
    IF SalesLine."Tax Liable" THEN
    "Tax Liable" := SalesLine."Tax Liable";

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + ((SalesLine."Line Amount" - SalesLine."Inv. Discount Amount") / ExchangeFactor);
    // End of the deleted line.

    "Tax Amount" := 0;
    Quantity := Quantity + SalesLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + SalesLine."Inv. Discount Amount";
    MODIFY;
    ...

    Ersättningskod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesLine."Line Amount" / ExchangeFactor);
    IF SalesLine."Tax Liable" THEN
    "Tax Liable" := SalesLine."Tax Liable";

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesLine."Line Amount" - SalesLine."Inv. Discount Amount",ExchangeFactor,TRUE);
    // End of the added line.

    "Tax Amount" := 0;
    Quantity := Quantity + SalesLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + SalesLine."Inv. Discount Amount";
    MODIFY;
    ...
  6. Ändra koden i funktionen AddSalesInvoiceLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := SalesInvoiceLine."Line Amount" / ExchangeFactor;

    // Delete the following line.
    "Tax Base Amount" := SalesInvoiceLine."VAT Base Amount" / ExchangeFactor;
    // End of the deleted line.

    Quantity := SalesInvoiceLine.Quantity;
    "Tax Liable" := SalesInvoiceLine."Tax Liable";
    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := SalesInvoiceLine."Line Amount" / ExchangeFactor;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesInvoiceLine."VAT Base Amount",ExchangeFactor,FALSE);
    // End of the added line.

    Quantity := SalesInvoiceLine.Quantity;
    "Tax Liable" := SalesInvoiceLine."Tax Liable";
    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesInvoiceLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (SalesInvoiceLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + SalesInvoiceLine.Quantity;
    IF SalesInvoiceLine."Tax Liable" THEN
    "Tax Liable" := SalesInvoiceLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesInvoiceLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesInvoiceLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + SalesInvoiceLine.Quantity;
    IF SalesInvoiceLine."Tax Liable" THEN
    "Tax Liable" := SalesInvoiceLine."Tax Liable";
    InsertRec := FALSE;
    ...
  7. Ändra koden i funktionen AddSalesCrMemoLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := SalesCrMemoLine."Line Amount" / ExchangeFactor;

    // Delete the following line.
    "Tax Base Amount" := SalesCrMemoLine."VAT Base Amount" / ExchangeFactor;
    // End of the deleted line.

    Quantity := SalesCrMemoLine.Quantity;
    "Tax Liable" := SalesCrMemoLine."Tax Liable";
    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := SalesCrMemoLine."Line Amount" / ExchangeFactor;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesCrMemoLine."VAT Base Amount",ExchangeFactor,FALSE);
    // End of the added line.

    Quantity := SalesCrMemoLine.Quantity;
    "Tax Liable" := SalesCrMemoLine."Tax Liable";
    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesCrMemoLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (SalesCrMemoLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + SalesCrMemoLine.Quantity;
    IF SalesCrMemoLine."Tax Liable" THEN
    "Tax Liable" := SalesCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (SalesCrMemoLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,SalesCrMemoLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + SalesCrMemoLine.Quantity;
    IF SalesCrMemoLine."Tax Liable" THEN
    "Tax Liable" := SalesCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...
  8. Ändra koden i funktionen AddPurchLine i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Delete the following line.
    "Tax Base Amount" := (PurchLine."Line Amount" - PurchLine."Inv. Discount Amount") / ExchangeFactor;
    // End of the deleted line.

    "Line Amount" := PurchLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := PurchLine."Tax Liable";
    "Use Tax" := PurchLine."Use Tax";
    ...

    Ersättningskod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchLine."Line Amount" - PurchLine."Inv. Discount Amount",ExchangeFactor,FALSE);
    // End of the added line.

    "Line Amount" := PurchLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := PurchLine."Tax Liable";
    "Use Tax" := PurchLine."Use Tax";
    ...

    Befintlig kod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchLine."Line Amount" / ExchangeFactor);
    IF PurchLine."Tax Liable" THEN
    "Tax Liable" := PurchLine."Tax Liable";

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + ((PurchLine."Line Amount" - PurchLine."Inv. Discount Amount") / ExchangeFactor);
    // End of the deleted line.

    "Tax Amount" := 0;
    Quantity := Quantity + PurchLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + PurchLine."Inv. Discount Amount";
    MODIFY;
    ...

    Ersättningskod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchLine."Line Amount" / ExchangeFactor);
    IF PurchLine."Tax Liable" THEN
    "Tax Liable" := PurchLine."Tax Liable";

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchLine."Line Amount" - PurchLine."Inv. Discount Amount",ExchangeFactor,TRUE);
    // End of the added line.

    "Tax Amount" := 0;
    Quantity := Quantity + PurchLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + PurchLine."Inv. Discount Amount";
    MODIFY;
    ...
  9. Ändra koden i funktionen AddPurchInvoiceLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := PurchInvLine."Line Amount" / ExchangeFactor;

    // Delete the following line.
    "Tax Base Amount" := PurchInvLine."VAT Base Amount" / ExchangeFactor;
    // End of the deleted line.

    Quantity := PurchInvLine.Quantity;
    "Tax Liable" := PurchInvLine."Tax Liable";
    "Use Tax" := PurchInvLine."Use Tax";
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := PurchInvLine."Line Amount" / ExchangeFactor;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchInvLine."VAT Base Amount",ExchangeFactor,FALSE);
    // End of the added line.

    Quantity := PurchInvLine.Quantity;
    "Tax Liable" := PurchInvLine."Tax Liable";
    "Use Tax" := PurchInvLine."Use Tax";
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchInvLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (PurchInvLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + PurchInvLine.Quantity;
    IF PurchInvLine."Tax Liable" THEN
    "Tax Liable" := PurchInvLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchInvLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchInvLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + PurchInvLine.Quantity;
    IF PurchInvLine."Tax Liable" THEN
    "Tax Liable" := PurchInvLine."Tax Liable";
    InsertRec := FALSE;
    ...
  10. Ändra koden i funktionen AddPurchCrMemoLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := PurchCrMemoLine."Line Amount" / ExchangeFactor;

    // Delete the following line.
    "Tax Base Amount" := PurchCrMemoLine."VAT Base Amount" / ExchangeFactor;
    // End of the deleted line.

    Quantity := PurchCrMemoLine.Quantity;
    "Tax Liable" := PurchCrMemoLine."Tax Liable";
    "Use Tax" := PurchCrMemoLine."Use Tax";
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := PurchCrMemoLine."Line Amount" / ExchangeFactor;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchCrMemoLine."VAT Base Amount",ExchangeFactor,FALSE);
    // End of the added line.

    Quantity := PurchCrMemoLine.Quantity;
    "Tax Liable" := PurchCrMemoLine."Tax Liable";
    "Use Tax" := PurchCrMemoLine."Use Tax";
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchCrMemoLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (PurchCrMemoLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + PurchCrMemoLine.Quantity;
    IF PurchCrMemoLine."Tax Liable" THEN
    "Tax Liable" := PurchCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (PurchCrMemoLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,PurchCrMemoLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + PurchCrMemoLine.Quantity;
    IF PurchCrMemoLine."Tax Liable" THEN
    "Tax Liable" := PurchCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...
  11. Ändra koden i funktionen AddServiceLine i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Delete the following line.
    "Tax Base Amount" := (ServiceLine."Line Amount" - ServiceLine."Inv. Discount Amount") / ExchangeFactor;
    // End of the deleted line.

    "Line Amount" := ServiceLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := ServiceLine."Tax Liable";
    Quantity := ServiceLine."Quantity (Base)";
    "Invoice Discount Amount" := ServiceLine."Inv. Discount Amount";
    ...

    Ersättningskod 1

    ..."Round Tax" := TaxArea."Round Tax";
    TaxJurisdiction.GET("Tax Jurisdiction Code");
    "Is Report-to Jurisdiction" := ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,ServiceLine."Line Amount" - ServiceLine."Inv. Discount Amount",ExchangeFactor,FALSE);
    // End of the added line.

    "Line Amount" := ServiceLine."Line Amount" / ExchangeFactor;
    "Tax Liable" := ServiceLine."Tax Liable";
    Quantity := ServiceLine."Quantity (Base)";
    "Invoice Discount Amount" := ServiceLine."Inv. Discount Amount";
    ...

    Befintlig kod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServiceLine."Line Amount" / ExchangeFactor);
    IF ServiceLine."Tax Liable" THEN
    "Tax Liable" := ServiceLine."Tax Liable";

    // Delete the following line.
    "Tax Base Amount" :=
    "Tax Base Amount" + ((ServiceLine."Line Amount" - ServiceLine."Inv. Discount Amount") / ExchangeFactor);
    // End of the deleted line.

    "Tax Amount" := 0;
    Quantity := Quantity + ServiceLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + ServiceLine."Inv. Discount Amount";
    MODIFY;
    ...

    Ersättningskod 2

    ...END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServiceLine."Line Amount" / ExchangeFactor);
    IF ServiceLine."Tax Liable" THEN
    "Tax Liable" := ServiceLine."Tax Liable";

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,ServiceLine."Line Amount" - ServiceLine."Inv. Discount Amount",ExchangeFactor,TRUE);
    // End of the added line.

    "Tax Amount" := 0;
    Quantity := Quantity + ServiceLine."Quantity (Base)";
    "Invoice Discount Amount" := "Invoice Discount Amount" + ServiceLine."Inv. Discount Amount";
    MODIFY;
    ...
  12. Ändra koden i funktionen AddServInvoiceLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := ServInvLine."Line Amount" / ExchangeFactor;

    // Delete the following lines.
    "Tax Base Amount" := ServInvLine."VAT Base Amount" / ExchangeFactor;
    Quantity := ServInvLine.Quantity;
    "Tax Liable" := ServInvLine."Tax Liable";

    // End of the deleted line.

    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    INSERT;
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := ServInvLine."Line Amount" / ExchangeFactor;

    // Add the following lines.
    SetTaxBaseAmount(TempSalesTaxLine,ServInvLine."VAT Base Amount",ExchangeFactor,FALSE);
    Quantity := ServInvLine.Quantity;
    "Tax Liable" := ServInvLine."Tax Liable";
    // End of the added lines.

    "Calculation Order" := TaxAreaLine."Calculation Order";
    InsertRec := TRUE;
    INSERT;
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServInvLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (ServInvLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + ServInvLine.Quantity;
    IF ServInvLine."Tax Liable" THEN
    "Tax Liable" := ServInvLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServInvLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,ServInvLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + ServInvLine.Quantity;
    IF ServInvLine."Tax Liable" THEN
    "Tax Liable" := ServInvLine."Tax Liable";
    InsertRec := FALSE;
    ...
  13. Ändra koden i funktionen AddServCrMemoLines i moms beräknas kodmodul (398) enligt följande:
    Befintlig kod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := ServCrMemoLine."Line Amount" / ExchangeFactor;

    // Delete the following line.
    "Tax Base Amount" := ServCrMemoLine."VAT Base Amount" / ExchangeFactor;
    // End of the deleted line.

    Quantity := ServCrMemoLine.Quantity;
    "Tax Liable" := ServCrMemoLine."Tax Liable";

    "Calculation Order" := TaxAreaLine."Calculation Order";
    ...

    Ersättningskod 1

    ..."Is Report-to Jurisdiction" :=
    ("Tax Jurisdiction Code" = TaxJurisdiction."Report-to Jurisdiction");
    END;
    "Line Amount" := ServCrMemoLine."Line Amount" / ExchangeFactor;

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,ServCrMemoLine."VAT Base Amount",ExchangeFactor,FALSE);
    // End of the added line.

    Quantity := ServCrMemoLine.Quantity;
    "Tax Liable" := ServCrMemoLine."Tax Liable";

    "Calculation Order" := TaxAreaLine."Calculation Order";
    ...

    Befintlig kod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServCrMemoLine."Line Amount" / ExchangeFactor);

    // Delete the following line.
    "Tax Base Amount" := "Tax Base Amount" + (ServCrMemoLine."VAT Base Amount" / ExchangeFactor);
    // End of the deleted line.

    Quantity := Quantity + ServCrMemoLine.Quantity;
    IF ServCrMemoLine."Tax Liable" THEN
    "Tax Liable" := ServCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...

    Ersättningskod 2

    ...InsertRec := TRUE;
    INSERT;
    END ELSE BEGIN
    "Line Amount" := "Line Amount" + (ServCrMemoLine."Line Amount" / ExchangeFactor);

    // Add the following line.
    SetTaxBaseAmount(TempSalesTaxLine,ServCrMemoLine."VAT Base Amount",ExchangeFactor,TRUE);
    // End of the added line.

    Quantity := Quantity + ServCrMemoLine.Quantity;
    IF ServCrMemoLine."Tax Liable" THEN
    "Tax Liable" := ServCrMemoLine."Tax Liable";
    InsertRec := FALSE;
    ...
  14. Lägg till funktionen SetTaxBaseAmount i moms beräknas kodmodul (398) enligt följande:

    LOCAL PROCEDURE SetTaxBaseAmount@1020031(VAR SalesTaxAmountLine@1020001 : Record 10011;Value@1020000 : Decimal;ExchangeFactor@1020002 : Decimal;Increment@1020003 : Boolean);      BEGIN
    WITH SalesTaxAmountLine DO BEGIN
    IF Increment THEN
    "Tax Base Amount FCY" += Value
    ELSE
    "Tax Base Amount FCY" := Value;
    "Tax Base Amount" := "Tax Base Amount FCY" / ExchangeFactor;
    END;
    END;



Förutsättningar

Du måste ha någon av följande produkter som har installerat den här snabbkorrigeringen:

  • Den amerikanska versionen av Microsoft Dynamics NAV 2009 R2

  • Den amerikanska versionen av Microsoft Dynamics NAV 2009 Service Pack 1

Information om borttagning

Du kan inte ta bort den här snabbkorrigeringen.

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Obs! Detta är en "SNABBPUBLICERING"-artikel skapad direkt från Microsoft support-organisationen. Informationen häri tillhandahålls i befintligt skick som svar på nya problem. Till följd av hastigheten för att göra det tillgängligt kan materialet innehålla typografiska fel och kan ändras när som helst utan föregående meddelande. Se Villkoren för användning för andra överväganden.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×