นำไปใช้กับ
SharePoint ใน Microsoft 365 SharePoint ใน Microsoft 365 Small Business

โดย Justin Joyce, LANtek

หมายเหตุ: บทความนี้เป็นส่วนหนึ่งของคอลเลกชันโพสต์จากสี่ปีของบล็อก Get the Point สําหรับผู้ใช้ SharePoint

ภาพรวม: รายงานอายุที่กําหนดเองที่ไม่มีรหัส

ส่วนการทํางานที่ร้องขอบ่อยส่วนหนึ่งของไซต์ SharePoint คือรายงานอายุสําหรับงานหรือข้อมูลในรายการ กล่าวอีกนัยหนึ่งคือ จํานวนวัน/เดือนนับตั้งแต่ที่ข้อมูลในรายการนี้ถูกปรับเปลี่ยนครั้งล่าสุด

บนพื้นผิวนี้ดูเหมือนจะเป็นคําขอที่ง่ายมาก ท้ายที่สุด เรามีวันที่สําหรับรายการที่ถูกสร้างและปรับเปลี่ยน เรามีความสามารถในการจัดเก็บวันที่แบบกําหนดเองเมื่อมีการเปลี่ยนแปลงบางอย่างกับรายการผ่านตัวรับเหตุการณ์ เรามีคอลัมน์จากการคํานวณที่เราสามารถรวมสูตรที่คล้ายกับ Excel เพื่อทํางานกับข้อมูลของเรา ดูเหมือนว่าข้อเสนอนี้ค่อนข้างตรงไปตรงมา เราเลือกเขตข้อมูลวันที่ สร้างคอลัมน์จากการคํานวณ แล้วทําสูตรตามบรรทัดของ [DateField] – [Today] อ้า ยังเร็วไม่หรอก! ตามที่ทุกคนที่พยายามทํางาน "ง่าย" นี้รู้ว่าการพยายามใช้บางอย่างเช่น [วันนี้] ในคอลัมน์จากการคํานวณทําให้เกิดปัญหา ลองแทรก [วันนี้] ลงในกล่องสูตรของคอลัมน์จากการคํานวณของคุณจะให้ข้อความแสดงข้อผิดพลาดดังนี้:

ข้อความแสดงข้อผิดพลาด

ทําไมจึงเป็นเช่นนี้ มันจะต้องเกี่ยวข้องกับวิธีคํานวณคอลัมน์จากการคํานวณ

ลองมาดูสูตรอย่างง่ายเป็นตัวอย่าง:

= IF( [Column1]<=[Column2], "OK", "Not OK")

ทั้งหมดนี้หมายความว่าถ้า Column1 น้อยกว่าหรือเท่ากับ คอลัมน์ 2 ให้แสดง ตกลง มิเช่นนั้นให้แสดง ไม่ตกลง นี่คือสูตรพื้นฐานทั่วไปสําหรับคอลัมน์จากการคํานวณ และเป็นสมมติฐานพื้นฐานเกี่ยวกับข้อมูลในรายการที่มีคอลัมน์เหล่านี้: ค่าสําหรับ คอลัมน์ 1 และ คอลัมน์ 2 จะไม่สามารถเปลี่ยนแปลงได้ถ้าไม่มีเหตุการณ์ Update ในข้อมูลในรายการ

ใช่แล้ว คอลัมน์จากการคํานวณจะคํานวณใหม่เมื่อรายการถูกอัปเดต (หรือสร้าง) ขึ้นเท่านั้น เนื่องจากถือว่าข้อมูลที่คุณกําลังคํานวณอยู่ในรายการนั้น ซึ่งจะสร้างปัญหาเมื่อคุณพยายามใช้สิ่งที่เปลี่ยนแปลงโดยอิสระจากเขตข้อมูลของรายการ เช่น วันที่ของวันนี้

