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:
-
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 1BEGIN
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 ELSEKod 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 ELSEIstnieją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 ELSEKod 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 ELSEIstnieją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; -
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 1BEGIN
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 ELSEKod 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 ELSEIstnieją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 ELSEKod 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 ELSEIstnieją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; -
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.