แชร์ผ่าน


ขยาย Universal Resource Scheduling เพื่อกรองทรัพยากรที่สามารถจองได้ตามลําดับชั้นของอาณาเขต

บทความนี้กล่าวถึงวิธีการขยาย Universal Resource Scheduling เพื่อกรองทรัพยากรที่สามารถจองได้ และพิจารณาความสัมพันธ์ตามลําดับชั้นของอาณาเขต ด้วยเหตุนี้เมื่อค้นหาด้วยข้อจํากัดของอาณาเขต ระบบจะค้นหาทรัพยากรที่สามารถจองได้ที่ตรงกับอาณาเขตบริการรองที่เกี่ยวข้องกับข้อจํากัด

ข้อกําหนดเบื้องต้น

ต้องกําหนดค่าลําดับชั้นของอาณาเขตให้สะท้อนถึงการตั้งค่าอาณาเขตบริการขององค์กร

ขยายบอร์ดกําหนดการเพื่อกรองตามลําดับชั้นของอาณาเขต

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

อัปเดตเค้าโครงตัวกรอง

ตามค่าเริ่มต้น ฟิลด์อาณาเขตจะให้คุณเลือกค่าอาณาเขตได้หลายค่า เมื่อต้องการพิจารณาลําดับชั้น ฟิลด์ต้องยอมรับอาณาเขตเพียงอาณาเขตเดียว

  1. เปิดการตั้งค่าบอร์ดกําหนดการ และไปที่ส่วนอื่นๆ

  2. ในส่วน เค้าโครงตัวกรอง ให้สร้างเค้าโครงตัวกรองใหม่และตั้งชื่อ

  3. เปลี่ยนการตั้งค่าคอนฟิกฟิลด์อาณาเขตเพื่อไม่อนุญาตให้มีค่าหลายค่า:

    <control type="combo" source="entity" key="Territories" unspecified-key="UnspecifiedTerritory" label-id="ScheduleAssistant.West.Territories" entity="territory" multi="false"  />

  4. เปลี่ยนเค้าโครงตัวกรองเพื่อใช้เค้าโครงที่คุณสร้างขึ้นและบันทึกการเปลี่ยนแปลงของคุณ

อัปเดตคำสั่งค้นหาการเรียกคืนทรัพยากร

เมื่อต้องการรับลําดับชั้นอาณาเขตและพิจารณาทรัพยากรจากอาณาเขตหลักหรืออาณาเขตย่อย ให้แก้ไขคิวรี ดึงทรัพยากร

  1. เปิดการตั้งค่าบอร์ดกําหนดการ และไปที่ส่วนอื่นๆ

  2. ในส่วน การสืบค้นทรัพยากร ให้สร้างแบบสอบถามใหม่และตั้งชื่อ

  3. แทรกส่วนย่อยของโค้ดต่อไปนี้ในข้อกําหนดคิวรีใหม่:

    
    <!-- Territory join --> 
    
    <link-entity  name="msdyn_resourceterritory" from="msdyn_resource" to="bookableresourceid"  link-type="outer"> 
    
    <link-entity ufx:if="$input/Territories" name="territory" alias="territory" link-type="inner" to="msdyn_territory" from="territoryid"> 
    
    <!-- Get the territory name --> 
    
    <attribute name="name" alias="territoryname" groupby="true" /> 
    
    <filter> 
    
        <condition attribute="territoryid" operator="not-null" /> 
    
    </filter> 
    
    </link-entity> 
    
    </link-entity> 
    
    <!-- Territory filter --> 
    
    <filter type="or" ufx:if="$input/Territories"> 
    
        <condition ufx:if="$input/UnspecifiedTerritory[. = 'true']" entityname="territory" attribute="territoryid" operator="null" /> 
    
        <condition  entityname="territory" attribute="territoryid" operator="eq-or-under"> 
    
            <ufx:value select="$input/Territories" attribute="value" /> 
    
        </condition> 
    
    </filter>
    

    เปลี่ยนทิศทางของความสัมพันธ์ลําดับชั้นโดยใช้ eq-or-under หรือตัว eq-or-above ดําเนินการใน <condition entityname="territory" attribute="territoryid" operator="eq-or-under"> องค์ประกอบ โดยกําหนดว่าคิวรีจะค้นหาทรัพยากรจากหลักไปยังรองหรือในทางกลับกัน

  4. เปลี่ยน คิวรี ดึงทรัพยากร เพื่อใช้แบบสอบถามที่คุณสร้างขึ้นและบันทึกการเปลี่ยนแปลงของคุณ

ขยายผู้ช่วยกําหนดการเพื่อกรองตามอาณาเขตโดยพิจารณาลําดับชั้น

ผู้ช่วยกําหนดการดึงข้อมูลอาณาเขตบริการจากความต้องการ การกําหนดค่าสําหรับผู้ช่วยกําหนดการไม่ทํางานบนแท็บหรือมุมมองแบบกําหนดเอง

  1. เปิดการตั้งค่าบอร์ดกําหนดการ และไปที่ ชนิดกําหนด>การใบสั่งงาน

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

  3. ในส่วน การดึงข้อจำกัดด้วยตัวช่วยกำหนดการ ให้เปลี่ยนองค์ประกอบอาณาเขตจาก <Territories ufx:select="lookup-to-list(Requirement/msdyn_territory)" /> เป็น <Territories ufx:select="Requirement/msdyn_territory"/>

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

นอกจากนี้ โปรดดู