เมื่อเปลี่ยนแปลงเหตุการณ์ที่เปิดใช้งานฟิลด์จะไม่พร้อมใช้งานในหน้าต่างแก้ไขหลายเรกคอร์ดใน Microsoft Dynamics CRM 4.0

นำไปใช้กับ: Dynamics CRM 4.0

อาการ


เมื่อคุณแก้ไขหลายเรกคอร์ดในหน้าต่างแก้ไขหลายเรกคอร์ดใน Microsoft Dynamics CRM 4.0 ฟิลด์ที่มีเหตุการณ์เปิดใช้งานจะไม่พร้อมใช้งาน นอกจากนี้ เหตุการณ์เมื่อมีการโหลดการกำหนดเองใด ๆ หรือเมื่อมีการบันทึกเหตุการณ์สำหรับฟอร์มถูกปิดใช้งาน

สาเหตุ


ปัญหานี้เกิดขึ้นเนื่องจากเขตข้อมูลที่มีเหตุการณ์เปิดใช้งานในหน้าต่างการแก้ไขหลายระเบียนที่ปิดการใช้งาน Microsoft Dynamics CRM 4.0 Microsoft Dynamics CRM 4.0 ปิดใช้งานฟิลด์เหล่านี้เมื่อต้องการป้องกันเหตุการณ์ก่อให้เกิดข้อผิดพลาด

วิธีแก้ปัญหา


เมื่อต้องการหลีกเลี่ยงปัญหานี้ เปิดใช้งานฟิลด์ที่มีเหตุการณ์เปิดใช้งานด้วยตนเอง ตัวอย่างเช่น เพื่อเปิดใช้งานฟิลด์parentaccountidด้วยตนเอง ให้ทำตามขั้นตอนเหล่านี้:
  1. ส่งออกการกำหนดเองของบัญชี เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
    1. ใน Microsoft Dynamics CRM 4.0 คลิกการตั้งค่าคลิกกำหนดเองแล้ว คลิ กส่งออกการกำหนดเอง
    2. คลิกบัญชีคลิกการดำเนินการเพิ่มเติมและจากนั้น คลิกส่งออกการกำหนดเองที่เลือกบนแถบเครื่องมือ
    3. คลิกตกลงและจากนั้น บันทึกแฟ้มส่งออกเป็นแฟ้ม AccountCustom.xml
  2. ใน Notepad เปิดแฟ้ม AccountCustom.xml และจากนั้น ค้นหาส่วนต่อไปนี้:
    ป้ายชื่อคำอธิบาย = "บัญชีหลัก"
  3. ในส่วนนี้ของแฟ้ม AccountCustom.xml ค้นหาบรรทัดของรหัสต่อไปนี้
    <event name="setadditionalparams" application="true" active="true">
  4. เปลี่ยนบรรทัดของรหัสที่มีอยู่ดังนี้
    <event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
  5. ถัดไป ค้นหาบรรทัดของรหัสต่อไปนี้
    <event name="onchange" application="false" active="true">
  6. เปลี่ยนบรรทัดของรหัสที่มีอยู่ดังนี้
    <event name="onchange" application="false" active="true" BehaviorInBulkEditForm="EnableButNoRender">
  7. บันทึกแฟ้ม AccountCustom.xml เปลี่ยนแปลง
  8. นำเข้าแฟ้ม AccountCustom.xml เปลี่ยนแปลง เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
    1. คลิกการตั้งค่าคลิกกำหนดเองและจากนั้น คลิกนำเข้า
    2. คลิกแฟ้ม AccountCustom.xml เปลี่ยนแปลง และจากนั้น คลิกอัปโหลด
    3. คลิกบัญชีคลิกการดำเนินการเพิ่มเติมและจากนั้น คลิกนำเข้าการกำหนดเองที่เลือก
  9. เผยแพร่การกำหนดเอง เมื่อต้องการทำเช่นนี้ ให้ทำตามขั้นตอนเหล่านี้
    1. คลิกการตั้งค่าคลิกกำหนดเองและจากนั้น คลิกเอนทิตีที่กำหนดเอง
    2. คลิกบัญชีแล้ว คลิ กประกาศบนแถบเครื่องมือ
  10. เปิดการแก้ไขจำนวนมากฟอร์ม สำหรับลูกค้าองค์กร 1 และลูกค้าองค์กร 2
  11. คลิกปุ่มการค้นหาลูกค้าองค์กรหลัก

    เหตุการณ์ต่อไปนี้อาจจะแสดง
    <events><event name="setadditionalparams" application="true" active="true" BehaviorInBulkEditForm="EnabledButNoRender">
    <script><![CDATA[
    var oLookup = event.srcElement;
    var sAccountId = crmFormSubmit.crmFormSubmitId.value;
    if (sAccountId != "") /* parent account is being updated, filter out this account */
    {
    oLookup.lookupclass="ParentLookup";
    oLookup.AddParam("currentaccount", sAccountId);
    }
    ]]></script>
    </event>
    </events>

ทำตามขั้นตอนเหล่านี้ สำหรับเขตข้อมูลParentCustomerIDบนเอนทิตีผู้ติดต่อหรือ สำหรับเขตข้อมูลใด ๆ ที่มีเหตุการณ์ ค่าถูกต้องสำหรับเขตข้อมูลเหล่านี้มีดังนี้:
  • เปิดใช้งาน
    ถ้าคุณใช้ค่านี้ ฟิลด์จะเปิดใช้งาน นอกจากนี้ รหัสสำหรับเหตุการณ์จะเรียกใช้เมื่อเหตุการณ์ถูกเรียก
  • ปิดใช้งาน
    ถ้าคุณใช้ค่านี้ ฟิลด์ถูกปิดใช้งาน
  • EnabledButNoRender
    ถ้าคุณใช้ค่านี้ ฟิลด์จะเปิดใช้งาน อย่างไรก็ตาม รหัสสำหรับเหตุการณ์จะเรียกใช้เมื่อเหตุการณ์ถูกเรียก

ข้อมูลเพิ่มเติม


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

ฟังก์ชันนี้จะพร้อมใช้งานสำหรับเหตุการณ์ระบุเท่านั้น  เหตุการณ์เมื่อมีการโหลดและเมื่อมีการบันทึกจะไม่ทริกเกอร์ และนี้จะทำงานตามที่ออกแบบมา