การจําแนกประเภทงานแบบไดนามิก

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

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

การจัดประเภทงานแบบไดนามิกมีความสามารถหลักสองอย่าง:

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

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

Prerequisites

ในการใช้คุณลักษณะที่อธิบายไว้ในบทความนี้ ระบบของคุณต้องตรงตามความต้องการต่อไปนี้:

  • คุณต้องใช้ Microsoft Dynamics 365 Supply Chain Management เวอร์ชัน 10.0.48 หรือใหม่กว่า
  • ต้องเปิดใช้งานการจัดประเภทงานแบบไดนามิกที่มีชื่อคุณลักษณะ (ตัวอย่างการผลิตพร้อม) ในการจัดการคุณลักษณะ ตั้งแต่ Supply Chain Management รุ่น 10.0.49 คุณลักษณะนี้ถูกเปิดตามค่าเริ่มต้น

กําหนดค่าการจัดประเภทงานใหม่เมื่ออัพเดตการโหลด

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

ในการกําหนดค่าการตั้งค่านี้ ให้ทําตามขั้นตอนเหล่านี้:

  1. ไปที่ การจัดการคลังสินค้า >การตั้งค่า>พารามิเตอร์การจัดการคลังสินค้า
  2. บนแท็บ ทั่วไป ให้เปิดแท็บ ด่วนงาน
  3. ตั้งค่า การจัดประเภทงานบนเขตข้อมูลอัพเดตการโหลด เป็นหนึ่งในค่าต่อไปนี้:
    • Disabled – ไม่มีการดําเนินการเมื่อมีการอัปเดตการโหลด
    • แบบซิงโครนัส – งานทั้งหมดที่เกี่ยวข้องกับการโหลดที่อัปเดตแล้วจะถูกจัดประเภทใหม่ทันทีหลังจากที่มีการอัปเดตโหลด

Note

เมื่อใช้การจัดประเภทใหม่แบบซิงโครนัส ผู้ใช้อาจพบการรอสั้น ๆ ระหว่างการอัปเดตการโหลดในขณะที่ระบบประมวลผลส่วนหัวงานที่เกี่ยวข้องทั้งหมด

สร้างกฎการจัดประเภทงานแบบไดนามิก

กฎการจัดประเภทกําหนดสูตร Power Fx ที่กําหนดวิธีการจัดประเภทการทํางาน แต่ละกฎระบุว่าเขตข้อมูลใดที่จะแทนที่และตรรกะสําหรับการคํานวณค่าใหม่

