Tento článek se týká aplikace Microsoft Dynamics NAV pro španělštinu (es) jazykové národní prostředí.
Příznaky
Předpokládejme, že je ve španělské verzi Microsoft Dynamics NAV v dialogovém okně Nastavení DPH zaškrtnuto políčko Služba EU Service. Při vygenerování souboru deklarace 349 není hodnota v exportovaného souboru správná.
K tomuto problému dochází v následujících produktech:
-
Španělskou verzi Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Španělskou verzi Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Řešení
Informace o opravě hotfix
Od Microsoftu je teď podporovaná oprava hotfix. Má se ale jenom opravit problém popsaný v tomto článku. Použijte ho jenom u systémů, ve kterých se tento konkrétní problém týká. Tato oprava hotfix může dostávat další testování. Pokud vás tedy tento problém opravdu neovlivní, doporučujeme počkat na další aktualizaci Service Pack pro Microsoft Dynamics NAV 2009 nebo na další verzi systému Microsoft Dynamics NAV, která tuto opravu hotfix obsahuje.
Poznámka: Ve zvláštních případech mohou být obvykle účtovány poplatky za hovory podpory, pokud pracovník technické podpory pro Microsoft Dynamics a související produkty určí, že konkrétní aktualizace váš problém vyřeší. Další dotazy a žádosti o podporu, které se netýkají této zvláštní opravy, podléhají běžným sazbám za poskytnutí podpory.
Informace o instalaci
Microsoft nabízí příklady programování jenom pro ilustraci bez výslovné nebo předpokládané záruky. To zahrnuje (mimo jiné) předpokládané záruky prodejnosti nebo vhodnosti pro určitý účel. V tomto článku se předpokládá, že znáte programový jazyk, který předvedete, a nástroje, které slouží k vytváření a ladění postupů. Technnici podpory Microsoftu vám můžou pomoct vysvětlit funkčnost určitého postupu, nebudou ale tyto příklady upravovat, aby mohli poskytnout další funkce nebo vytvořit postupy, které splňují vaše konkrétní požadavky.
Poznámka: Před instalací této opravy hotfix ověřte, že všichni uživatelé klienta Microsoft Navision jsou odhlášení ze systému. Patří sem i uživatelé klientů služeb Microsoft Navision Application Services (NAS). Při implementaci této opravy hotfix byste měli být jediným uživatelem klienta, který je přihlášený.
K implementaci této opravy hotfix musíte mít vývojářské licence.
Doporučujeme, aby měl uživatelský účet v okně Přihlášení k Windows nebo v okně Přihlášení k databázi přiřazené ID role SUPER. Pokud uživatelskému účtu nelze přiřadit ID role SUPER, je nutné ověřit, že má uživatelský účet následující oprávnění:
-
Oprávnění ke změnám objektu, který chcete změnit
-
Oprávnění Spouštět pro objekt System Object ID 5210 a objekt System Object ID 9015.
Poznámka: Pokud není třeba provádět opravu dat, k úložiště dat nemáte práva.
Změny kódu
Poznámka: Než opravy pro produkční počítače použijete, vždy otestujte opravy kódu v řízeném prostředí.
Tento problém můžete vyřešit takto:
-
Kód v oddílech Číslo 5 položky dat v sestavě deklarace 349 (88) změňte takto:
Existující kód 1BEGIN
REPEAT
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Kód výměny 1
BEGIN
REPEAT
//Add the follwing lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Existující kód 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Kód výměny 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvSales."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Existující kód 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;Kód výměny 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;Existující kód 4
UNTIL VATInvSales.NEXT = 0;
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Kód výměny 4
UNTIL VATInvSales.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(VATInvSales.Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE(VATInvSales."Document Type",VATInvSales."Document Type"::Invoice);Existující kód 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSEKód výměny 5
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvSales.Base;
END ELSEExistující kód 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
UNTIL VATInvSales.NEXT = 0;
END;Kód výměny 6
END;
// NormalAmount := NormalAmount + VATInvSales.Base;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0;
END;Existující kód 7
END;
//Delete the following line.
VATInvSales.RESET;
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);Kód výměny 7
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvSales.RESET;
VATInvSales.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);Existující kód 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSEKód výměny 8
((VATInvSales."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvSales."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvSales.Base;
END ELSEExistující kód 9
END;
END;
UNTIL VATInvSales.NEXT = 0;Kód výměny 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvSales."Transaction No.";
UNTIL VATInvSales.NEXT = 0; -
Kód v oddílech Číslo 6 v sestavě deklarace 349 (88) změňte takto:
Existující kód 1BEGIN
REPEAT
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Kód výměny 1
BEGIN
REPEAT
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Existující kód 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Delete the following lines.
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Kód výměny 2
IF "VAT Registration No." <> '' THEN BEGIN
IF AmountToIncludein349 <> 0 THEN BEGIN
//Add the following lines.
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN BEGIN
OpTriang := 'X';
AmountOpTri := AmountOpTri + AmountToIncludein349;
END;
//End of the lines.
END ELSE BEGIN
OpTriang := 'X';Existující kód 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;Kód výměny 3
// OpTriang := 'X';
// AmountOpTri := AmountOpTri + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;Existující kód 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Kód výměny 4
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(VATInvPurch.Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE(VATInvPurch."Document Type",VATInvPurch."Document Type"::Invoice);Existující kód 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
NormalAmount := NormalAmount + AmountToIncludein349
ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSEKód výměny 5
((VATInvPurch."Country/Region Code" = CountryCode) AND LocationDiffCountryCode) THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
NormalAmount := NormalAmount + AmountToIncludein349;
END ELSE
//End of the lines.
NormalAmount := NormalAmount + VATInvPurch.Base;
END ELSEExistující kód 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
UNTIL VATInvPurch.NEXT = 0;
END;Kód výměny 6
END;
// NormalAmount := NormalAmount + VATInvPurch.Base;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0;
END;Existující kód 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Delete the following line.
VATInvPurch.RESET;
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);Kód výměny 7
UNTIL VATInvPurch.NEXT = 0;
END;
//Add the following lines.
LastTransactionNo := 0;
VATInvPurch.RESET;
VATInvPurch.SETCURRENTKEY("Transaction No.");
//End of the lines.
VATInvPurch.SETRANGE(Type,VATInvPurch.Type::Purchase);
VATInvPurch.SETRANGE("Document Type",VATInvPurch."Document Type"::Invoice);Existující kód 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Delete the following lines.
IF AmountToIncludein349 <> 0 THEN
AmountEUService := AmountEUService + AmountToIncludein349
ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSEKód výměny 8
THEN BEGIN
IF "VAT Registration No." <> '' THEN BEGIN
//Add the following lines.
IF AmountToIncludein349 <> 0 THEN BEGIN
IF VATInvPurch."Transaction No." <> LastTransactionNo THEN
AmountEUService := AmountEUService + AmountToIncludein349;
END ELSE
//End of the lines.
AmountEUService := AmountEUService + VATInvPurch.Base;
END ELSEExistující kód 9
END;
END;
UNTIL VATInvPurch.NEXT = 0;Kód výměny 9
END;
END;
//Add the following line.
LastTransactionNo := VATInvPurch."Transaction No.";
UNTIL VATInvPurch.NEXT = 0; -
Do sestavy deklarace 349 (88) přidejte novou globální proměnnou a pak zadejte proměnnou takto:
-
Název:LastTransactionNo@1100072
-
DataType: Integer
-
Požadavky
Pokud chcete použít tuto opravu hotfix, musíte mít nainstalovaný jeden z následujících produktů:
-
Španělskou verzi Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
-
Španělskou verzi Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
Pokud chcete použít tuto opravu hotfix, musíte mít nainstalovanou sestavu španělštiny 349.
Další informace najdete na tomto webu společnosti Microsoft: Zpráva španělštiny 349 (kromě toho musíte mít nainstalovaný balíček
DPH 2010, aby bylo možno použít
tuto opravu hotfix).
Další informace najdete na následujícím webu Microsoftu:
Podpora Microsoft Dynamics NAV pro DPH 2010
Informace o odebrání
Tuto opravu hotfix nelze odebrat.
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Poznámka: Toto je článek "FAST PUBLISH" vytvořený přímo z organizace podpory Microsoftu. Zde uvedené informace jsou poskytovány tak, jak jsou, jako reakce na nově vznikající potíže. Vzhledem k rychlosti, s jakou byl článek zpřístupněn, mohou příslušné materiály obsahovat typografické chyby a mohou být rovněž kdykoli bez předchozího upozornění revidovány. Další okolnosti viz Podmínky použití.