ตอนนี้ฉันไม่ได้อยู่ในการประชุมที่พวกเขาตัดสินใจว่านี่คือวิธีที่คอลัมน์จากการคํานวณจะทํางานอย่างไรก็ตามถ้าฉันต้องทําให้การคาดเดาการศึกษาฉันจะสมมติว่าพวกเขาทํางานด้วยวิธีนี้เพื่อประสิทธิภาพ ลองนึกภาพถ้าคุณมีรายการหลายพันรายการ โดยแต่ละรายการมีคอลัมน์จากการคํานวณที่ต้องการการอัปเดต "live" นั่นหมายความว่ากลไกบางอย่าง อาจเป็นงานตัวจับเวลา อาจต้องวนซ้ําทีละรายการที่มีคอลัมน์จากการคํานวณอยู่บ่อยๆ และอัปเดตค่าของคอลัมน์นั้น ซึ่งอาจเป็นการเสียภาษีอย่างมากในแง่ของประสิทธิภาพเนื่องจากการปรับใช้ที่มีขนาดใหญ่ขึ้นงานนี้อาจทํางานและเปลี่ยนแปลงสิ่งต่างๆ อย่างต่อเนื่อง นั่นเป็นเพียงการคาดเดาของฉัน แต่มันค่อนข้างสมเหตุสมผลถ้าคุณคิดเกี่ยวกับมัน

มีคําแนะนําบางอย่างสําหรับโซลูชันที่คล้ายกันซึ่งลอยออกไปที่นั่นซึ่งเกี่ยวข้องกับการหลอกให้ SharePoint ยอมรับค่า วันนี้ โดยการสร้างคอลัมน์ที่ชื่อว่า วันนี้ ก่อนแล้วจึงเพิ่มไปยังสูตรของคุณ แล้วลบออก ทั้งหมดนี้ดีและดี แต่โปรดจําไว้ว่าสิ่งที่ฉันพูดเมื่อคอลัมน์จากการคํานวณได้รับการอัปเดต ค่านี้จะเปลี่ยนแปลงเฉพาะเมื่อมีการอัปเดตรายการ ซึ่งหมายความว่าค่าของคุณจะไม่ถูกต้องเร็วๆ นี้ โดยเฉพาะในกรณีของการคํานวณวัน

ฉันเคยเห็นผู้อื่นใช้ JavaScript ฉลาดในการเขียนค่าลงในหน้า สิ่งนี้จะใช้งานได้เช่นกัน แต่ฉันค่อนข้างเป็นประเภทกับสคริปต์ลูกค้าเมื่อสามารถหลีกเลี่ยงได้

การใช้งาน:

แล้วต้องทําอย่างไร คอลัมน์จากการคํานวณอยู่นอกคําถามที่เรียกว่าฟังก์ชัน "เปลี่ยนแปลงได้" เช่น Today เป็นไปได้ว่าเราสามารถพัฒนาโค้ดแบบกําหนดเองบางอย่างเพื่อจัดการสิ่งนี้ให้กับเรา เช่น คอลัมน์จากการคํานวณ งานตัวจับเวลา หรือกระบวนการตามกําหนดการเพื่อมาและอัปเดตทุกรายการที่ต้องการทําการคํานวณนี้ นั่นทําให้เรากลับมาที่ปัญหาของประสิทธิภาพที่ฉันกล่าวถึงในย่อหน้าสุดท้ายและนอกจากนี้มันเป็นวิธีการแก้ปัญหาเปราะที่จะมีความเฉพาะเจาะจงสูงสําหรับไซต์ / รายการ / คอลัมน์ในคําถาม ด้านบนของข้อกังวลทั้งสองนั้นคุณจะต้องไปหาคนโง่เช่นตัวฉันเองที่รู้วิธีเขียนโค้ดและชักชวนให้เขาพัฒนาโซลูชันนี้สําหรับคุณ แต่มีวิธีที่ง่ายกว่านั้น!

ถ้าคุณมีสิทธิ์ในการสร้างเขตข้อมูลและแก้ไขหน้าบนไซต์ของคุณ และมีความรู้เล็กน้อยเกี่ยวกับ XSLT และการสร้างมุมมอง คุณสามารถรวบรวมเทมเพลต XSL ที่สามารถรวมอยู่ในมุมมองรายการและจะคํานวณค่าของคุณอย่างสมจริงทุกครั้งที่มีการร้องขอหน้า สถานการณ์นี้จะขจัดความกังวลของเราเกี่ยวกับประสิทธิภาพการทํางาน และไม่จําเป็นต้องมีการพัฒนาโค้ดแบบกําหนดเองและปรับใช้ผ่านโซลูชัน

