Værdien Social Reason er forkert, når du eksporterer en Model 347-fil i den spanske version af Microsoft Dynamics NAV

Gælder for
Dynamics NAV 2009 Microsoft Dynamics NAV 5.0

Denne artikel gælder for Microsoft Dynamics NAV for landestandarden for spansk (es).

Symptomer

Antag, at du har to kunder, der bruger det samme momsregistreringsnummer i den spanske version af Microsoft Dynamics NAV. Den første debitor har flere beløb i posterne, end den anden debitor har. I denne situation vises værdien Beløb for den første kunde korrekt, når du eksporterer en Model 347-fil. Men værdien Social Årsag vises for den anden kunde i stedet for for den første kunde.

Bemærk! Dette problem opstår også, hvis du har to leverandører, der bruger det samme momsregistreringsnummer.
 
Dette problem opstår i følgende produkter:

  • Den spanske version af Microsoft Dynamics NAV 2009 R2
  • Den spanske version af Microsoft Dynamics NAV 2009 Service Pack 1
  • Den spanske version af Microsoft Dynamics NAV 5.0 Service Pack 1

Løsning

Oplysninger om hotfix

Et understøttet hotfix er nu tilgængeligt fra Microsoft. Det er dog kun beregnet til at løse det problem, der er beskrevet i denne artikel. Anvend den kun på systemer, der oplever dette specifikke problem. Dette hotfix kan blive testet yderligere. Hvis du ikke er alvorligt berørt af dette problem, anbefaler vi derfor, at du venter på den næste Service Pack til Microsoft Dynamics NAV 2009 eller den næste Microsoft Dynamics NAV-version, der indeholder dette hotfix.

Bemærk! I særlige tilfælde kan gebyrer, der normalt påløber for supportopkald, blive annulleret, hvis en teknisk supportmedarbejder til Microsoft Dynamics og relaterede produkter afgør, at en bestemt opdatering løser dit problem. De sædvanlige supportomkostninger gælder for yderligere supportspørgsmål og -problemer, der ikke er kvalificeret til den pågældende opdatering.

            
          

Installationsoplysninger

Microsoft leverer kun programmeringseksempler til illustration uden garanti, hverken udtrykt eller underforstået. Dette omfatter, men er ikke begrænset til, underforståede garantier for salgbarhed eller egnethed til et bestemt formål. I denne artikel antages det, at du kender det programmeringssprog, der demonstreres, og med de værktøjer, der bruges til at oprette og foretage fejlfinding af procedurer. Microsofts supportteknikere kan hjælpe med at forklare funktionaliteten af en bestemt procedure. De vil dog ikke ændre disse eksempler for at give ekstra funktionalitet eller konstruere procedurer for at opfylde dine specifikke krav.

Bemærk! Før du installerer dette hotfix, skal du kontrollere, at alle brugere af Microsoft Dynamics NAV-klienten er logget af systemet. Dette omfatter Microsoft Dynamics NAV Application Server-tjenester (NAS). Du bør være den eneste klientbruger, der er logget på, når du implementerer dette hotfix.

Hvis du vil implementere dette hotfix, skal du have en udviklerlicens.

Vi anbefaler, at brugerkontoen i vinduet Windows-logon eller i vinduet Databaselogon tildeles rolle-id'et "SUPER". Hvis brugerkontoen ikke kan tildeles rolle-id'et "SUPER", skal du kontrollere, at brugerkontoen har følgende tilladelser:

  • Tilladelsen Rediger for det objekt, du vil ændre.
  • Tilladelsen Execute for System Object ID 5210-objektet og for System Object ID 9015-objektet.

                
Bemærk! Du behøver ikke at have rettigheder til datalagrene, medmindre du skal udføre datareparation.

Kodeændringer

