Zapomniane faktury korekty nie są tworzone poprawnie w niemieckiej wersji systemu Microsoft Dynamics NAV 2009

Szablon: CPR — szablon Fiacx kodu systemu Navision

Nr błędu: 213567 (Obsługa zawartości)

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.

Jeśli ta poprawka nie została ogłoszona do publicznego pobierania (tzn. publiczny adres URL tej poprawki nie jest podany w treści artykułu), dystrybucja wymaga akceptacji kierownika technicznego, starszego członka zespołu lub menedżera i stosuje się następujące informacje:

  • Aby otrzymać poprawkę, klient musi napotkać błąd, który jest wymieniony w sekcji "Symptomy".

  • Należy śledzić klientom wysyła się poprawkę i przesłać im następny dodatek service pack, kiedy będzie dostępny (Jeśli zostanie wydany dodatek service pack).

Ta poprawka zostanie uwzględniona zostanie uwzględniona w niemieckiej wersji systemu Microsoft Dynamics NAV 2013 z dodatkiem Service Pack.

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:

  1. 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;
    ...
  2. 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.
    }
    }
    ...
  3. 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 }
    ...
  4. 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;
    ...
  5. 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
    ...
  6. 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) +
    ...
  7. 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;
    ...
  8. 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,
    ...
  9. 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.
Zobacz artykuł "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.

Powiązane artykuły

VSFT DynamicsNAVSE: 352604

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.

Author: Vanessa.Garcia
Writer: v-luzo
Weryfikacja tech.: Vanessa.Garcia
Editor:

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×