เมื่อต้องการสร้างกฎ ให้ทําตามขั้นตอนเหล่านี้:

  1. ไปที่ การตั้งค่าการจัดการ>คลังสินค้าตั้งค่า>กฎ>การจัดประเภทงานแบบไดนามิก

  2. เลือก ใหม่ เพื่อสร้างกฎ

  3. ทําการตั้งค่าต่อไปนี้ในส่วนหัวของกฎใหม่:

    • กฎการจัดประเภทงานแบบไดนามิก – ป้อนชื่อสําหรับกฎ
    • คําอธิบาย – ป้อนคําอธิบายสั้นๆ สําหรับกฎ
    • ขอบเขตกฎ – ระบุเวลาที่สูตรของกฎทํางานในระหว่างการสร้างงานและข้อมูลใดที่กฎสามารถอ้างอิงได้ ขอบเขตจะกําหนดว่าจะมีการใช้การจัดประเภทเฉพาะในระดับส่วนหัวของงานหรือในระดับสายงานเริ่มต้นเท่านั้น เลือกค่าใดค่าหนึ่งต่อไปนี้:
      • Work – สูตรจะทํางานหนึ่งครั้งหลังจากสร้างส่วนหัวของงาน ใช้ขอบเขตนี้เมื่อการจัดประเภทขึ้นอยู่กับคุณสมบัติระดับส่วนหัวเท่านั้น เช่น เวลาของผู้ขนส่งหรือเวลาในการจัดส่ง
      • รายการงานและรายการงานเริ่มต้น – สูตรจะเรียกใช้สองครั้ง อันดับแรก เมื่อเลือกรายการงานการรับของเบื้องต้น ระบบจะประเมิน สูตรรายการงานเริ่มต้น ที่แยกต่างหาก และใช้การแทนที่กับบรรทัดนั้น จากนั้น หลังจากที่มีการรวบรวมรายการงานเริ่มต้นทั้งหมด ระบบจะรันสูตรหลักกับส่วนหัวงาน ใช้ขอบเขตนี้เมื่อการจัดประเภทขึ้นอยู่กับคุณสมบัติระดับรายการเช่นโซนการรับของ
  4. บนแท็บด่วน การคํานวณใหม่ ให้ทําการตั้งค่าต่อไปนี้เพื่อควบคุมวิธีและเวลาที่มีการประเมินค่ากฎใหม่ในกรณีที่มีการเปลี่ยนแปลงของโหลดหลังจากการสร้างงานเริ่มต้น

    • รหัสกําหนดการการจัดประเภทใหม่ – การตั้งค่านี้สงวนไว้สําหรับการใช้งานในอนาคตและจะไม่มีผลกับการเผยแพร่ปัจจุบัน
    • จัดประเภทงานใหม่ในการอัปเดตการโหลด – ตั้งค่าตัวเลือกนี้เป็น ใช่ เพื่อเรียกใช้การจัดประเภทอีกครั้งแต่ละครั้งที่มีโหลดที่เชื่อมโยงกับการเปลี่ยนแปลงส่วนหัวของงาน การตั้งค่านี้ช่วยให้มั่นใจว่าการอัปเดตใด ๆ ในโหลดจะปรากฏในการจัดประเภทงาน การตั้งค่านี้ใช้ได้เฉพาะเมื่อมีการตั้งค่า การจัดประเภทงานในพารามิเตอร์การอัปเดตการโหลด เพื่ออนุญาตการจัดประเภทใหม่ (ดูส่วนก่อนหน้า)
  5. บนแท็บด่วน สูตร Power Fx ใส่สูตรที่ส่งกลับระเบียนที่มีเขตข้อมูลที่คุณต้องการแทนที่ ดูส่วนถัดไปสําหรับรายละเอียดในการเขียนสูตร

  6. ถ้าขอบเขต กฎ ถูกตั้งค่าเป็น ทํางานและบรรทัดงานเริ่มต้น หน้าจะมีแท็บด่วน สูตรเส้นงานเริ่มต้น สูตรนี้จะทำงานเมื่อมีการกำหนดรายการงานแรกให้กับบันทึกงานใหม่ ดูส่วนถัดไปสําหรับรายละเอียดในการเขียนสูตร

Tip

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

เขียนสูตรการจัดประเภทงาน

บนแท็บด่วน สูตร Power Fx ของกฎการจัดประเภทแต่ละกฎ ให้ใส่สูตรที่ส่งกลับเรกคอร์ดที่มีเขตข้อมูลต่อไปนี้อย่างน้อยหนึ่งฟิลด์

ตารางต่อไปนี้อธิบายเขตข้อมูลที่สูตรการจัดประเภทงานสามารถส่งกลับได้

ฟิลด์ ประเภท คำอธิบาย
WorkPoolId String แทนที่กลุ่มงานของงานที่สร้างขึ้น
DefaultWorkPriority ตัวเลข แทนที่ลําดับความสําคัญของงานที่สร้างขึ้น
DirectiveCodeOverrides เรกคอร์ด ระเบียนที่แต่ละชื่อเขตข้อมูลเป็นรหัสคําสั่งตําแหน่งที่ตั้งที่จะแทนที่ และค่าคือรหัสคําสั่งใหม่ ใช้ได้กับคู่รับ/วางทั้งหมด
WorkClassOverrides เรกคอร์ด เรกคอร์ดที่แต่ละชื่อเขตข้อมูลระบุคลาสงานที่ต้องการเปลี่ยนแทนที่ และค่าคือคลาสงานใหม่ ใช้เฉพาะกับการเลือกและการวางในคู่ที่สองและต่อมาทั้งหมด หากต้องการเปลี่ยนคลาสงานของคู่การเบิกสินค้า/จัดรายการวางสินค้าแรก ให้ใช้สูตรรายการงานเริ่มต้นแทน