ยอดเยี่ยม แล้วเราจะทํายังไงดีล่ะ?

  1. สร้างหรือเลือกฟิลด์ที่จะทําหน้าที่เป็นแหล่งข้อมูลของเรา ต้องเป็นชนิดวันที่

  2. สร้างเขตข้อมูลของเราที่จะทําหน้าที่เป็นพื้นที่ที่สํารองไว้สําหรับค่าที่จะถูกคํานวณ

  3. เพิ่มเขตข้อมูลทั้งสองนี้ลงในชนิดเนื้อหา และเพิ่มชนิดเนื้อหานั้นลงในรายการ

  4. สร้างมุมมองของรายการที่มีทั้งคอลัมน์ต้นฉบับและพื้นที่ที่สํารองไว้

  5. อัปโหลดเทมเพลต XSL ไปยังไลบรารี สไตล์

  6. ตั้งค่าคุณสมบัติ "ลิงก์ XSL" สําหรับ Web Part สําหรับมุมมองรายการผ่าน UI

  7. สำเร็จ!

ลองสํารวจตัวอย่างกรณีใช้งานและแนะนําการใช้งาน ลูกค้าของเราต้องการมุมมองของรายการหลักของพวกเขาที่จะบอกให้พวกเขาทราบว่าข้อมูลในรายการนั้นๆ นั่งอยู่ที่สถานะนานเท่าใด รายการนี้มีชนิดเนื้อหาของไซต์แบบกําหนดเองที่ได้รับมาจากชนิด รายการ และถูกเพิ่มลงในรายการ มีตัวรับเหตุการณ์อยู่แล้วโดยที่จับภาพทุกครั้งที่เขตข้อมูลสถานะบนข้อมูลในรายการถูกเปลี่ยน และบันทึกวันที่นั้นลงในคอลัมน์ที่เรียกว่า "วันที่สถานะเปลี่ยน" ไม่จําเป็นต้องใช้สายไฟทั้งหมดนี้และสามารถทําได้ด้วยเขตข้อมูลวันที่ใด ๆ (มันเพิ่งเกิดขึ้นนี่คือการใช้งานของเรา แต่อย่าลังเลที่จะทดลอง) ค่าน้อยที่สุดที่คุณจะต้องการคือเขตข้อมูลวันที่ต้นทางและพื้นที่ที่สํารองไว้ของคุณเพื่อเก็บการคํานวณของคุณ (เพิ่มเติมในย่อหน้าถัดไป) ที่เพิ่มลงในรายการของคุณ แม้ว่าฉันขอแนะนําให้คุณใช้คอลัมน์ไซต์และชนิดเนื้อหาของไซต์ในกรณีที่คุณต้องการนําโซลูชันนี้มาใช้ใหม่ในที่อื่นๆ บนไซต์ของคุณ

ดังนั้นเราจึงมีวันที่ต้นทางของเราที่เราสามารถใช้ในการคํานวณของเรากับวันที่ของวันนี้ ตอนนี้เราสามารถสร้างคอลัมน์ไซต์แบบกําหนดเองเพื่อใช้เป็นคอนเทนเนอร์สําหรับค่าจากการคํานวณของเรา ในกรณีนี้ ฉันเลือกที่จะใช้คอลัมน์จากการคํานวณเนื่องจากไม่สามารถเปลี่ยนบนฟอร์มรายการใหม่หรือฟอร์มแก้ไขรายการ แต่สามารถเลือกให้แสดงในมุมมองได้ เนื่องจากเราไม่ต้องการให้ผู้ใช้ใส่ค่าที่กําหนดเองในคอลัมน์นี้ อาจเป็นเรื่องที่น่าสับสนว่าเหตุใดจึงไม่แสดงในมุมมอง เป็นต้น

