狀況
遺忘的發票中歐盟銷售清單校正不會建立正確的方式,在德文版中的 [Microsoft 動態航行點 2009年。稅務機關確認,修正的歐盟銷售清單報表上的記錄類型 1 的所有記錄必須都顯示更正的調整值"11""陳述式的型別 」 欄位中。此外,在 [記錄類型 2"的資料錄的記錄筆數類型 1"欄位中,它必須顯示正確的記錄數目。下列產品中,就會發生這個問題︰
-
德文版中的 [Microsoft 動態航行點 2009 R2
-
德文版中的 [Microsoft 動態航行點 2009 Service Pack 1
解決方案
Hotfix 資訊
已經可以從 Microsoft 取得支援的 hotfix。不過,它只被用來修正本文所述的問題。它只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題不會嚴重影響,我們建議您等候下一步的 Microsoft 動態航行點 2009 service pack 或包含此 hotfix 的下一個 Microsoft 動態航行點版本。
注意 在特殊的情況下,通常會支援呼叫可能已被取消如果技術支援專業人員的 Microsoft 動態及相關的產品所產生的費用會決定某特定更新程式可以解決您的問題。收取支援費用會套用,如果有其他支援問題是,不能限定的特定更新程式。
安裝資訊
Microsoft 會提供程式設計範例僅供說明,而不做任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已相當熟悉使用的我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能。不過,它們不會修改這些範例以提供附加功能或建構程序來滿足您特定需求。
注意套用此 hotfix 之前,請確認所有的 Microsoft 動態航行點用戶端使用者會登出系統。這包括 Microsoft 動態航行點應用程式伺服器 (NAS) 服務。您應該是唯一的用戶端使用者已登入,當您實作此 hotfix。
若要實作此 hotfix,您必須有開發人員授權。
我們建議您在 Windows 登入] 視窗中的色彩,或資料庫登入] 視窗中的使用者帳戶被指派 「 進階 」 的角色識別碼。如果使用者帳戶不能指派為 「 超級 」 的角色識別碼,您必須確認使用者帳戶具有下列權限︰
-
您將會變更物件的 [修改] 權限。
-
執行權限的系統物件 ID 5210物件和系統物件 ID 9015
物件。
注意您沒有擁有資料存放區的權限,除非您需要執行資料修復。
程式碼變更
注意永遠測試程式碼修正在受控制的環境中才能套用到實際執行電腦的修正程式。
若要解決這個問題,請依照下列步驟執行:
-
變更增值稅報表的標頭資料表 (740) 的FillCompanyInfo函式中的程式碼如下所示︰
現有的程式碼 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");
...取代程式碼 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");
...現有的程式碼 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;
...取代程式碼 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;
... -
變更增值稅報表的標頭資料表 (740) 的GetCompanyName函式中的程式碼如下所示︰
現有的程式碼...TESTFIELD(Status,Status::Submitted);
END;
END;
BEGIN
END.
}
}
...取代程式碼
...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.
}
}
... -
變更增值稅報表的安裝程式表格 (743) 中的欄位中的程式碼如下所示︰
現有的程式碼...{ 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 }
...取代程式碼
...{ 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 }
... -
變更 「 增值稅報表安裝表單 (743) 中的屬性中的程式碼如下所示︰
現有的程式碼...}
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;
...取代程式碼
...}
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;
... -
變更 「 增值稅報表安裝表單 (743) 中的控制項中的程式碼如下所示︰
現有的程式碼 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;
...取代程式碼 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;
...現有的程式碼 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 }
...取代程式碼 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 }
...現有的程式碼 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
...取代程式碼 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
... -
變更MakeLineRecord中的函式匯出 VIES 報表報表 (11008) 中的程式碼如下所示︰
現有的程式碼 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) +
...取代程式碼 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) +
...現有的程式碼 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) +
...取代程式碼 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) +
... -
變更MakeTotalRecord中的函式匯出 VIES 報表報表 (11008) 中的程式碼如下所示︰
現有的程式碼...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;
...取代程式碼
...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;
... -
變更GetReportType中的函式匯出 VIES 報表報表 (11008) 中的程式碼如下所示︰
現有的程式碼...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,
...取代程式碼
... 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,
... -
變更GetZeroBaseNewLineCount中的函式匯出 VIES 報表報表 (11008) 中的程式碼如下所示︰
現有的程式碼...EXIT('p');
END;
PROCEDURE FormatDate@1140002(Date@1140000 : Date) : Text[8];
BEGIN
EXIT(FORMAT(Date,8,'<Year4><Month,2><Day,2>'));
END;
...取代程式碼
...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;
...
先決條件
您必須具備套用此 hotfix 之後安裝下列產品的其中一個︰
-
德文版中的 [Microsoft 動態航行點 2009 R2
-
德文版中的 [Microsoft 動態航行點 2009 SP1
移除資訊
您無法移除此 hotfix。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
頁面 743 應該使用 [轉換] 工具從修改過的表單 743 更新。
請參閱文章「 選取的檔案不是所有字元與都相符偵測到的程式碼 」 的錯誤,在德文版中的 [Microsoft 動態航行點 2009年,如需詳細資訊。
請參閱文件原始的歐盟銷售清單在德文版中的 [Microsoft 動態航行點 2009 SP1 會報告零量如需詳細資訊。
注意這是直接從 Microsoft 支援組織內建立的「快速發行」文件。本文件所包含的現狀資訊是針對新興問題的回應。為縮短使其可用的時程,資料可能會包含印刷錯誤,且可能會隨時進行修改而不另行通知。如其他考量,請參閱 「使用規定」。