Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Ten artykuł dotyczy języka hiszpańskiego (es) w aplikacji Microsoft Dynamics NAV.

Symptomy

Załóżmy, że w oknie dialogowym Konfigurowanie publikowania podatku VAT w hiszpańskiej wersji przeglądarki Microsoft Dynamics NAV jest zaznaczone pole wyboru Usługa UE. Po wygenerowaniu pliku deklaracji 349 wartość w wyeksportowanym pliku jest nieprawidłowa.
Ten problem występuje w następujących produktach:

  • Wersja hiszpańskiej aplikacji Microsoft Dynamics NAV 2009 z dodatkiem Service Pack 1 (SP1)

  • Wersja hiszpańskiej aplikacji Microsoft Dynamics NAV 5.0 z dodatkiem Service Pack 1 (SP1)


Rozwiązanie

Informacje o poprawce

Obsługiwane poprawki są teraz dostępne od firmy Microsoft. Jednak celem jest tylko rozwiązanie problemu opisanego w tym artykule. Zastosuj ją tylko do systemów, w których występuje ten konkretny problem. Ta poprawka może zostać dodatkowo przetestowana. Dlatego, jeśli ten problem nie jest poważnie związany z tym problemem, zalecamy zaczekaj na kolejny dodatek Service Pack dla systemu Microsoft Dynamics NAV 2009 lub następną wersję nav systemu Microsoft Dynamics, która zawiera tę poprawkę.

Uwaga W specjalnych przypadkach opłaty, które zwykle są naliczane za połączenia z pomocą techniczną, mogą zostać anulowane, jeśli specjalista pomocy technicznej dla usługi Microsoft Dynamics i produktów pokrewnych ustali, że konkretną aktualizację rozwiąże problem. Normalne koszty pomocy technicznej będą dotyczyć dodatkowych pytań oraz problemów, których rozwiązanie nie jest objęte określoną aktualizacją.



Informacje o instalacji

Firma Microsoft udostępnia przykłady programowania wyłącznie na potrzeby ilustracji, bez gwarancji wyrażonej lub domniemanej. Obejmuje to między innymi dorozumianą gwarancję przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że znasz język programowania, który się pokazuje, oraz narzędzia służące do tworzenia i debugowania procedur. Inżynierowie pomocy technicznej firmy Microsoft mogą pomóc w objaśnieniach funkcji określonej procedury, ale nie zmodyfikują tych przykładów, aby udostępnić dodatkowe funkcje lub skonstruować procedury w celu spełnienia określonych wymagań.

Uwaga Przed zainstalowaniem tej poprawki upewnij się, że wszyscy użytkownicy klienta aplikacji Microsoft Navision są wylogowani z systemu. Dotyczy to również klientów usług microsoft Navision Application Services (NAS). Podczas wdrażania tej poprawki powinien być jedynym użytkownikiem klienta zalogowanym.

Aby zaimplementować tę poprawkę, musisz mieć licencję dewelopera.

Zalecamy, aby do konta użytkownika w oknie logowania systemu Windows lub w oknie Logowania bazy danych był przypisany identyfikator roli "SUPER". Jeśli nie można przypisać do konta użytkownika identyfikatora roli "SUPER", należy sprawdzić, czy konto użytkownika ma następujące uprawnienia:

  • Uprawnienie Modyfikuj dla obiektu, który będzie zmieniany.

  • Uprawnienie Wykonywanie dla obiektu Identyfikator obiektu systemowego 5210 i obiektu Identyfikator obiektu systemowego 9015.



Uwaga: nie musisz mieć praw do magazynów danych, chyba że musisz wykonać naprawę danych.

Zmiany kodu