ตอนนี้เรามีคอลัมน์เว็บไซต์ของเราเราสามารถเพิ่มลงในประเภทเนื้อหาของเราที่จะใช้ในรายการของเรา ต่อไป เราจําเป็นต้องสร้างมุมมองของเราซึ่งจะปรับแต่งด้วย XSLT ของเราในภายหลัง ตรวจสอบให้แน่ใจว่าคุณสร้างมุมมองมาตรฐานที่มีคอลัมน์วันที่ต้นทางและคอลัมน์จากการคํานวณใหม่ของคุณซึ่งจะทําหน้าที่เป็นพื้นที่ที่สํารองไว้สําหรับค่าจากการคํานวณ

ตอนนี้เรามีทุกอย่างในสถานที่ที่เราจะต้องสนับสนุนรายงานอายุที่กําหนดเองของเรา สิ่งที่เหลืออยู่คือการสร้างเทมเพลต XSL ของเราอัปโหลดไปยังไลบรารีสไตล์ของเว็บไซต์และเชื่อมโยงไปยังมุมมองรายการของเรา เทมเพลต XSL ที่เราจะใช้จะมีมาร์กอัปที่สร้างโดย SharePoint ตามปกติสําหรับการสร้างมุมมองและมาร์กอัปแบบกําหนดเองของเราใช้ในการแทนที่บางส่วนของสิ่งนี้และคํานวณค่าที่ต้องการของเรา

ให้เครดิตเมื่อเครดิตครบกําหนดเทมเพลต XSL สําหรับทําการคํานวณจริงที่ฉันใช้สําหรับโซลูชันนี้ให้บริการโดย "swirch" บนฟอรั่ม MSDN:http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/aeda905b-9bc6-40c4-bd22-21306c5cb0d2/

ดาวน์โหลดสไตล์ชีต XSL (aging.zip) ที่ฉันได้รวบรวมไว้ที่นี่:สิทธิ์ https://OneDrive.live.com/?cid=c262e8e2d59a86d9&Changed=1&id=C262E8E2D59A86D9!104

การเปิดสิ่งนี้ขึ้นในตัวแก้ไขข้อความโปรดของคุณ คุณจะเห็นมาร์กอัป XSL ของ SharePoint ปกติมากมายสําหรับการแสดงมุมมอง ถ้าคุณเลื่อนลงไปที่บรรทัด 357 คุณจะเห็นจุดเริ่มต้นของเทมเพลตแบบกําหนดเองที่ฉันเพิ่มลงในมาร์กอัป เทมเพลตแรกเป็นเทมเพลต "DateDiff" ตามด้วย "calculate-julian-day" และ "FieldRef_printTableCell_EcbAllowed Days_x0020_At_x0020_Status" นี่คือเทมเพลตสามแบบของเราที่จะทําและแสดงการคํานวณของเราในมุมมองของเรา ถ้าคุณจะใช้ชื่อเขตข้อมูลที่ต่างจากที่ระบุไว้ก่อนหน้าในบทความนี้ คุณจะต้องไปที่เทมเพลตเหล่านี้และแทนที่การอ้างอิงใดๆ ไปยังชื่ออื่น โปรดทราบว่า สําหรับสิ่งนี้ คุณจะต้องใช้ชื่อภายในของฟิลด์ไม่ใช่ชื่อที่แสดง

เมื่อคุณพอใจแล้วว่าเทมเพลตพร้อมใช้งาน ให้นําทางไปยังไลบรารีสไตล์ของคุณและอัปโหลดภายใต้โฟลเดอร์ "สไตล์ชีต XSL" จากนั้นคัดลอกลิงก์ไปยังไฟล์ วิธีนี้จะช่วยให้เราสามารถทําการเปลี่ยนแปลงได้อย่างง่ายดายในภายหลังหรือเพิ่มลงในส่วนต่าง ๆ ของเว็บไซต์ตามที่เราโปรด

ถัดไป ให้ไปที่รายการของคุณและเลือกมุมมองที่คุณสร้างไว้ก่อนหน้าในบทความนี้ จากเมนู "การดําเนินการในเว็บไซต์" ให้คลิกที่ "แก้ไขหน้า"

คำสั่ง แก้ไขหน้า บนเมนู การกระทำในไซต์

