Dotyczy
Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

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.