"Een Tax Detail-record kan niet worden gevonden in de volgende parameters: / Tax Jurisdiction Code: [code], btw-GroupCode: [groep code], ingangsdatum: < = [datum] ' foutbericht wanneer u een verkoopfactuur in de NA-versie van Microsoft Dynamics NAV 2009 afdrukken


Dit artikel is van toepassing op Microsoft Dynamics NAV voor de volgende landen en taalinstellingen.
  • Engels (Canada) (nl-ca)
  • Engels (Verenigde Staten) (en-us)
  • Spaans (Mexico) (es-mx)
  • Frans (Canada) (fr-ca)

Symptomen


Stel dat u een verkoopfactuur met een tax area code in de Noord-Amerikaanse versie van Microsoft Dynamics 2009 opgegeven boeken. U voegt nieuwe tax jurisdiction aan de tax area code. In dit geval wordt bij het afdrukken van de geboekte verkoopfactuur, wordt het volgende foutbericht weergegeven:
Een Tax Detail-record kan niet worden gevonden in de volgende parameters: / Tax Jurisdiction Code:code, btw-GroupCode:code voorIngangsdatum: < =datum.
Dit probleem treedt op in de volgende producten:
  • De Noord-Amerikaanse versie van Microsoft Dynamics NAV 2009 R2
  • De Noord-Amerikaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)

Oplossing


Informatie over de hotfix

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter alleen bedoeld om het probleem dat wordt beschreven in dit artikel. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende servicepack voor Microsoft Dynamics NAV of de volgende Microsoft Dynamics NAV versie waarin deze hotfix is opgenomen.

Opmerking In speciale gevallen kunnen kosten die verbonden zijn aan ondersteuningsoproepen ondersteuning worden geannuleerd als een medewerker van Technical Support voor Microsoft Dynamics en verwante producten bepaalt dat een specifieke update de oplossing van uw probleem. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.


Informatie over de installatie

Microsoft verstrekt programmeervoorbeelden uitsluitend ter illustratie, zonder expliciete of impliciete garantie. Dit omvat, maar is niet beperkt tot, de impliciete garanties van verkoopbaarheid of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend met de programmeertaal die wordt aangetoond en met de hulpprogramma's die worden gebruikt bent voor het maken van en naar procedures voor foutopsporing. Ondersteuningstechnici van Microsoft kunnen voor uitleg over de functionaliteit van een bepaalde procedure, maar zij zullen deze voorbeelden bieden extra functionaliteit of desgewenst uw specifieke vereisten niet wijzigen.

Opmerking Voordat u deze hotfix hebt geïnstalleerd, controleert u of dat alle gebruikers van Microsoft Navision-clients zijn afgemeld bij het systeem. Dit geldt ook voor gebruikers van Microsoft Navision Application Services (NAS)-clients. U moet de alleen clientgebruiker die is aangemeld wanneer u deze hotfix gaat implementeren.

Als u deze hotfix gaat implementeren, hebt u een ontwikkelaarslicentie voor.

Is raadzaam dat de gebruikersaccount in het venster Windows-aanmeldingen of Databaseaanmeldingen de rol-id 'SUPER'. Als de gebruikersaccount kan worden toegewezen als de ID 'SUPER' rol, moet u controleren of de gebruikersaccount de volgende machtigingen heeft:
  • De machtiging wijzigen voor het object dat u wijzigt.
  • De machtiging uitvoeren voor het object System Object ID 5210 en voor het object System Object ID 9015 .


Opmerking Er geen rechten voor de opgeslagen gegevens hebben, tenzij u gegevens herstellen.

Codewijzigingen

Opmerking Altijd test code worden opgelost in een testomgeving voordat u de correcties in de productieomgeving.
U kunt dit probleem oplossen door de volgende stappen uit te voeren:
  1. De code in de functie AddSalesInvoiceLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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");
    ...
    Nieuwe code
        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. De code in de functie AddSalesCrMemoLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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;
    ...
    Nieuwe code
        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. De code in de functie AddPurchInvoiceLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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;
    ...
    Nieuwe code
        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. De code in de functie AddPurchCrMemoLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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;
    ...
    Nieuwe code
        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. De code in de functie AddServInvoiceLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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;
    ...
    Nieuwe code
        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. De code in de functie AddServCrMemoLines in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
        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;
    ...
    Nieuwe code
        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. De code in de functie EndSalesTaxCalculation in de codeunit btw berekenen (398) als volgt wijzigen:
    Bestaande code
    ...            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;
    ...
    Nieuwe code
    ...            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;
    ...

Vereisten

Hebt u een van de volgende producten geïnstalleerd om deze hotfix:
  • De Noord-Amerikaanse versie van Microsoft Dynamics NAV 2009 R2
  • De Noord-Amerikaanse versie van Microsoft Dynamics NAV 2009 Service Pack 1

Informatie over verwijderen

U kunt deze hotfix niet verwijderen.

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.
Opmerking Dit is een 'Snel publiceren' artikel dat rechtstreeks door het ondersteuningsteam van Microsoft is gemaakt. De informatie wordt geleverd zoals het is in reactie op de opkomende problemen. Omdat het artikel snel beschikbaar moest zijn, kunnen de materialen typografische fouten bevatten en op elk gewenst moment zonder voorafgaande kennisgeving worden gewijzigd. Zie de Gebruiksvoorwaarden voor andere overwegingen.