ค้นหา Web Part สําหรับมุมมองรายการของคุณบนหน้า และเปิดเมนู Web Part โดยคลิกที่ลูกศรชี้ลงขนาดเล็กที่มุมขวาบน จากเมนูนี้ ให้เลือก "แก้ไข Web Part"

แก้ไขคำสั่ง Web Part บนเมนู Web Part

การทําเช่นนี้จะเปิดเมนูของ Web Part ทางด้านขวามือของหน้าต่างเบราว์เซอร์ของคุณ

เมนู Web Part

คลิก + สําหรับส่วน "เบ็ดเตล็ด" และค้นหาคุณสมบัติ "ลิงก์ XSL"

คุณสมบัติลิงก์ XSL บนเมนู Web Part

วางลิงก์ไปยังไฟล์ XSL ของคุณในไลบรารีสไตล์ที่คุณคัดลอกไว้ก่อนหน้านี้ (ซึ่งอาจเป็นลิงก์แบบสัมพัทธ์หรือสัมบูรณ์)

ลิงก์ไฟล์ XSL ถูกวางใน

คลิก "ตกลง" เพื่อบันทึกการเปลี่ยนแปลงของคุณ จากนั้นคลิกปุ่ม "หยุดการแก้ไข" บน Ribbon "หน้า" ที่ด้านบนของหน้า

ปุ่ม หยุดการแก้ไข บนแท็บ หน้า

หากทุกอย่างได้รับการกําหนดค่าอย่างถูกต้อง คุณควรเห็นตัวเลขในคอลัมน์ "Days At Status" ของคุณ

คอลัมน์ Days At Status แสดงตัวเลข

และสุดท้ายนี่คือสิ่งที่มันจะมีลักษณะเหมือนกับข้อมูลการทดสอบบางส่วนของวันที่ต่างๆ:

รายงานอายุหนี้แสดงข้อมูลทดสอบ

สรุป:

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

ขอให้สนุก!

--จัสติน

Justin Joyce, LANtek

ข้อคิดเห็น

ขั้นตอนที่หายไป 10/8/2012 3:51 AM ตกลง ฉันทําตามขั้นตอน แต่ต้องมีบางอย่างหายไป - XSL จะทราบวันที่ที่จะใช้หรือเขตข้อมูลใดที่จะเพิ่มวันตั้งแต่วันลงไป เมื่อพลาดขั้นตอน

ไม่มีรหัส, เห็นด้วย! 30/8/2555 12:12 น. ฉันเห็นด้วย - ฉันไม่คิดว่านี่เป็น "ไม่มีรหัส" จริงๆน่าสนใจผ่านการเมาของ SharePoint ฉันมีคอลัมน์จากการคํานวณที่ทํางานโดยใช้วันนี้... ไม่แน่ใจว่าทําไมหรือเพราะฉันไม่สามารถทําให้มันกลับมาทําอีกครั้ง แต่หนึ่งยังคงอยู่ที่นั่นและทํางาน

สูตรสําหรับคอลัมน์จากการคํานวณ "Days At Status" ใช่หรือไม่ 2/5/2012 7:39 น. Justin - สูตรใดที่คุณใช้สําหรับคอลัมน์ไซต์จากการคํานวณ "Days At Status" ของคุณ (คอลัมน์พื้นที่ที่สํารองไว้) "=today" ใช่หรือไม่

SharePoint 2007 12/2/2011 11:29 AM ขณะนี้ฉันไม่ได้พยายามนําโซลูชันนี้ไปใช้กับ SharePoint 2007 แต่ฉันกําลังค้นหาอยู่ น่าเสียดายที่ไม่มีคุณสมบัติ XslLink แสดงบน Web Part ผ่านทาง UI

โพสต์ที่ดี 11/30/2011 9:53 AM สวัสดี โพสต์ที่ยอดเยี่ยมฉันกําลังใช้ SharePoint 2007 อยู่ฉันไม่มีส่วน Misc ตามที่ระบุไว้ข้างต้นคุณมีขั้นตอนสําหรับการกําหนดค่า SP2007 หรือไม่ ขอบคุณ

