อาการ
การแก้ไขสำหรับใบแจ้งหนี้ในรายการขายใน EU ที่ลืมไม่ได้ถูกสร้าง ด้วยวิธีถูกต้องใน Microsoft Dynamics NAV 2009 รุ่นภาษาเยอรมัน หน่วยงานจัดเก็บภาษีได้รับการยืนยันว่า ในรายงานที่รายการขายใน EU แก้ไขระเบียนทั้งหมดของชนิดระเบียน 1 ต้องแสดงค่า "11" สำหรับการแก้ไขของการปรับปรุงในฟิลด์ "ชนิดของคำสั่ง" นอกจากนี้ ในชนิดของเรกคอร์ดที่ 2 ฟิลด์ "จำนวนของเรกคอร์ดของเรกคอร์ดที่พิมพ์ 1" ดังกล่าวต้องแสดงจำนวนเรกคอร์ดที่ถูกต้อง ปัญหานี้เกิดขึ้นในผลิตภัณฑ์ต่อไปนี้:
-
Microsoft Dynamics NAV 2009 R2 รุ่นภาษาเยอรมัน
-
Microsoft Dynamics NAV 2009 Service Pack 1 รุ่นภาษาเยอรมัน
การแก้ปัญหา
ข้อมูลโปรแกรมแก้ไขด่วน
โปรแกรมแก้ไขด่วนจะพร้อมใช้งานได้ในขณะนี้จาก Microsoft อย่างไรก็ตาม มีเป้าหมายเพียงเพื่อการแก้ไขปัญหาที่อธิบายไว้ในบทความนี้ นำวิธีนี้ไปใช้กับระบบที่ประสบกับปัญหาที่เฉพาะเจาะจงเท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณจะไม่รุนแรงได้รับผลกระทบจากปัญหานี้ เราขอแนะนำให้ คุณรอ service pack ถัดไปของ Microsoft Dynamics NAV 2009 หรือเวอร์ชันถัดไป Microsoft Dynamics NAV ที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้หมายเหตุ ในกรณีพิเศษ ค่าธรรมเนียมค่าใช้จ่ายสำหรับการสนับสนุนโทรศัพท์อาจถูกยกเลิกถ้า Technical Support Professional สำหรับ Microsoft Dynamics และผลิตภัณฑ์ที่เกี่ยวข้องตรวจพบว่าการปรับปรุงเฉพาะจะแก้ปัญหาของคุณ ค่าใช้จ่ายในการสนับสนุนตามปกติจะใช้กับคำถามและปัญหาในการสนับสนุนเพิ่มเติมซึ่งไม่สอดคล้องตามเกณฑ์สำหรับโปรแกรมปรับปรุงเฉพาะที่เกี่ยวข้อง
ข้อมูลการติดตั้ง
Microsoft ให้ตัวอย่างการเขียนโปรแกรมไว้สำหรับประกอบการอธิบายเท่านั้นโดยไม่มีการรับประกันไม่ว่าจะโดยชัดแจ้งหรือโดยนัย กรณีนี้รวมถึงแต่มิได้จำกัดเพียงแค่การการรับประกันโดยนัยเกี่ยวกับการจำหน่ายเป็นสินค้าหรือความเหมาะสำหรับวัตถุประสงค์เฉพาะ บทความนี้ตั้งสมมติฐานว่าคุณมีความคุ้นเคยกับภาษาการเขียนโปรแกรมที่กำลังแสดงและคุ้นเคยกับเครื่องมือที่ใช้ใน การสร้างและแก้จุดบกพร่องของขั้นตอนการดำเนินการ วิศวกรฝ่ายสนับสนุนของ Microsoft สามารถช่วยอธิบายเกี่ยวกับหน้าที่การใช้งานของกระบวนการเฉพาะ อย่างไรก็ตาม จะไม่แก้ไขตัวอย่างเหล่านี้เพื่อเพิ่มฟังก์ชัน หรือสร้างขั้นตอนเพื่อตอบสนองความต้องการเฉพาะของคุณหมายเหตุ ก่อนที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ โปรดตรวจสอบว่า ผู้ใช้ไคลเอนต์ของ Microsoft Dynamics NAV ทั้งหมดเข้าสู่ระบบออกจากระบบ ข้อมูลนี้รวมถึงบริการ Microsoft Dynamics NAV แอพพลิเคชันเซิร์ฟเวอร์ (NAS) คุณควรไคลเอ็นต์เฉพาะผู้ใช้ที่เข้าสู่ระบบเมื่อคุณใช้โปรแกรมแก้ไขด่วนนี้เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ คุณต้องมีสิทธิ์การใช้งานสำหรับนักพัฒนาเราขอแนะนำว่า บัญชีผู้ใช้ ในหน้าต่างล็อกอินของ Windows หรือ ในหน้าต่างล็อกอินฐานข้อมูลสามารถกำหนดรหัสการเข้าถึงข้อมูล "ขั้นสูง" ถ้าบัญชีผู้ใช้ไม่สามารถกำหนดรหัสการบทบาท "SUPER" คุณต้องตรวจสอบว่า บัญชีผู้ใช้มีสิทธิ์ต่อไปนี้:
-
สิทธิ์การปรับเปลี่ยนสำหรับออปเจ็กต์ที่คุณจะสามารถเปลี่ยน
-
สิทธิ์ในการดำเนินการ สำหรับออบเจ็กต์5210 รหัสวัตถุของระบบและระบบ 9015 ID ของวัตถุวัตถุ
หมายเหตุ คุณไม่จำเป็นต้องมีสิทธิ์ไปยังร้านค้าข้อมูลยกเว้นว่าคุณจำเป็นต้องซ่อมแซมข้อมูล
การเปลี่ยนแปลงรหัส
หมายเหตุ เสมอทดสอบรหัสแก้ไขในสภาพแวดล้อมการควบคุมก่อนที่คุณนำไปใช้แก้ไขปัญหากับคอมพิวเตอร์ของคุณผลิตเมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:
-
เปลี่ยนแปลงรหัสนี้ในฟังก์ชันFillCompanyInfoในตารางหัวข้อการรายงาน VAT (740) เป็นดังนี้:รหัสที่อยู่ 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;// Add 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");PROCEDURE FillCompanyInfo@1140002(); VAR CompanyInfo@1140000 : Record 79; CountryRegion@1140001 : Record 9;// Add 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.");// 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;...
-
เปลี่ยนแปลงรหัสนี้ในฟังก์ชันGetCompanyNameในตารางหัวข้อการรายงาน VAT (740) เป็นดังนี้:รหัสที่มีอยู่
...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];BEGINIF VATReportSetup."Company Name" <> '' THENEXIT(VATReportSetup."Company Name");EXIT(CompanyInformation.Name);END;LOCAL PROCEDURE GetCompanyAddress@1140005(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30];BEGINIF VATReportSetup."Company Address" <> '' THENEXIT(VATReportSetup."Company Address");EXIT(CompanyInformation.Address);END;LOCAL PROCEDURE GetCompanyCity@1140006(CompanyInformation@1140001 : Record 79;VATReportSetup@1140000 : Record 743) : Text[30];BEGINIF VATReportSetup."Company City" <> '' THENEXIT(VATReportSetup."Company City");EXIT(CompanyInformation.City);END;// End of the added lines.BEGIN END. } }...
-
เปลี่ยนแปลงรหัสนี้ในฟิลด์ในตารางการตั้งค่าการรายงาน VAT (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 }... -
เปลี่ยนแปลงรหัสนี้ในคุณสมบัติในแบบฟอร์มการตั้งค่าการรายงาน VAT (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;...
-
เปลี่ยนแปลงรหัสนี้ในตัวควบคุมในแบบฟอร์มการตั้งค่าการรายงาน VAT (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ในการส่งออกงรายงานรายงาน (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) THENEXIT;// 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ในการส่งออกงรายงานรายงาน (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ในการส่งออกงรายงานรายงาน (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];BEGINIF VATReportHeader."VAT Report Type" = VATReportHeader."VAT Report Type"::Corrective THENEXIT('11');// End of the added lines.CASE VATReportLine."Line Type" OF VATReportLine."Line Type"::New: EXIT('10'); VATReportLine."Line Type"::Cancellation,...
-
เปลี่ยนแปลงรหัสนี้ในฟังก์ชันGetZeroBaseNewLineCountในการส่งออกงรายงานรายงาน (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;VARVATReportLine@1140000 : Record 741;BEGINWITH VATReportLine DO BEGINSETRANGE("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;VARVATReportLine@1140000 : Record 741;BEGINIF NOT VATReportSetup."Export Cancellation Lines" THENEXIT(0);WITH VATReportLine DO BEGINSETRANGE("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 Dynamics NAV 2009 R2 รุ่นภาษาเยอรมัน
-
SP1 2009 นำทางของ Dynamics Microsoft รุ่นภาษาเยอรมัน
ข้อมูลการเอาออก
คุณไม่สามารถเอาโปรแกรมแก้ไขด่วนนี้
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"
ควรมีการอัพเด 743 หน้าโดยใช้เครื่องมือการแปลง จาก 743 ฟอร์มถูกปรับเปลี่ยนดูบทความ"อักขระสำหรับแฟ้มที่เลือกทั้งหมดไม่ตรงกับรหัสตรวจพบ" ข้อผิดพลาดใน Microsoft Dynamics NAV 2009 รุ่นภาษาเยอรมันสำหรับข้อมูลเพิ่มเติมดูบทความมีรายงานยอดเงินเป็นศูนย์ในรายการขายใน EU เดิมใน SP1 2009 นำทางของ Dynamics Microsoft รุ่นภาษาเยอรมันสำหรับข้อมูลเพิ่มเติม
หมายเหตุ นี่คือบทความ "เผยแพร่เร็ว" ที่สร้างขึ้นโดยตรงจากภายใน Microsoft สนับสนุนองค์กร ข้อมูลในที่นี้ให้ไว้ตามสภาพ เพื่อตอบสนองกับปัญหาที่เกิดขึ้นใหม่ เป็นผลมาจากความเร็วในการทำให้พร้อมใช้งาน วัสดุอาจรวมถึงข้อผิดพลาดการพิมพ์ผิด และอาจแก้ไขได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ดูข้อตกลงการใช้สำหรับข้อควรพิจารณาอื่น ๆ