Uwaga Zawsze testuj poprawki kodu w środowisku kontrolowanym przed zastosowaniem poprawek do komputerów produkcyjnych.
Aby rozwiązać ten problem, wykonaj następujące czynności:

  1. Kod w sekcji Numer elementu danych 5 w raporcie Make 349 Declaration (88) można zmienić w następujący sposób: Istniejący
    kod 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);

    Kod zastępczy 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);

    Istniejący kod 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';

    Kod zastępczy 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';

    Istniejący kod 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvSales.Base;
    UNTIL VATInvSales.NEXT = 0;
    END;

    Kod zastępczy 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvSales.Base;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
    END;

    Istniejący kod 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);

    Kod zastępczy 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);

    Istniejący kod 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

    Kod zastępczy 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

    Istniejący kod 6

                                          END;
    // NormalAmount := NormalAmount + VATInvSales.Base;
    UNTIL VATInvSales.NEXT = 0;
    END;

    Kod zastępczy 6

                                          END;
    // NormalAmount := NormalAmount + VATInvSales.Base;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
    END;

    Istniejący kod 7

                                      END;

    //Delete the following line.
    VATInvSales.RESET;

    VATInvSales.SETRANGE(Type,VATInvSales.Type::Sale);
    VATInvSales.SETRANGE("Document Type",VATInvSales."Document Type"::Invoice);

    Kod zastępczy 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);

    Istniejący kod 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

    Kod zastępczy 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

    Istniejący kod 9

                                            END;
    END;
    UNTIL VATInvSales.NEXT = 0;

    Kod zastępczy 9

                                            END;
    END;

    //Add the following line.
    LastTransactionNo := VATInvSales."Transaction No.";

    UNTIL VATInvSales.NEXT = 0;
  2. Kod w sekcjach numer 6 elementu danych w raporcie Make 349 Declaration (88) można zmienić w następujący sposób: Istniejący
    kod 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);

    Kod zastępczy 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);

    Istniejący kod 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';

    Kod zastępczy 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';

    Istniejący kod 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvPurch.Base;
    UNTIL VATInvPurch.NEXT = 0;
    END;

    Kod zastępczy 3

                                          // OpTriang := 'X';
    // AmountOpTri := AmountOpTri + VATInvPurch.Base;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Istniejący kod 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);

    Kod zastępczy 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);

    Istniejący kod 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

    Kod zastępczy 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

    Istniejący kod 6

                                          END;
    // NormalAmount := NormalAmount + VATInvPurch.Base;
    UNTIL VATInvPurch.NEXT = 0;
    END;

    Kod zastępczy 6

                                          END;
    // NormalAmount := NormalAmount + VATInvPurch.Base;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
    END;

    Istniejący kod 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);

    Kod zastępczy 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);

    Istniejący kod 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

    Kod zastępczy 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

    Istniejący kod 9

                                            END;
    END;
    UNTIL VATInvPurch.NEXT = 0;

    Kod zastępczy 9

                                            END;
    END;

    //Add the following line.
    LastTransactionNo := VATInvPurch."Transaction No.";

    UNTIL VATInvPurch.NEXT = 0;
  3. Dodaj nową zmienną globalną w raporcie Deklaracji make 349 (88), a następnie określ zmienną w następujący sposób:

    • Nazwa:LastTransactionNo@1100072

    • Typ_danych: Liczba całkowita

Wymagania wstępne

Aby zastosować to poprawkę, musisz mieć zainstalowany jeden z następujących produktów:

  • Wersja hiszpańskiej aplikacji Microsoft Dynamics NAV 2009 z dodatkiem Service Pack 1 (SP1)

  • Wersja hiszpańskiej aplikacji Microsoft Dynamics NAV 5.0 z dodatkiem Service Pack 1 (SP1)

Aby zastosować tę poprawkę, musisz mieć zainstalowany raport hiszpański 349.
Aby uzyskać więcej informacji, odwiedź następującą witrynę internetową firmy Microsoft: Raport hiszpański
349Dodatkowo, aby zastosować to poprawkę, musisz mieć zainstalowany pakiet
VAT 2010.
Aby uzyskać więcej informacji, odwiedź następującą witrynę internetową firmy
Microsoft: Pomoc techniczna aplikacji Microsoft Dynamics NAV dla podatku VAT 2010

Informacje o usuwaniu

Tej poprawki nie można usunąć.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Uwaga: jest to artykuł "SZYBKIE PUBLIKOWANIE" utworzony bezpośrednio w organizacji pomocy technicznej firmy Microsoft. Informacje w nim zawarte są udostępniane „takie, jakie są” jako reakcja na wyłaniające się problemy. W związku z bardzo szybkim udostępnianiem tej zawartości materiały mogą zawierać błędy typograficzne i mogą zostać w każdej chwili poprawione bez powiadomienia. Inne kwestie zostały omówione w warunkach korzystania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×