Bemærk! Test altid koderettelser i et kontrolleret miljø, før du anvender rettelserne på dine produktionscomputere.
Du kan løse dette problem ved at ændre koden i rapporten Make 347 Declaration (10707). Det kan du gøre ved at udføre disse trin:

  1. Skift koden i Dataelementnummer 2 på følgende måde:
    Eksisterende kode

    NotIn347Amt := 0;
    

    Erstatningskode

    NotIn347Amt := 0;
    
    // Add the following line.
    CustomerMaxAmount := 0;
    
  2. Skift koden i Dataelementnummer 3 på følgende måde:
    Eksisterende kode 1

    // Delete the following lines.
      VATEntry.RESET;
      VATEntry.SETCURRENTKEY(Type,"Posting Date","Document Type","Document No.","Bill-to/Pay-to No.");
      VATEntry.SETRANGE(Type,VATEntry.Type::Sale);
      VATEntry.SETRANGE("Document No.","Document No.");
      VATEntry.SETRANGE("Document Date","Document Date");
      VATEntry.SETRANGE("Document Type","Document Type");
      VATEntry.SETRANGE("Country/Region Code",CountryCode);
    // End of the deleted lines.
    

    Erstatningskode 1

    // Add the following line.
      FilterVATEntry(VATEntry,"Document Date","Document Type","Document No.",TRUE);
    

    Eksisterende kode 2

    "Document Type"::Invoice:
    
    // Delete the following lines.
      BEGIN
      SalesInvHeader.RESET;
      IF SalesInvHeader.GET("Document No.") THEN BEGIN
      IF SalesInvHeader."Ship-to Code" <> '' THEN BEGIN
      ShipToAddress.GET("Customer No.",SalesInvHeader."Ship-to Code");
      IF ShipToAddress."Country/Region Code" <> CountryCode THEN
      CurrReport.SKIP;
      END;
      SalesinvLine.RESET;
      SalesinvLine.SETRANGE("Document No.","Document No.");
      IF SalesinvLine.FINDSET THEN
      REPEAT
      IF SalesinvLine."VAT Calculation Type" = SalesinvLine."VAT Calculation Type"::"No Taxable VAT" THEN
      NoTaxVATFound := TRUE;
      UNTIL SalesinvLine.NEXT = 0;
      END ELSE BEGIN
      IF Customer."Country/Region Code" = CountryCode THEN
      FromJournal := TRUE;
      END;
      END;
      "Document Type"::"Credit Memo":
      BEGIN
      SalesCrMemoHeader.RESET;
      IF SalesCrMemoHeader.GET("Document No.") THEN BEGIN
      IF SalesCrMemoHeader."Ship-to Code" <> '' THEN BEGIN
      ShipToAddress.GET("Customer No.",SalesCrMemoHeader."Ship-to Code");
      IF ShipToAddress."Country/Region Code" <> CountryCode THEN
      CurrReport.SKIP;
      END;
      SalesCrMemoLine.RESET;
      SalesCrMemoLine.SETRANGE("Document No.","Document No.");
      IF SalesCrMemoLine.FINDSET THEN
      REPEAT
      IF SalesCrMemoLine."VAT Calculation Type" = SalesCrMemoLine."VAT Calculation Type"::"No Taxable VAT" THEN
      NoTaxVATFound := TRUE;
      UNTIL SalesCrMemoLine.NEXT = 0;
      END ELSE BEGIN
      IF Customer."Country/Region Code" = CountryCode THEN
      FromJournal := TRUE;
      END;
      END;
    // End of the deleted lines.
    
    END;
    

    Erstatningskode 2

    "Document Type"::Invoice:
    
    // Add the following lines.
    CheckCustDocTypeInvoice(SalesInvHeader,"Cust. Ledger Entry",Customer);
    "Document Type"::"Credit Memo":
    CheckCustDocTypeCrMemo(SalesCrMemoHeader,"Cust. Ledger Entry",Customer);
    // End of the added lines.
    
    END;
    

    Eksisterende kode 3

    SalesAmt := SalesAmt + "Amount (LCY)";
    UpdateQuarterAmount(AmountType::Sales,"Amount (LCY)","Document Date");
    

    Erstatningskode 3

    SalesAmt := SalesAmt + "Amount (LCY)";
    
    // Add the following line.
    CustomerMaxAmount := SalesAmt;
    
    UpdateQuarterAmount(AmountType::Sales,"Amount (LCY)","Document Date");
    

    Eksisterende kode 4

    SalesAmt := SalesAmt + NotIn347Amt + AmtSameVATRegNo;
    
    // Delete the following line.
    IF SalesAmt >= MinAmount THEN BEGIN
    
    IF PostCode347 = ' ' THEN
    

    Erstatningskode 4

    SalesAmt := SalesAmt + NotIn347Amt + AmtSameVATRegNo;
    
    // Add the following line.
    IF ABS(SalesAmt) >= MinAmount THEN BEGIN
    
    IF PostCode347 = ' ' THEN
    
  3. Skift koden i Dataelementnummer 5 på følgende måde:
    Eksisterende kode

    NotIn347Amt := 0;
    

    Erstatningskode

    NotIn347Amt := 0;
    
    // Add the following line.
    VendorMaxAmount := 0;
    
  4. Skift koden i Dataelementnummer 6 på følgende måde:
    Eksisterende kode 1

    // Delete the following lines.
    VATEntry.RESET;
    VATEntry.SETCURRENTKEY(Type,"Posting Date","Document Type","Document No.","Bill-to/Pay-to No.");
    VATEntry.SETRANGE(Type,VATEntry.Type::Purchase);
    VATEntry.SETRANGE("Document No.","Document No.");
    VATEntry.SETRANGE("Document Date","Document Date");
    VATEntry.SETRANGE("Document Type","Document Type");
    VATEntry.SETRANGE("Country/Region Code",CountryCode);
    // End of the deleted lines.
    

    Erstatningskode 1

    // Add the following line.
    FilterVATEntry(VATEntry,"Document Date","Document Type","Document No.",FALSE);
    

    Eksisterende kode 2

    "Document Type"::Invoice:
    
    // Delete the following lines.
    BEGIN
    PurchInvHeader.RESET;
    IF PurchInvHeader.GET("Document No.") THEN BEGIN
    IF PurchInvHeader."Order Address Code" <> '' THEN BEGIN
    OrderAddress.GET("Vendor No.",PurchInvHeader."Order Address Code");
    IF OrderAddress."Country/Region Code" <> CountryCode THEN
    CurrReport.SKIP;
    END;
    PurchInvLine.RESET;
    PurchInvLine.SETRANGE("Document No.","Document No.");
    IF PurchInvLine.FINDSET THEN
    REPEAT
    IF PurchInvLine."VAT Calculation Type" = PurchInvLine."VAT Calculation Type"::"No Taxable VAT" THEN
    NoTaxVATFound := TRUE;
    UNTIL PurchInvLine.NEXT = 0;
    END ELSE BEGIN
    IF Vendor."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    END;
    "Document Type"::"Credit Memo":
    BEGIN
    PurchCrMemoHeader.RESET;
    IF PurchCrMemoHeader.GET("Document No.") THEN BEGIN
    IF PurchCrMemoHeader."Order Address Code" <> '' THEN BEGIN
    OrderAddress.GET("Vendor No.",PurchCrMemoHeader."Order Address Code");
    IF OrderAddress."Country/Region Code" <> CountryCode THEN
    CurrReport.SKIP;
    END;
    PurchCrMemoLine.RESET;
    PurchCrMemoLine.SETRANGE("Document No.","Document No.");
    IF PurchCrMemoLine.FINDSET THEN
    REPEAT
    IF PurchCrMemoLine."VAT Calculation Type" = PurchCrMemoLine."VAT Calculation Type"::"No Taxable VAT" THEN
    NoTaxVATFound := TRUE;
    UNTIL PurchCrMemoLine.NEXT = 0;
    END ELSE BEGIN
    IF Vendor."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    END;
    // End of the deleted lines.
    
    END;
    

    Erstatningskode 2

    "Document Type"::Invoice:
    
    // Add the following lines.
    CheckVendDocTypeInvoice(PurchInvHeader,"Vendor Ledger Entry",Vendor);
    "Document Type"::"Credit Memo":
    CheckVendDocTypeCrMemo(PurchCrMemoHeader,"Vendor Ledger Entry",Vendor);
    // End of the added lines.
    
    END;
    

    Eksisterende kode 3

    PurchasesAmt := PurchasesAmt - "Amount (LCY)";
    UpdateQuarterAmount(AmountType::Purchase,-"Amount (LCY)","Document Date");
    

    Erstatningskode 3

    PurchasesAmt := PurchasesAmt - "Amount (LCY)";
    
    // Add the following line.
    VendorMaxAmount := PurchasesAmt;
    
    UpdateQuarterAmount(AmountType::Purchase,-"Amount (LCY)","Document Date");
    

    Eksisterende kode 4

    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Delete the following lines.
    PurchasesAmt := PurchasesAmt - NotIn347Amt + AmtSameVATRegNo;
    IF PurchasesAmt >= MinAmount THEN BEGIN
    // End of the deleted lines.
    
    IF PostCode347 = ' ' THEN
    

    Erstatningskode 4

    TotalNotIn347Amt := TotalNotIn347Amt + NotIn347Amt + AmtSameVATRegNo;
    
    // Add the following lines.
    PurchasesAmt := PurchasesAmt - NotIn347Amt + AmtSameVATRegNo; 
    IF ABS(PurchasesAmt) >= MinAmount THEN BEGIN
    // End of the added lines.
    
    IF PostCode347 = ' ' THEN
    
  5. Skift koden i globale variabler på følgende måde:
    Eksisterende kode

    Text1100032@1100040 : TextConst 'ENU=The process has been aborted. No file will be generated.;ESP=El proceso se ha cancelado. No se crear ning£n archivo.';
    

    Erstatningskode

    Text1100032@1100040 : TextConst 'ENU=The process has been aborted. No file will be generated.;ESP=El proceso se ha cancelado. No se crear ning£n archivo.';
    
    // Add the following lines.
    VendorMaxAmount@1100097 : Decimal;
    CustomerMaxAmount@1100098 : Decimal;
    // End of the added lines.
    
  6. Skift koden i funktionen CheckSameVATRegNo på følgende måde:
    Eksisterende kode

    VAR
    
    // Delete the following lines.
    VATEntry3@1100000 : Record 254;
    GLEntry@1100002 : Record 17;
    GLAccount@1100003 : Record 15;
    TempVATEntry@1100004 : TEMPORARY Record 254;
    BEGIN
    VATEntry3.SETCURRENTKEY(Type,"Country/Region Code","VAT Registration No.");
    VATEntry3.SETRANGE("Country/Region Code",CountryCode);
    IF IsCustomer THEN BEGIN
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Sale);
    VATEntry3.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Customer."No.");
    END ELSE BEGIN
    VATEntry3.SETRANGE(Type,VATEntry3.Type::Purchase);
    VATEntry3.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    VATEntry3.SETFILTER("Bill-to/Pay-to No.",'<>%1',Vendor."No.");
    END;
    VATEntry3.SETRANGE("Document Date",FromDate,ToDate);
    IF VATEntry3.FINDFIRST THEN
    REPEAT
    IF IsCustomer THEN
    Amt := Amt - VATEntry3.Base - VATEntry3.Amount
    ELSE
    Amt := Amt + VATEntry3.Base + VATEntry3.Amount;
    UpdateQuarterAmount(AmountType::Sales,ABS(VATEntry3.Base) + ABS(VATEntry3.Amount),VATEntry3."Document Date");
    TempVATEntry.SETRANGE("Transaction No.",VATEntry3."Transaction No.");
    IF NOT TempVATEntry.FINDFIRST THEN BEGIN
    GLEntry.SETRANGE("Transaction No.",VATEntry3."Transaction No.");
    IF GLEntry.FINDSET THEN
    REPEAT
    UpdateNotIn347Amount(GLEntry);
    UNTIL GLEntry.NEXT = 0;
    TempVATEntry := VATEntry3;
    TempVATEntry.INSERT;
    END;
    UNTIL VATEntry3.NEXT = 0;
    // End of the deleted lines.
    
    EXIT(Amt);
    

    Erstatningskode

    VAR
    
    // Add the following lines.
    VATEntry3@1100002 : Record 254;
    GLEntry@1100003 : Record 17;
    Customer2@110000022 : Record 18;
    CustLedgEntry@1100007 : Record 21;
    SalesInvHeader@1100008 : Record 112;
    SalesCrMemoHeader@1100011 : Record 114;
    Vendor2@1100013 : Record 23;
    VendorLedgerEntry@1100014 : Record 25;
    PurchInvHeader@1100015 : Record 122;
    OrderAdress@1100017 : Record 224;
    PurchCrMemoHeader@1100018 : Record 124;
    VendorAmount@1100020 : Decimal;
    CustomerAmount@1100021 : Decimal;
    BEGIN
    IF IsCustomer THEN BEGIN
    Customer2.SETCURRENTKEY("VAT Registration No.");
    Customer2.SETFILTER("No.",'<>%1',Customer."No.");
    Customer2.SETRANGE("VAT Registration No.",Customer."VAT Registration No.");
    IF Customer2.FINDFIRST THEN
    REPEAT
    CustomerAmount := 0;
    CustLedgEntry.SETCURRENTKEY("Customer No.","Document Type");
    CustLedgEntry.SETRANGE("Customer No.", Customer2."No.");
    CustLedgEntry.SETRANGE("Document Date",FromDate,ToDate);
    CustLedgEntry.SETRANGE("Document Type",CustLedgEntry."Document Type"::Invoice,CustLedgEntry."Document Type"::"Credit Memo");
    IF CustLedgEntry.FINDFIRST THEN
    REPEAT
    FilterVATEntry(VATEntry3,CustLedgEntry."Document Date",CustLedgEntry."Document Type",
    CustLedgEntry."Document No.",IsCustomer);
    IF NOT VATEntry3.FINDFIRST THEN BEGIN
    CASE CustLedgEntry."Document Type" OF
    CustLedgEntry."Document Type"::Invoice:
    CheckCustDocTypeInvoice(SalesInvHeader,CustLedgEntry,Customer2);
    CustLedgEntry."Document Type"::"Credit Memo" :
    CheckCustDocTypeCrMemo(SalesCrMemoHeader,CustLedgEntry,Customer2);
    END;
    END ELSE
    CheckVatEntryNotIn347(VATEntry3,GLEntry);
    IF (VATEntry3."VAT Registration No." <> '') OR NoTaxVATFound OR FromJournal THEN BEGIN
    CustLedgEntry.CALCFIELDS(CustLedgEntry."Amount (LCY)");
    Amt := Amt + CustLedgEntry."Amount (LCY)";
    CustomerAmount := CustomerAmount + CustLedgEntry."Amount (LCY)";
    UpdateQuarterAmount(AmountType::SameVATNo,CustLedgEntry."Amount (LCY)",CustLedgEntry."Posting Date");
    END;
    UNTIL CustLedgEntry.NEXT = 0;
    IF CustomerMaxAmount < CustomerAmount THEN BEGIN
    CustomerMaxAmount := CustomerAmount;
    Name347 := Customer2.Name;
    END;
    UNTIL Customer2.NEXT = 0;
    Name347 := PADSTR(FormatTextName(Name347),40,' ');
    END ELSE BEGIN
    Vendor2.SETCURRENTKEY("VAT Registration No.");
    Vendor2.SETFILTER("No.",'<>%1',Vendor."No.");
    Vendor2.SETRANGE("VAT Registration No.",Vendor."VAT Registration No.");
    IF Vendor2.FINDFIRST THEN
    REPEAT
    VendorAmount := 0;
    VendorLedgerEntry.SETCURRENTKEY("Vendor No.","Document Type");
    VendorLedgerEntry.SETRANGE("Vendor No.", Vendor2."No.");
    VendorLedgerEntry.SETRANGE("Document Date",FromDate,ToDate);
    VendorLedgerEntry.SETRANGE("Document Type",VendorLedgerEntry."Document Type"::Invoice,
    VendorLedgerEntry."Document Type"::"Credit Memo");
    IF VendorLedgerEntry.FINDFIRST THEN
    REPEAT
    FilterVATEntry(VATEntry3,VendorLedgerEntry."Document Date",VendorLedgerEntry."Document Type",
    VendorLedgerEntry."Document No.",IsCustomer);
    IF NOT VATEntry3.FINDFIRST THEN BEGIN
    CASE VendorLedgerEntry."Document Type" OF
    VendorLedgerEntry."Document Type"::Invoice:
    CheckVendDocTypeInvoice(PurchInvHeader,VendorLedgerEntry,Vendor2);
    VendorLedgerEntry."Document Type"::"Credit Memo":
    CheckVendDocTypeCrMemo(PurchCrMemoHeader,VendorLedgerEntry,Vendor2);
    END;
    END ELSE
    CheckVatEntryNotIn347(VATEntry3,GLEntry);
    IF (VATEntry3."VAT Registration No." <> '') OR NoTaxVATFound OR FromJournal THEN BEGIN
    VendorLedgerEntry.CALCFIELDS(VendorLedgerEntry."Amount (LCY)");
    Amt := Amt - VendorLedgerEntry."Amount (LCY)";
    VendorAmount := VendorAmount - VendorLedgerEntry."Amount (LCY)";
    UpdateQuarterAmount(AmountType::SameVATNo,-VendorLedgerEntry."Amount (LCY)",VendorLedgerEntry."Posting Date");
    END;
    UNTIL VendorLedgerEntry.NEXT = 0;
    IF VendorMaxAmount < VendorAmount THEN BEGIN
    VendorMaxAmount := VendorAmount;
    Name347 := Vendor2.Name;
    END;
    UNTIL Vendor2.NEXT = 0;
    Name347 := PADSTR(FormatTextName(Name347),40,' ');
    END;
    
    // End of the added lines.
    
    EXIT(Amt);
    
  7. Skift koden i funktionen IdentifyCashPayments på følgende måde:
    Eksisterende kode

    THEN BEGIN
    
    // Delete the following lines.
    IF IsCashAccount(CustLedgerEntry."Bal. Account No.") THEN BEGIN
    CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);
    END;
    END ELSE IF ((CustLedgerEntry."Bal. Account No." = '') OR
    (CustLedgerEntry."Bal. Account Type" <> CustLedgerEntry."Bal. Account Type"::"G/L Account"))
    THEN BEGIN
    IF IdentifyCashPaymentsFromGL(CustLedgerEntry) THEN
    CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);
    // End of the deleted lines.
    
    END;
    

    Erstatningskode

    THEN BEGIN
    
    // Add the following lines.
    IF IsCashAccount(CustLedgerEntry."Bal. Account No.") THEN
    CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);
    END ELSE
    IF ((CustLedgerEntry."Bal. Account No." = '') OR
    (CustLedgerEntry."Bal. Account Type" <> CustLedgerEntry."Bal. Account Type"::"G/L Account"))
    THEN BEGIN
    IF IdentifyCashPaymentsFromGL(CustLedgerEntry) THEN
    CreateCashTotals(CustLedgerEntry."Entry No.",VATRegistrationNo);
    // End of the added lines.
    
    END;
    
  8. Skift koden i funktionen CheckVatEntryNotIn347 på følgende måde:
    Eksisterende kode

    BEGIN
    

    Erstatningskode

    // Add the following lines.
    LOCAL PROCEDURE CheckVatEntryNotIn347@1100098(VATEntry@1100000 : Record 254;GLEntry@1100001 : Record 17);
    VAR
    TempVATEntry@1100002 : Record 254;
    BEGIN
    REPEAT
    TempVATEntry.SETRANGE("Transaction No.",VATEntry."Transaction No.");
    IF NOT TempVATEntry.FINDFIRST THEN BEGIN
    GLEntry.SETRANGE("Transaction No.",VATEntry."Transaction No.");
    IF GLEntry.FINDSET THEN
    REPEAT
    UpdateNotIn347Amount(GLEntry);
    UNTIL GLEntry.NEXT = 0;
    TempVATEntry := VATEntry;
    TempVATEntry.INSERT;
    END;
    UNTIL VATEntry.NEXT = 0;
    END;
    
    LOCAL PROCEDURE FilterVATEntry@1100099(VAR VATEntry@1100000 : Record 254;DocumentDate@1100001 : Date;DocumentType@1100002 : Integer;DocumentNo@1100003 : Code[20];IsCustomer@1100004 : Boolean);
    BEGIN
    VATEntry.RESET;
    IF IsCustomer THEN
    VATEntry.SETRANGE(Type,VATEntry.Type::Sale)
    ELSE
    VATEntry.SETRANGE(Type,VATEntry.Type::Purchase);
    VATEntry.SETRANGE("Document Date",DocumentDate);
    VATEntry.SETRANGE("Document Type",DocumentType);
    VATEntry.SETRANGE("Document No.",DocumentNo);
    VATEntry.SETRANGE("Country/Region Code",CountryCode);
    END;
    
    LOCAL PROCEDURE CheckCustDocTypeInvoice@1100101(SalesInvHeader@1100000 : Record 112;CustLedgEntry@1100001 : Record 21;Customer@1100002 : Record 18);
    VAR
    SalesInvLine@1100003 : Record 113;
    BEGIN
    SalesInvHeader.RESET;
    IF SalesInvHeader.GET(CustLedgEntry."Document No.") THEN BEGIN
    IF SalesInvHeader."Ship-to Code" <> '' THEN
    IF SalesInvHeader."Ship-to Country/Region Code" = CountryCode THEN BEGIN
    SalesInvLine.RESET;
    SalesInvLine.SETRANGE("Document No.",CustLedgEntry."Document No.");
    IF SalesInvLine.FINDSET THEN
    REPEAT
    IF (SalesInvLine."VAT Calculation Type" = SalesInvLine."VAT Calculation Type"::"No Taxable VAT") AND
    (Customer."Country/Region Code" = CountryCode) THEN
    NoTaxVATFound := TRUE;
    UNTIL SalesInvLine.NEXT = 0;
    END;
    END;
    IF Customer."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    
    PROCEDURE CheckCustDocTypeCrMemo@1100102(SalesCrMemoHeader@1100000 : Record 114;CustLedgEntry@1100001 : Record 21;Customer@1100002 : Record 18);
    VAR
    SalesCrMemoLine@1100003 : Record 115;
    BEGIN
    SalesCrMemoHeader.RESET;
    IF SalesCrMemoHeader.GET(CustLedgEntry."Document No.") THEN BEGIN
    IF SalesCrMemoHeader."Ship-to Code" <> '' THEN
    IF SalesCrMemoHeader."Ship-to Country/Region Code" = CountryCode THEN BEGIN
    SalesCrMemoLine.RESET;
    SalesCrMemoLine.SETRANGE("Document No.",CustLedgEntry."Document No.");
    IF SalesCrMemoLine.FINDSET THEN
    REPEAT
    IF (SalesCrMemoLine."VAT Calculation Type" = SalesCrMemoLine."VAT Calculation Type"::"No Taxable VAT") AND
    (Customer."Country/Region Code" = CountryCode) THEN
    NoTaxVATFound := TRUE;
    UNTIL SalesCrMemoLine.NEXT = 0;
    END;
    END;
    IF Customer."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    
    PROCEDURE CheckVendDocTypeInvoice@1100103(PurchInvHeader@1100000 : Record 122;VendorLedgerEntry@1100001 : Record 25;Vendor@1100002 : Record 23);
    VAR
    PurchInvLine@1100003 : Record 123;
    BEGIN
    PurchInvHeader.RESET;
    IF PurchInvHeader.GET(VendorLedgerEntry."Document No.") THEN BEGIN
    IF PurchInvHeader."Ship-to Code" <> '' THEN
    IF PurchInvHeader."Ship-to Country/Region Code" = CountryCode THEN BEGIN
    PurchInvLine.RESET;
    PurchInvLine.SETRANGE("Document No.",VendorLedgerEntry."Document No.");
    IF PurchInvLine.FINDSET THEN
    REPEAT
    IF (PurchInvLine."VAT Calculation Type" = PurchInvLine."VAT Calculation Type"::"No Taxable VAT") AND
    (Vendor."Country/Region Code" = CountryCode) THEN
    NoTaxVATFound := TRUE;
    UNTIL PurchInvLine.NEXT = 0;
    END;
    END;
    IF Vendor."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    
    PROCEDURE CheckVendDocTypeCrMemo@1100104(PurchCrMemoHeader@1100000 : Record 124;VendorLedgerEntry@1100001 : Record 25;Vendor@1100002 : Record 23);
    VAR
    PurchCrMemoLine@1100003 : Record 125;
    BEGIN
    PurchCrMemoHeader.RESET;
    IF PurchCrMemoHeader.GET(VendorLedgerEntry."Document No.") THEN BEGIN
    IF PurchCrMemoHeader."Ship-to Code" <> '' THEN
    IF PurchCrMemoHeader."Ship-to Country/Region Code" = CountryCode THEN BEGIN
    PurchCrMemoLine.RESET;
    PurchCrMemoLine.SETRANGE("Document No.",VendorLedgerEntry."Document No.");
    IF PurchCrMemoLine.FINDSET THEN
    REPEAT
    IF (PurchCrMemoLine."VAT Calculation Type" = PurchCrMemoLine."VAT Calculation Type"::"No Taxable VAT") AND
    (Vendor."Country/Region Code" = CountryCode) THEN
    NoTaxVATFound := TRUE;
    UNTIL PurchCrMemoLine.NEXT = 0;
    END;
    END;
    IF Vendor."Country/Region Code" = CountryCode THEN
    FromJournal := TRUE;
    END;
    
    // End of the added lines.
    
    BEGIN
    

Forudsætninger

Du skal have et af følgende produkter installeret for at anvende dette hotfix:

  • Den spanske version af Microsoft Dynamics NAV 2009 R2
  • Den spanske version af Microsoft Dynamics NAV 2009 Service Pack 1
  • Den spanske version af Microsoft Dynamics NAV 5.0 Service Pack 1

Oplysninger om fjernelse

Du kan ikke fjerne dette hotfix.

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Bemærk! Dette er en "FAST PUBLISH"-artikel, der er oprettet direkte fra Microsoft-supportorganisationen. Oplysningerne heri leveres, som de er som svar på nye problemer. Som følge af den hastighed, der er ved at stille den til rådighed, kan materialerne indeholde typografiske fejl og kan til enhver tid revideres uden varsel. Se Vilkår for anvendelse for andre overvejelser.