Částka v souboru deklarace 349 není správná, pokud je v dialogu Nastavení publikování DPH ve španělské verzi aplikace Microsoft Dynamics NAV zaškrtnuté políčko Služba EU

Microsoft 365 vám umožní pracovat odkudkoli a z libovolného zařízení

Upgradujte na Microsoft 365, ať můžete kdekoli používat nejnovější funkce a vylepšení.

Upgradovat hned

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:

  1. Kód v oddílech Číslo 5 položky dat v sestavě deklarace 349 (88) změňte takto:
    Existující kód 1

                                  BEGIN
    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 ELSE

    Kó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 ELSE

    Existují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 ELSE

    Kó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 ELSE

    Existují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;
  2. Kód v oddílech Číslo 6 v sestavě deklarace 349 (88) změňte takto:
    Existující kód 1

                                  BEGIN
    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 ELSE

    Kó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 ELSE

    Existují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 ELSE

    Kó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 ELSE

    Existují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;
  3. 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í.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×