ตัวอย่างต่อไปนี้แสดงสูตรที่ส่งกลับเขตข้อมูลทั้งสี่

{
    WorkPoolId: "PoolA",
    DefaultWorkPriority: 100,
    DirectiveCodeOverrides: {
        BAYDOOR: "BAYDOOR-C1",
        STAGING: "STAGING-C1"
    },
    WorkClassOverrides: {
        'Standard Class': "Express Class"
    }
}

Important

การคืนค่า Blank() สำหรับเขตข้อมูล (หรือการละเว้น) คงค่าเดิมจากแม่แบบงาน การคืนค่าเป็นสตริงว่าง ("") จะทำให้ค่าถูกล้างอย่างตั้งใจ ตัวอย่างเช่น การ Blank() ส่งกลับ เพื่อ WorkPoolId เก็บกลุ่มงานใดก็ตามที่ถูกตั้งค่าไว้ในเทมเพลตงาน ในขณะที่การ "" ส่งกลับจะลบกลุ่มงานทั้งหมด

วัตถุข้อมูลที่พร้อมใช้งานสําหรับสูตรการทํางาน

ตารางต่อไปนี้แสดงรายการออบเจ็กต์ที่คุณสามารถอ้างอิงในสูตรการจัดประเภทงาน

วัตถุ คำอธิบาย
workTable ส่วนหัวของงานที่ถูกสร้างขึ้น
workTable.Load เรกคอร์ดจำนวนงานที่เชื่อมโยงกับส่วนหัวของงาน
workTable.Shipment เรกคอร์ดการจัดส่งที่เชื่อมโยงกับหัวข้องาน
workTable.Wave เรกคอร์ดเวฟที่เชื่อมโยงกับส่วนหัวของงาน
workTable.Appointment การนัดหมายการจัดการการขนส่งครั้งแรก (TMS) ที่เกี่ยวข้องกับการโหลด

เขียนสูตรรายการงานเริ่มต้น

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

ฟิลด์ ประเภท คำอธิบาย
WorkPoolId String แทนที่กลุ่มงานของส่วนหัวงานที่สร้างขึ้น
WorkClassId String แทนที่คลาสงานของรายการงานงานการเบิก/จัดวางสินค้าเริ่มต้น

วัตถุข้อมูลที่พร้อมใช้งานสําหรับสูตรรายการงานเริ่มต้น

ตารางต่อไปนี้แสดงรายการออบเจ็กต์ที่คุณสามารถอ้างอิงในสูตรรายการงานเริ่มต้น

วัตถุ คำอธิบาย
workLine รายการงานการเบิกสินค้าเริ่มต้นที่สร้างขึ้น
workLine.InventTable ข้อมูลหลักของสินค้าที่ถูกหยิบ
workLine.WHSInventTable การตั้งค่าสินค้าคลังสินค้าสําหรับสินค้าที่กําลังเบิกสินค้า
workLine.Load ระเบียนโหลดที่เชื่อมโยงกับสายงาน
workLine.LoadLine รายการจำนวนงานที่เชื่อมโยงกับรายการเบิกสินค้าเริ่มต้น
workLine.Shipment บันทึกการจัดส่งที่เชื่อมโยงกับรายการงาน

การเชื่อมโยงกฎกับแม่แบบงาน

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

