Objawy
Korekt faktur zapomniane w listy sprzedaży do UE nie są tworzone w prawidłowy sposób w niemieckiej wersji systemu Microsoft Dynamics NAV 2009. Władze podatkowe potwierdza, że na korekty raportu listy sprzedaży do UE, wszystkie rekordy tego typu rekordu 1 musi wskazywać wartość "11" dla korekty korekty w polu "Typ instrukcji". Ponadto w polu Typ rekordu 2 pole "Liczba rekordów rekordu typu 1", musi ona poprawna liczba rekordów. Ten problem występuje w następujących produktach:
-
Niemieckiej wersji systemu Microsoft Dynamics NAV 2009 R2
-
Niemieckiej wersji dodatku Service Pack 1 dla systemu Microsoft Dynamics NAV 2009
Rozwiązanie
Informacje o poprawce
Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak to jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następny dodatek service pack dla systemu Microsoft Dynamics NAV 2009 lub następną wersję systemu Microsoft Dynamics NAV, zawierający tę poprawkę.
Uwaga W wyjątkowych przypadkach opłaty, telefonujący do pomocy technicznej mogą zostać anulowane, jeśli pomocy technicznej dla systemu Microsoft Dynamics i produktów powiązanych Określa, że określonej aktualizacji, można rozwiązać swój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.Informacje dotyczące instalacji
Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. To obejmuje, ale nie jest ograniczona, ustawowej rękojmi co do przydatności handlowej lub przydatności do określonego celu. W tym artykule założono, że użytkownik zna demonstrowany język programowania oraz narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu, jak działa określona procedura. Nie będą jednak modyfikować tych przykładów ani dodawać funkcjonalności i konstruować procedur w celu zaspokojenia określonych potrzeb użytkownika.
Uwaga Przed zainstalowaniem tej poprawki należy zweryfikować, że wszyscy użytkownicy klienta systemu Microsoft Dynamics NAV są wylogowani systemu. Obejmuje to usług systemu Microsoft Dynamics NAV aplikacji serwera (NAS). Powinny być użytkownika klienta, który jest zalogowany w momencie wdrożyć tę poprawkę. Aby wdrożyć tę poprawkę, musi mieć licencję deweloperską. Firma Microsoft zaleca, aby do konta użytkownika w oknie identyfikatorów logowania systemu Windows lub w oknie identyfikatorów logowania bazy danych być przypisany identyfikator roli "SUPER". Jeśli konto użytkownika nie można przypisać Identyfikatora roli "SUPER", należy sprawdzić, czy konto użytkownika ma następujące uprawnienia:-
Uprawnienie Modyfikacja dla obiektu, który będzie zmieniany.
-
Uprawnienie Execute obiektu 5210 identyfikator obiektu systemu i 9015 identyfikator obiektu systemu
obiekt.
Uwaga Nie trzeba mieć prawa do magazynów danych, chyba że konieczne jest przeprowadzenie naprawy danych.
Zmiany kodu
Uwaga Zawsze test poprawki kodu w kontrolowanym środowisku przed zastosowaniem poprawki na komputerach produkcyjnych.
Aby rozwiązać ten problem, wykonaj następujące kroki:-
Zmień kod w funkcji FillCompanyInfo w tabeli Nagłówek raportu VAT (740) w następujący sposób:
Istniejący kod 1...PROCEDURE FillCompanyInfo@1140002();
VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9; // Delete the following lines. BEGIN CompanyInfo.GET; // End of the deleted lines. CompanyInfo.TESTFIELD("Country/Region Code"); CountryRegion.GET(CompanyInfo."Country/Region Code"); ...Kod zastępczy 1
...PROCEDURE FillCompanyInfo@1140002();
VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9; // Add the following lines. VATReportSetup@1140002 : Record 743; BEGIN CompanyInfo.GET; VATReportSetup.GET; // End of the added lines. CompanyInfo.TESTFIELD("Country/Region Code"); CountryRegion.GET(CompanyInfo."Country/Region Code");PROCEDURE FillCompanyInfo@1140002(); VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9; // Add the following lines. VATReportSetup@1140002 : Record 743; BEGIN CompanyInfo.GET; VATReportSetup.GET; // End of the added lines. CompanyInfo.TESTFIELD("Country/Region Code"); CountryRegion.GET(CompanyInfo."Country/Region Code"); ...Istniejący kod 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No."); // Delete the following lines. VALIDATE("Company Name",CompanyInfo.Name); VALIDATE("Company Address",CompanyInfo.Address); VALIDATE("Country/Region Name",CountryRegion.Name); VALIDATE(City,CompanyInfo.City); // End of the deleted lines. VALIDATE("Post Code",CompanyInfo."Post Code"); VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number"); END; ...Kod zastępczy 2
...CountryRegion.GET(CompanyInfo."Country/Region Code");
VALIDATE("VAT Registration No.",CompanyInfo."VAT Registration No."); // Add the following lines. VALIDATE("Company Name",GetCompanyName(CompanyInfo,VATReportSetup)); VALIDATE("Company Address",GetCompanyAddress(CompanyInfo,VATReportSetup)); VALIDATE("Country/Region Name",CountryRegion.Name); VALIDATE(City,GetCompanyCity(CompanyInfo,VATReportSetup)); // End of the added lines. VALIDATE("Post Code",CompanyInfo."Post Code"); VALIDATE("Tax Office ID",CompanyInfo."Tax Office Number"); END; ... -
Zmień kod w funkcji GetCompanyName w tabeli Nagłówek raportu VAT (740) w następujący sposób:
Istniejący kod...TESTFIELD(Status,Status::Submitted);
END; END; BEGIN END. } } ...Kod zastępczy
...TESTFIELD(Status,Status::Submitted);
END; END; // Add the following lines. LOCAL PROCEDURE GetCompanyName@1140004(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[100]; BEGIN IF VATReportSetup."Company Name" <> '' THEN EXIT(VATReportSetup."Company Name"); EXIT(CompanyInformation.Name); END; LOCAL PROCEDURE GetCompanyAddress@1140005(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30]; BEGIN IF VATReportSetup."Company Address" <> '' THEN EXIT(VATReportSetup."Company Address"); EXIT(CompanyInformation.Address); END; LOCAL PROCEDURE GetCompanyCity@1140006(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30]; BEGIN IF VATReportSetup."Company City" <> '' THEN EXIT(VATReportSetup."Company City"); EXIT(CompanyInformation.City); END; // End of the added lines. BEGIN END. } } ... -
Zmień kod w polach tabeli Ustawienia raportu VAT (743) w następujący sposób:
Istniejący kod...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] } { 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren; ENU=Export Cancellation Lines] } } KEYS { { ;Primary key ;Clustered=Yes } ...Kod zastępczy
...{ 11004; ;Registration ID ;Text6 ;CaptionML=[DEU=Registrierungs-ID;
ENU=Registration ID] } { 11005; ;Export Cancellation Lines;Boolean ;CaptionML=[DEU=Stornozeilen exportieren; ENU=Export Cancellation Lines] } // Add the following lines. { 11006; ;Company Name ;Text100 } { 11007; ;Company Address ;Text30 } { 11008; ;Company City ;Text30 } // End of the added lines. } KEYS { { ;Primary key ;Clustered=Yes } ... -
Zmień kod w oknie właściwości w formularzu Ustawienia raportu VAT (743) w następujący sposób:
Istniejący kod...}
PROPERTIES { Width=11990; // Delete the following line. Height=6490; // End of the deleted line. CaptionML=[DEU=MwSt.-Berichtseinrichtung; ENU=VAT Report Setup]; InsertAllowed=No; DeleteAllowed=No; ...Kod zastępczy
...}
PROPERTIES { Width=11990; // Add the following line. Height=8690; // End of the added line. CaptionML=[DEU=MwSt.-Berichtseinrichtung; ENU=VAT Report Setup]; InsertAllowed=No; DeleteAllowed=No; ... -
Zmień kod w formantach w formularzu Ustawienia raportu VAT (743) w następujący sposób:
Istniejący kod 1...}
CONTROLS { // Delete the following line. { 1 ;TabControl ;220 ;220 ;11550;5280 ;HorzGlue=Both; // End of the deleted line. VertGlue=Both; PageNamesML=[DEU=Allgemein,Nummerierung; ENU=General,Numbering] } { 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1; ...Kod zastępczy 1
...}
CONTROLS { // Add the following line. { 1 ;TabControl ;220 ;220 ;11550;7480 ;HorzGlue=Both; // End of the added line. VertGlue=Both; PageNamesML=[DEU=Allgemein,Nummerierung; ENU=General,Numbering] } { 4 ;CheckBox ;3850 ;990 ;440 ;440 ;ParentControl=1; ...Istniejący kod 2
...InPage=0;
ShowCaption=No; SourceExpr="Export Cancellation Lines" } { 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 } { 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1; InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } ...Kod zastępczy 2
...InPage=0;
ShowCaption=No; SourceExpr="Export Cancellation Lines" } { 1140013;Label ;440 ;4840 ;3300 ;440 ;ParentControl=1140012 } // Add the following lines. { 1140015;TextBox ;3850 ;5390 ;2750 ;440 ;Name=Company Name; ParentControl=1; InPage=0; SourceExpr="Company Name" } { 1140014;Label ;440 ;5390 ;3300 ;440 ;ParentControl=1140015 } { 1140017;TextBox ;3850 ;5940 ;2750 ;440 ;ParentControl=1; InPage=0; SourceExpr="Company Address" } { 1140016;Label ;440 ;5940 ;3300 ;440 ;ParentControl=1140017 } { 1140019;TextBox ;3850 ;6490 ;2750 ;440 ;ParentControl=1; InPage=0; SourceExpr="Company City" } { 1140018;Label ;440 ;6490 ;3300 ;440 ;ParentControl=1140019 } // End of the added lines. { 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1; InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } ...Istniejący kod 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } // Delete the following line. { 6 ;CommandButton;9570 ;5720 ;2200 ;550 ;HorzGlue=Right; // End of the deleted line. VertGlue=Bottom; PushAction=FormHelp } } CODE ...Kod zastępczy 3
...{ 7 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=1;
InPage=1; SourceExpr="No. Series" } { 8 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=7 } // Add the following line. { 6 ;CommandButton;9570 ;7920 ;2200 ;550 ;HorzGlue=Right; // End of the added line. VertGlue=Bottom; PushAction=FormHelp } } CODE ... -
Zmień kod w funkcji MakeLineRecord w VIES raportu raporcie eksportu (11008) w następujący sposób:
Istniejący kod 1...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741); BEGIN TempDataExportBuffer."Entry No." := NextLineNo; TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + ...Kod zastępczy 1
...END;
PROCEDURE MakeLineRecord@1140004(VATReportHeader@1140001 : Record 740;VATReportLine@1140000 : Record 741); BEGIN // Add the following lines. IF (VATReportLine.Base = 0) AND (VATReportLine."Line Type" <> VATReportLine."Line Type"::Correction) THEN EXIT; // End of the added lines. TempDataExportBuffer."Entry No." := NextLineNo; TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + ...Istniejący kod 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + // Delete the following line. GetReportType(VATReportLine) + // End of the deleted line. GetReportPeriod(VATReportHeader) + PADSTR(VATReportLine.GetVATRegNo,14) + FormatBaseForExport(VATReportLine,12) + GetTurnoverType(VATReportLine) + ...Kod zastępczy 2
...TempDataExportBuffer."Entry No." := NextLineNo;
TempDataExportBuffer."Field Value" := GetRecordType('1') + PADSTR(VATReportHeader."VAT Registration No.",11) + // Add the following line. GetReportType(VATReportLine,VATReportHeader) + // End of the added line. GetReportPeriod(VATReportHeader) + PADSTR(VATReportLine.GetVATRegNo,14) + FormatBaseForExport(VATReportLine,12) + GetTurnoverType(VATReportLine) + ... -
Zmień kod w funkcji MakeTotalRecord w VIES raportu raporcie eksportu (11008) w następujący sposób:
Istniejący kod...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) + GetReportPeriod(VATReportHeader) + FormatAmountForExport(VATReportHeader."Total Base",14) + // Delete the following line. FormatAmountForExport(VATReportHeader."Total Number of Lines",5) + // End of the deleted line. PADSTR('',85); TempDataExportBuffer.INSERT; NextLineNo := NextLineNo + 1; END; ...Kod zastępczy
...GetRecordType('2') +
PADSTR(VATReportHeader."VAT Registration No.",11) + GetReportPeriod(VATReportHeader) + FormatAmountForExport(VATReportHeader."Total Base",14) + // Add the following lines. FormatAmountForExport( VATReportHeader."Total Number of Lines" - GetZeroBaseNewLineCount(VATReportHeader."No.") + GetExportCancellationLineCount(VATReportHeader."No."),5) + // End of the added lines. PADSTR('',85); TempDataExportBuffer.INSERT; NextLineNo := NextLineNo + 1; END; ... -
Zmień kod w funkcji GetReportType w VIES raportu raporcie eksportu (11008) w następujący sposób:
Istniejący kod...BEGIN
EXIT(RecordType); END; // Delete the following lines. PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741) : Text[2]; BEGIN // End of the deleted lines. CASE VATReportLine."Line Type" OF VATReportLine."Line Type"::New: EXIT('10'); VATReportLine."Line Type"::Cancellation, ...Kod zastępczy
... BEGIN
EXIT(RecordType); END; // Add the following lines. PROCEDURE GetReportType@1140007(VATReportLine@1140000 : Record 741;VATReportHeader@1140001 : Record 740) : Text[2]; BEGIN IF VATReportHeader."VAT Report Type" = VATReportHeader."VAT Report Type"::Corrective THEN EXIT('11'); // End of the added lines. CASE VATReportLine."Line Type" OF VATReportLine."Line Type"::New: EXIT('10'); VATReportLine."Line Type"::Cancellation, ... -
Zmień kod w funkcji GetZeroBaseNewLineCount w VIES raportu raporcie eksportu (11008) w następujący sposób:
Istniejący kod...EXIT('p');
END; PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8]; BEGIN EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>')); END; ...Kod zastępczy
...EXIT('p');
END; // Add the following lines. LOCAL PROCEDURE GetZeroBaseNewLineCount@1140020(ReportNo@1140001 : Code[20]) : Integer; VAR VATReportLine@1140000 : Record 741; BEGIN WITH VATReportLine DO BEGIN SETRANGE("VAT Report No.",ReportNo); SETRANGE(Base,0); SETFILTER("Line Type",'<>%1',"Line Type"::Correction); EXIT(COUNT); END; END; LOCAL PROCEDURE GetExportCancellationLineCount@1140021(ReportNo@1140001 : Code[20]) : Integer; VAR VATReportLine@1140000 : Record 741; BEGIN IF NOT VATReportSetup."Export Cancellation Lines" THEN EXIT(0); WITH VATReportLine DO BEGIN SETRANGE("VAT Report No.",ReportNo); SETRANGE("Line Type","Line Type"::Cancellation); EXIT(COUNT); END; END; // End of the added lines. PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8]; BEGIN EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>')); END; ...
Wymagania wstępne
Musi mieć jedną z następujących produktów, w celu zastosowania tej poprawki:
-
Niemieckiej wersji systemu Microsoft Dynamics NAV 2009 R2
-
W niemieckiej wersji dodatku SP1 dla programu Microsoft Dynamics NAV 2009
Informacje dotyczące usuwania
Nie można usunąć tej poprawki.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.
743 strony powinny zostać uaktualnione za pomocą narzędzia Przekształcenie, z zmodyfikowanego 743 formularza."nie wszystkie znaki wybranego pliku odpowiada kodowi wykrytych" Błąd w niemieckiej wersji systemu Microsoft Dynamics NAV 2009 , aby uzyskać więcej informacji. Zobacz artykuł kwoty wynoszą Zero, są zgłaszane w oryginalnej listy sprzedaży do UE w niemieckiej wersji dodatku SP1 dla programu Microsoft Dynamics NAV 2009 , aby uzyskać więcej informacji.
Zobacz artykułUwaga Jest to artykuł " szybkiej publikacji" tworzony bezpośrednio przez organizację pomocy technicznej firmy Microsoft. Informacje zawarte w niniejszym dokumencie są dostarczane jako odpowiedź na pojawiające się problemy. W wyniku przyspieszonego udostępnienia, materiały te mogą zawierać błędy typograficzne i mogą być zmieniane w dowolnym czasie bez uprzedzenia. Zobacz Warunki użytkowaniadla innych względów.