แชร์ผ่าน


searchAndOpenRecords (การอ้างอิง JavaScript API) สําหรับ Dynamics 365 Channel Integration Framework 1.0

วิธีการจะค้นหาเรกคอร์ดจากวิดเจ็ตการสื่อสารระหว่างการสื่อสารขาเข้า และเปิดเรกคอร์ด

Syntax

Microsoft.CIFramework.searchAndOpenRecords(entityLogicalName, queryParameters, searchOnly, correlationId, searchType).then(successCallback, errorCallback);

Parameters

ชื่อ ประเภท ต้องมี คำอธิบาย
ชื่อ entityLogicalName สตริง ใช่ ชื่อของเอนทิตีที่จะค้นหาและเปิด
queryParameters สตริง ใช่ ตัวเลือกการสืบค้นระบบ OData $select และ $expand เพื่อดึงข้อมูลของคุณ

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

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

คุณสามารถระบุตัวเลือกแบบสอบถามที่ขึ้นต้นด้วย? คุณยังสามารถระบุตัวเลือกแบบสอบถามได้หลายแบบโดยใช้ & เพื่อแยกตัวเลือกแบบสอบถาม
ตัวอย่าง: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
ค้นหาเท่านั้น แบบบูลีน ใช่ ตั้งค่าเป็น searchOnlyfalse เมื่อคุณต้องการให้การค้นหาแสดงระเบียนเดียวตามบริบทการค้นหา หากผลการค้นหามีหลายระเบียน และหากคุณเคยใช้เพื่อ queryParameters ระบุตัวเลือกการค้นหา การตั้งค่า searchOnly เป็น false จะเปิดขึ้นและเติมข้อมูลในหน้าการค้นหาด้วยตัวเลือกการค้นหา
โน้ต: ถ้าผลลัพธ์การค้นหามีหลายเรกคอร์ด เรกคอร์ดสําหรับเอนทิตี ลูกค้าองค์กรผู้ติดต่อ และกิจกรรม จะถูกเปิดเท่านั้น

ตั้งค่าเป็น true เพื่อรับผลลัพธ์ของการค้นหาเป็นออบเจ็กต์ Promise แทนที่จะเป็นเรกคอร์ดหรือหน้าการค้นหา
ประเภทการค้นหา ตัวเลข ไม่ ประเภทของหน้าค้นหาที่จะเปิด - 0 สําหรับการค้นหาความเกี่ยวข้อง และ 1 สําหรับการค้นหาที่จัดหมวดหมู่ หากไม่มีการระบุพารามิเตอร์ ระเบียนจะถูกค้นหาตามประเภท
correlationId GUID ไม่ ใช้เพื่อจัดกลุ่มการเรียก API ที่เกี่ยวข้องเข้าด้วยกันสําหรับการวัดทางไกลในการวินิจฉัย
successCallback ฟังก์ชัน ไม่ ฟังก์ชันที่จะเรียกใช้เมื่อคําขอสําเร็จ
errorCallback ฟังก์ชัน ไม่ ฟังก์ชันที่จะเรียกใช้เมื่อคําขอล้มเหลว

ส่งคืนค่า

ส่งกลับวัตถุ Promise ของประเภท String เมื่อสําเร็จ เมธอดจะส่งคืนผลการค้นหาตามคําค้นหา

Note

  • คุณสามารถดึงข้อมูลได้สูงสุด 5000 ระเบียนในคราวเดียว (หากมีมากกว่า 5000 ระเบียน) คุณสามารถจํากัดผลลัพธ์ให้แคบลงได้โดยใช้ตัวเลือกคิวรี เช่น $filter, $select และ $top ในพารามิเตอร์วิธีการตามที่แสดงในส่วนตัวอย่าง ข้อมูลเพิ่มเติม: ภาพรวมตัวเลือกคิวรี
  • เมื่อต้องการค้นหาตามความเกี่ยวข้อง คุณต้องตั้งค่าคอนฟิกการค้นหาความเกี่ยวข้อง หากไม่ได้เปิดใช้งานการค้นหาความเกี่ยวข้อง การค้นหาจะดําเนินการตามประเภท

ตัวอย่าง

ค้นหาและเปิดเรกคอร์ดผู้ติดต่อ

โค้ดตัวอย่างนี้ค้นหาชื่อและหมายเลขโทรศัพท์ของเรกคอร์ดผู้ติดต่อ มันจะเปิดหน้าผลการค้นหาที่ว่างเปล่า


// retrieve contact record
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false).
then(
    function success(result) { 
    res=JSON.parse(result);
        console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

ค้นหาและแสดงในรายการเรกคอร์ดผู้ติดต่อ

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

Note

ถ้าคุณกําลังใช้ใน $search คิวรีและ searchOnly ตั้งค่าพารามิเตอร์เป็น falseจะเปิดหน้าผลลัพธ์การค้นหาเสมอ ไม่ใช่เรกคอร์ดที่ดึงมา ถ้าคุณต้องการเปิดเรกคอร์ดที่ดึงมา อย่าใช้ $search พารามิเตอร์ในแบบสอบถาม


// Retrieve Contact entity record
// Change searchOnly parameter to true, if you do not want to open the search results page
Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1&$filter=firstname eq 'Contoso'&$search=Contoso", false).
then(
    function success(result) {
    res=JSON.parse(result);
        console.log(`The caller name is: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

ค้นหาและแสดงเรกคอร์ดผู้ติดต่อที่ใช้งานอยู่ 10 อันดับแรก

โค้ดตัวอย่างนี้ค้นหาและแสดงเรกคอร์ดผู้ติดต่อที่ใช้งานอยู่ 10 อันดับแรก

Microsoft.CIFramework.searchAndOpenRecords("contact", "$filter=statecode eq 0&$select=description&$top=10", false).
then(
    function success(result) { 
    res=JSON.parse(result);
        // perform operations on record retrieval and opening
    },
    function (error) {
        console.log(error.message);
        // handle error conditions
    }
);

ค้นหาและแสดงชื่อและหมายเลขโทรศัพท์โดยระบุชนิดการค้นหาที่เกี่ยวข้อง

โค้ดตัวอย่างนี้ค้นหาและแสดงชื่อและหมายเลขโทรศัพท์ของเรกคอร์ดเอนทิตีผู้ติดต่อ โดยระบุชนิดการค้นหาความเกี่ยวข้อง

Microsoft.CIFramework.searchAndOpenRecords("contact", "?$select=fullname,telephone1", false, "b44d31ac-5fd1-e811-8158-000d3af97055", 0).
then(     
    function success(result) {     
    res=JSON.parse(result);         
    console.log(`Record values: Full Name: ${res[0].fullname}, Telephone Number: ${res[0].telephone1}`);         
       // perform operations on record retrieval and opening 
    },     
    function (error) {         
        console.log(error.message);         
        // handle error conditions     
    } 
);