ไปที่เท็มเพลตงาน>>>คลังสินค้า เลือกเทมเพลต และตั้งค่าฟิลด์ กฎการจัดประเภทงานแบบไดนามิก เป็นกฎที่คุณต้องการใช้สําหรับเทมเพลตนั้น

Note

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

ตัวอย่าง

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

ตัวอย่างที่ 1: ตั้งค่ากลุ่มงานและลําดับความสําคัญตามผู้ขนส่ง

คลังสินค้าใช้ผู้ขนส่งสามรายที่รับสินค้าในช่วงเวลาที่แตกต่างกันในระหว่างวัน ผู้จัดการคลังสินค้าต้องการกําหนดเส้นทางงานของผู้ขนส่งแต่ละรายให้กับกลุ่มงานที่แยกต่างหาก และกําหนดระดับความสําคัญที่สูงกว่าให้กับการรับของแรกเริ่ม

โดยไม่มีการจัดประเภทแบบไดนามิก การตั้งค่านี้ต้องใช้แม่แบบงานสามแม่แบบ เทมเพลตแต่ละตัวกรองบนรหัสผู้ขนส่งที่แตกต่างกัน แต่ละรหัสมีการตั้งค่ากลุ่มงานและลําดับความสําคัญของตนเอง

ด้วยการจัดประเภทแบบไดนามิก เทมเพลตงานเดี่ยวและกฎหนึ่งข้อจะจัดการกับผู้ขนส่งทั้งสามราย

Switch(workTable.Load.CarrierCode,
    "Carrier1", {WorkPoolId: "Carrier1", DefaultWorkPriority: 100},
    "Carrier2", {WorkPoolId: "Carrier2", DefaultWorkPriority: 50},
    "Carrier3", {WorkPoolId: "Carrier3", DefaultWorkPriority: 10}
)

หากคุณมอบหมายโหลดไปยังผู้ขนส่งรายอื่นในภายหลัง ระบบจะสามารถจัดประเภทงานใหม่โดยอัตโนมัติเมื่อเปิดใช้งานการจัดประเภทใหม่ขณะอัปเดตโหลด

ตัวอย่างที่ 2: การนำสินค้าเข้าคลังโดยตรงไปยังประตูรับ‑ส่งสินค้าที่กำหนดตามผู้ให้บริการขนส่ง

ต่อจากตัวอย่างที่ 1 ผู้จัดการคลังสินค้ายังต้องการจัดเส้นทางสินค้าขาออกไปที่ประตูช่องต่างๆ โดยขึ้นอยู่กับผู้ขนส่ง ด้วยการกําหนดค่าแบบคงที่ แต่ละเทมเพลตงานต้องมีรหัสคําสั่งตําแหน่งที่ตั้งที่แตกต่างกัน

ด้วยการจัดประเภทแบบไดนามิก คุณสามารถเพิ่มการแทนที่รหัสคําสั่งไปยังสูตรเดียวกันได้

Switch(workTable.Load.CarrierCode,
    "Carrier1", {
        WorkPoolId: "Carrier1",
        DefaultWorkPriority: 100,
        DirectiveCodeOverrides: {BAYDOOR: "BAYDOOR-C1"}
    },
    "Carrier2", {
        WorkPoolId: "Carrier2",
        DefaultWorkPriority: 50,
        DirectiveCodeOverrides: {BAYDOOR: "BAYDOOR-C2"}
    },
    "Carrier3", {
        WorkPoolId: "Carrier3",
        DefaultWorkPriority: 10,
        DirectiveCodeOverrides: {BAYDOOR: "BAYDOOR-C3"}
    }
)

ตัวอย่างที่ 3: จัดลําดับความสําคัญงานตามกําหนดเวลาจัดส่ง

แทนที่จะจัดประเภทตามผู้ขนส่ง ตัวอย่างนี้จัดลําดับความสําคัญการทํางานขึ้นอยู่กับว่าโหลดใกล้เคียงกับเวลาการจัดส่งตามกําหนดเวลาอย่างไร โหลดด้วยกําหนดเวลาก่อนหน้านี้ได้รับลําดับความสําคัญสูงกว่าเพื่อให้มั่นใจว่าผู้ปฏิบัติงานเลือกคําสั่งที่ไวต่อเวลามากที่สุดก่อน

