本文說明的問題,當您提交至 「 授權的歐盟 (EU) 銷售清單檔案。如果公司名稱包含特殊字元,您會收到下列錯誤︰
選取的檔案不是所有字元都符合偵測到的字碼頁 ISO 8859︰ 檔案位置︰ 19 的值︰ 0xE9。
請依照下列程式碼變更一節,若要解決這個問題的步驟。下列產品中,就會發生這個問題︰
-
德文版中的 [Microsoft 動態航行點 2009 R2
-
Microsoft 動態航行點 2009 Service Pack 1 (SP1) 的德文版本
解決方案
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.BEGINCompanyInfo.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;// Adding the following lines.VATReportSetup@1140002 : Record 743;BEGINCompanyInfo.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.");// Deleting 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.");// Adding 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;// Adding 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 adding 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] }// Adding 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 {// Deleting 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 {// Adding 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 }// Adding 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 }// Deleting 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 }// Adding the following line. { 6 ;CommandButton;9570 ;7920 ;2200 ;550 ;HorzGlue=Right;// End of the added line. VertGlue=Bottom; PushAction=FormHelp } } CODE... -
請變更匯出 VIES 報告報表 (11008) 中的MakeLineRecord函式中的程式碼,如下所示︰現有的程式碼 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// Adding 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) +// Deleting 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) +// Adding the following line. GetReportType(VATReportLine,VATReportHeader) +// End of the added line. GetReportPeriod(VATReportHeader) + PADSTR(VATReportLine.GetVATRegNo,14) + FormatBaseForExport(VATReportLine,12) + GetTurnoverType(VATReportLine) +...
-
請變更匯出 VIES 報告報表 (11008) 中的MakeTotalRecord函式中的程式碼,如下所示︰現有的程式碼
...GetRecordType('2') + PADSTR(VATReportHeader."VAT Registration No.",11) + GetReportPeriod(VATReportHeader) + FormatAmountForExport(VATReportHeader."Total Base",14) +// Deleting 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) +// Adding 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;... -
請變更匯出 VIES 報告報表 (11008) 中的GetReportType函式中的程式碼,如下所示︰現有的程式碼
...BEGIN EXIT(RecordType); END;// Deleting 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;// Adding 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,...
-
請變更匯出 VIES 報告報表 (11008) 中的GetZeroBaseNewLineCount函式中的程式碼,如下所示︰現有的程式碼
...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;// Adding 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;...
先決條件
您必須擁有 Microsoft 動態航行點 2009 R2 德文版或套用此 hotfix 之後,安裝 SP1。
移除資訊
您無法移除此 hotfix。
狀態
Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。
注意這是直接從 Microsoft 支援組織內建立的「快速發行」文件。本文件所包含的現狀資訊是針對新興問題的回應。為縮短使其可用的時程,資料可能會包含印刷錯誤,且可能會隨時進行修改而不另行通知。如其他考量,請參閱 「使用規定」。