"Gick inte att hitta en post skatteuppgiften inom följande parametrar: / skattemyndighetskod: [kod] moms GroupCode: [grupp kod] giltighetsdatum: < = [datum]" felmeddelande när du skriver ut en faktura i NA-versionen av Microsoft Dynamics NAV 2009


Den här artikeln gäller för Microsoft Dynamics NAV 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 bokför en faktura som har en Skatteområdeskod i den amerikanska versionen av Microsoft Dynamics-2009. Du lägger till en ny skattemyndighet Skatteområdeskod. I det här fallet, när du skriver ut den bokförda försäljningsfakturan, visas följande felmeddelande:
Gick inte att hitta en post skatteuppgiften inom följande parametrar: / skattemyndighetskod:kod, skatt GroupCode:kod, giltighetsdatum: < =datum.
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 (SP1)

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 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 funktionen AddSalesInvoiceLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddSalesInvoiceLines@1020003(DocNo@1020004 : Code[20]);    VAR
    SalesInvoiceHeader@1020000 : Record 112;
    SalesInvoiceLine@1020001 : Record 113;
    InsertRec@1020002 : Boolean;
    BEGIN
    SalesInvoiceHeader.GET(DocNo);
    SalesInvoiceHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(SalesInvoiceHeader."Tax Area Code") THEN
    EXIT;
    SetUpCurrency(SalesInvoiceHeader."Currency Code");
    ...
    Ersättningskod
        PROCEDURE AddSalesInvoiceLines@1020003(DocNo@1020004 : Code[20]);    VAR
    SalesInvoiceHeader@1020000 : Record 112;
    SalesInvoiceLine@1020001 : Record 113;
    InsertRec@1020002 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    SalesInvoiceHeader.GET(DocNo);
    SalesInvoiceHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(SalesInvoiceHeader."Tax Area Code") THEN
    EXIT;
    SetUpCurrency(SalesInvoiceHeader."Currency Code");
    ...
  2. Ändra koden i funktionen AddSalesCrMemoLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddSalesCrMemoLines@1020006(DocNo@1020000 : Code[20]);    VAR
    SalesCrMemoHeader@1020001 : Record 114;
    SalesCrMemoLine@1020002 : Record 115;
    InsertRec@1020003 : Boolean;
    BEGIN
    SalesCrMemoHeader.GET(DocNo);
    SalesCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(SalesCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
    Ersättningskod
        PROCEDURE AddSalesCrMemoLines@1020006(DocNo@1020000 : Code[20]);    VAR
    SalesCrMemoHeader@1020001 : Record 114;
    SalesCrMemoLine@1020002 : Record 115;
    InsertRec@1020003 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    SalesCrMemoHeader.GET(DocNo);
    SalesCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(SalesCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
  3. Ändra koden i funktionen AddPurchInvoiceLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddPurchInvoiceLines@1020008(DocNo@1020000 : Code[20]);    VAR
    PurchInvHeader@1020001 : Record 122;
    PurchInvLine@1020002 : Record 123;
    InsertRec@1020003 : Boolean;
    BEGIN
    PurchInvHeader.GET(DocNo);
    PurchInvHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(PurchInvHeader."Tax Area Code") THEN
    EXIT;
    ...
    Ersättningskod
        PROCEDURE AddPurchInvoiceLines@1020008(DocNo@1020000 : Code[20]);    VAR
    PurchInvHeader@1020001 : Record 122;
    PurchInvLine@1020002 : Record 123;
    InsertRec@1020003 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    PurchInvHeader.GET(DocNo);
    PurchInvHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(PurchInvHeader."Tax Area Code") THEN
    EXIT;
    ...
  4. Ändra koden i funktionen AddPurchCrMemoLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddPurchCrMemoLines@1020004(DocNo@1020000 : Code[20]);    VAR
    PurchCrMemoHeader@1020001 : Record 124;
    PurchCrMemoLine@1020002 : Record 125;
    InsertRec@1020003 : Boolean;
    BEGIN
    PurchCrMemoHeader.GET(DocNo);
    PurchCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(PurchCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
    Ersättningskod
        PROCEDURE AddPurchCrMemoLines@1020004(DocNo@1020000 : Code[20]);    VAR
    PurchCrMemoHeader@1020001 : Record 124;
    PurchCrMemoLine@1020002 : Record 125;
    InsertRec@1020003 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    PurchCrMemoHeader.GET(DocNo);
    PurchCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(PurchCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
  5. Ändra koden i funktionen AddServInvoiceLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddServInvoiceLines@1480008(DocNo@1020000 : Code[20]);    VAR
    ServInvHeader@1020001 : Record 5992;
    ServInvLine@1020002 : Record 5993;
    InsertRec@1020003 : Boolean;
    BEGIN
    ServInvHeader.GET(DocNo);
    ServInvHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(ServInvHeader."Tax Area Code") THEN
    EXIT;
    ...
    Ersättningskod
        PROCEDURE AddServInvoiceLines@1480008(DocNo@1020000 : Code[20]);    VAR
    ServInvHeader@1020001 : Record 5992;
    ServInvLine@1020002 : Record 5993;
    InsertRec@1020003 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    ServInvHeader.GET(DocNo);
    ServInvHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(ServInvHeader."Tax Area Code") THEN
    EXIT;
    ...
  6. Ändra koden i funktionen AddServCrMemoLines i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
        PROCEDURE AddServCrMemoLines@1480004(DocNo@1020000 : Code[20]);    VAR
    ServCrMemoHeader@1020001 : Record 5994;
    ServCrMemoLine@1020002 : Record 5995;
    InsertRec@1020003 : Boolean;
    BEGIN
    ServCrMemoHeader.GET(DocNo);
    ServCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(ServCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
    Ersättningskod
        PROCEDURE AddServCrMemoLines@1480004(DocNo@1020000 : Code[20]);    VAR
    ServCrMemoHeader@1020001 : Record 5994;
    ServCrMemoLine@1020002 : Record 5995;
    InsertRec@1020003 : Boolean;
    BEGIN

    // Add the following line.
    Posted := TRUE;

    ServCrMemoHeader.GET(DocNo);
    ServCrMemoHeader.TESTFIELD("Prices Including VAT",FALSE);
    IF NOT GetSalesTaxCountry(ServCrMemoHeader."Tax Area Code") THEN
    EXIT;
    ...
  7. Ändra koden i funktionen EndSalesTaxCalculation i kodmodul beräkna moms (398) enligt följande:
    Befintlig kod
    ...            TaxDetail.SETRANGE("Tax Type",TaxDetail."Tax Type"::"Excise Tax");
    IF TaxDetail.FIND('+') THEN BEGIN
    TaxDetailFound := TRUE;
    "Tax Type" := "Tax Type"::"Excise Tax";
    INSERT;
    "Tax Type" := "Tax Type"::"Sales and Use Tax";
    END;

    // Delete the following line.
    IF NOT TaxDetailFound THEN

    ERROR(
    Text1020002,
    TaxDetail.TABLECAPTION,
    FIELDCAPTION("Tax Jurisdiction Code"),"Tax Jurisdiction Code",
    FIELDCAPTION("Tax Group Code"),"Tax Group Code",
    TaxDetail.FIELDCAPTION("Effective Date"),TaxDetail.GETFILTER("Effective Date"));
    UNTIL NEXT = 0;
    RESET;
    ...
    Ersättningskod
    ...            TaxDetail.SETRANGE("Tax Type",TaxDetail."Tax Type"::"Excise Tax");
    IF TaxDetail.FIND('+') THEN BEGIN
    TaxDetailFound := TRUE;
    "Tax Type" := "Tax Type"::"Excise Tax";
    INSERT;
    "Tax Type" := "Tax Type"::"Sales and Use Tax"; // NA0012
    END;

    // Add the following line.
    IF NOT TaxDetailFound AND NOT Posted THEN

    ERROR(
    Text1020002,
    TaxDetail.TABLECAPTION,
    FIELDCAPTION("Tax Jurisdiction Code"),"Tax Jurisdiction Code",
    FIELDCAPTION("Tax Group Code"),"Tax Group Code",
    TaxDetail.FIELDCAPTION("Effective Date"),TaxDetail.GETFILTER("Effective Date"));
    UNTIL NEXT = 0;
    RESET;
    ...

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.