Re: No-code solution: การแสดงวันตั้งแต่มีการเปลี่ยนแปลงข้อมูลในรายการ SharePoint ครั้งล่าสุด 10/11/2011 8:24 AM สวัสดีคริสการค้นหาที่ยอดเยี่ยม! ฉันจะดูสิ่งที่คุณโพสต์หวังว่าภายหลังในวันนี้และดูว่าฉันสามารถทําให้การแก้ปัญหานี้มีเสถียรภาพมากขึ้นเล็กน้อยฉันดีใจที่คุณชอบโพสต์และฉันดีใจมากที่คุณสามารถหาวิธีแก้ปัญหารูปแบบวันที่ในยุโรปได้ :) -จัสติน

โซลูชันสําหรับรูปแบบวันที่แบบยุโรป 10/11/2011 6:45 AM สวัสดีจัสตินอีกครั้ง ฉันพบวิธีแก้ปัญหาสําหรับปัญหาที่ฉันกล่าวถึงก่อนหน้านี้ในหน้านี้https://sharepointbydummies.wordpress.com/2011/07/13/possible-work-around-to-date-format-issue-sharepoint-2010/

รูปแบบวันที่แบบยุโรป 10/7/2011 3:59 AM สวัสดีจัสติน นี่เป็นทางออกที่ดีจริงๆและเป็นเพียงแค่สิ่งที่ฉันใช้เวลาสองวันที่ผ่านมาเพื่อค้นหา! อย่างไรก็ตามฉันมีปัญหาเล็กน้อยกับมันและฉันหวังว่าคุณจะช่วยฉันได้ฉันได้เปลี่ยนรหัสของคุณเล็กน้อยเพื่อคํานวณจํานวนวันจนกว่าจะเกิดเหตุการณ์บางอย่างขึ้น แทนที่จะเปลี่ยนตัวแปรในบรรทัดสุดท้ายของฟังก์ชัน "DateDiff" <xsl:value-of select="$JulianToday - $JulianStartDate"></xsl:value-of> อย่างไรก็ตามฉันสามารถทําให้มันคํานวณความแตกต่างได้อย่างถูกต้องครึ่งหนึ่งของเวลา ตัวอย่างเช่น ด้วยวันที่นี้ (จัดรูปแบบวว/ดด/ปปป); 30/12/2011 โดยจะคํานวณได้อย่างถูกต้อง แต่ด้วยวันที่นี้ (รูปแบบเดียวกัน) 12/10/2011 โดยจะคํานวณราวกับว่า 10 ธ.ค. 2554 แทนที่จะเป็น 12 ต.ค. 2554ฉันพยายามสลับตําแหน่งของค่าวันและเดือนในตัวแปร "JulianStartDate" เช่นนี้ <xsl:with-param name="Month" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033, 'yyyyMdd'),7,2)"/> <xsl:with-param name="Day" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033, 'yyyyMdd'),5,2)"/> และวิธีนี้ได้แก้ไขปัญหาเกี่ยวกับวันที่ที่สอง แต่วันที่นั้นไม่ถูกต้องสําหรับวันที่แรก! นอกจากนี้ ฉันได้ลองเปลี่ยนการโทร FormatDateTime เพื่อใช้ LCID ของยุโรปและการเปลี่ยนแปลงต่างๆ กับพารามิเตอร์สุดท้ายของ FormatDateTime (เช่น ddMyyyy, MMddyyy) ด้วยการปรับเปลี่ยนที่เหมาะสมกับพารามิเตอร์ตําแหน่งของสตริงย่อยโดยไม่ประสบความสําเร็จผมขอขอบคุณเป็นอย่างยิ่งสําหรับคําแนะนําที่คุณเสนอได้ขอบคุณ คริส

No-Code 9/21/2011 4:27 AM ฉันไม่คิดว่า XSL มีคุณสมบัติเป็นโซลูชัน "ไม่มีโค้ด" เนื่องจากการทําความเข้าใจภาษา XSL ไม่ใช่สําหรับทุกคน - อย่างไรก็ตามมันไม่ได้เกี่ยวข้องกับการเขียนโปรแกรม นอกจากนั้น: ทางออกที่ดีขอบคุณ!

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

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

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