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:
Skift koden i Dataelementnummer 2 på følgende måde:
Eksisterende kodeNotIn347Amt := 0;Erstatningskode
NotIn347Amt := 0; // Add the following line. CustomerMaxAmount := 0;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 = ' ' THENErstatningskode 4
SalesAmt := SalesAmt + NotIn347Amt + AmtSameVATRegNo; // Add the following line. IF ABS(SalesAmt) >= MinAmount THEN BEGIN IF PostCode347 = ' ' THENSkift koden i Dataelementnummer 5 på følgende måde:
Eksisterende kodeNotIn347Amt := 0;Erstatningskode
NotIn347Amt := 0; // Add the following line. VendorMaxAmount := 0;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 = ' ' THENErstatningskode 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 = ' ' THENSkift koden i globale variabler på følgende måde:
Eksisterende kodeText1100032@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.Skift koden i funktionen CheckSameVATRegNo på følgende måde:
Eksisterende kodeVAR // 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);Skift koden i funktionen IdentifyCashPayments på følgende måde:
Eksisterende kodeTHEN 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;Skift koden i funktionen CheckVatEntryNotIn347 på følgende måde:
Eksisterende kodeBEGINErstatningskode
// 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.