สูตรต่อไปนี้จะแปลงเวลาการจัดส่งตามกําหนดเวลาเป็นลําดับความสําคัญตัวเลข การจัดส่งที่กําหนดไว้สําหรับเวลา 9:00 น. จะกลายเป็นลําดับความสําคัญ 900 ในขณะที่การจัดส่ง 3:00 น. จะกลายเป็นลําดับความสําคัญ 1500

{
    DefaultWorkPriority:
        If(Not(IsBlank(workTable.Load.LoadSchedShipUTCDateTime)),
            If(IsToday(workTable.Load.LoadSchedShipUTCDateTime),
                Hour(workTable.Load.LoadSchedShipUTCDateTime) * 100
                    + Minute(workTable.Load.LoadSchedShipUTCDateTime),
                3000),
            Blank())
}

สูตรจะกําหนดลําดับความสําคัญของ 3000 เพื่อโหลดที่กําหนดไว้สําหรับวันในอนาคต (นอกเหนือจากลําดับความสําคัญตามเวลาสูงสุดของ 2359) และส่งกลับค่า Blank() สําหรับการโหลดโดยไม่มีวันที่ที่กําหนดไว้ ซึ่งจะรักษาลําดับความสําคัญเริ่มต้นของเทมเพลตงาน

วิธีอื่นจะคํานวณลําดับความสําคัญตามจํานวนนาทีที่เหลือจนกว่าจะถึงกําหนดเวลาจัดส่ง

{
    DefaultWorkPriority:
        If(Not(IsBlank(workTable.Load.LoadSchedShipUTCDateTime)),
            If(IsToday(workTable.Load.LoadSchedShipUTCDateTime),
                Max(0, DateDiff(Now(), workTable.Load.LoadSchedShipUTCDateTime,
                    TimeUnit.Minutes)),
                24 * 60),
            Blank())
}

Important

วิธีการตามเวลาที่เหลือต้องใช้การรันงานแบตช์สำหรับการจัดประเภทใหม่ตามกำหนดการที่เกิดซ้ำ (เช่น ทุกชั่วโมง) เพื่อให้แน่ใจว่าระดับความสำคัญเป็นปัจจุบัน ข้อกําหนดนี้สามารถเพิ่มโหลดไปยังระบบได้ ทั้งนี้ขึ้นอยู่กับจํานวนของส่วนหัวงานที่เปิด วิธีแบบ time-of-day (สูตรแรก) จะมีประสิทธิภาพมากกว่าเนื่องจากการทํางานต้องการการจัดประเภทใหม่เมื่อมีการเปลี่ยนแปลงเวลาการจัดส่งตามกําหนดเวลาของโหลดเท่านั้น

ตัวอย่างที่ 4: จัดประเภทงานตามโซนการรับของ

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

หากต้องการใช้วิธีนี้ ให้ตั้งค่า ขอบเขต กฎ เป็น ทํางานและบรรทัดงานเริ่มต้น และกําหนดค่าเทมเพลตงานเพื่อจัดกลุ่มงานตามโซน การกําหนดค่านี้ช่วยให้แน่ใจว่าหัวข้องานแต่ละชุดมีบรรทัดที่มาจากโซนเดียวเท่านั้น

สูตรรายการงานเริ่มต้นเชื่อมคํานําหน้ากับรหัสโซนเพื่อสร้างคลาสงานเฉพาะโซน

{
    WorkClassId: Concatenate("S-", workLine.ZoneId)
}

อีกวิธีหนึ่งคือ คุณสามารถตั้งค่ากลุ่มงานแทนคลาสงาน

{
    WorkPoolId: Concatenate("S-", workLine.ZoneId)
}