นำไปใช้กับ
Dynamics NAV 2009

อาการ

การแก้ไขสำหรับใบแจ้งหนี้ในรายการขายใน 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 ของวัตถุวัตถุ

หมายเหตุ คุณไม่จำเป็นต้องมีสิทธิ์ไปยังร้านค้าข้อมูลยกเว้นว่าคุณจำเป็นต้องซ่อมแซมข้อมูล

การเปลี่ยนแปลงรหัส

หมายเหตุ เสมอทดสอบรหัสแก้ไขในสภาพแวดล้อมการควบคุมก่อนที่คุณนำไปใช้แก้ไขปัญหากับคอมพิวเตอร์ของคุณผลิตเมื่อต้องการแก้ไขปัญหานี้ ให้ทำตามขั้นตอนเหล่านี้:

  1. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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;...
  2. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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.    }  }...
  3. เปลี่ยนแปลงรหัสนี้ในฟิลด์ในตารางการตั้งค่าการรายงาน 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 }...
  4. เปลี่ยนแปลงรหัสนี้ในคุณสมบัติในแบบฟอร์มการตั้งค่าการรายงาน 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;...
  5. เปลี่ยนแปลงรหัสนี้ในตัวควบคุมในแบบฟอร์มการตั้งค่าการรายงาน 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...
  6. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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) +...
  7. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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;...
  8. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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,...
  9. เปลี่ยนแปลงรหัสนี้ในฟังก์ชัน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 สนับสนุนองค์กร ข้อมูลในที่นี้ให้ไว้ตามสภาพ เพื่อตอบสนองกับปัญหาที่เกิดขึ้นใหม่ เป็นผลมาจากความเร็วในการทำให้พร้อมใช้งาน วัสดุอาจรวมถึงข้อผิดพลาดการพิมพ์ผิด และอาจแก้ไขได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ดูข้อตกลงการใช้สำหรับข้อควรพิจารณาอื่น ๆ

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