searchAndOpenRecords (Referință API JavaScript) pentru Dynamics 365 Channel Integration Framework 2.0

Metoda caută înregistrarea din widgetul de comunicare în timpul comunicării de intrare și deschide înregistrarea.

Sintaxă

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

Parametrii

Nume Type Obligatoriu Descriere
entityLogicalName Șir Da Numele entității de căutat și deschis.
queryParameters Șir Da Opțiunile de interogare a sistemului OData, $select și $expand, pentru a vă prelua datele.

- Utilizați opțiunea de interogare a sistemului $select pentru a limita proprietățile returnate prin includerea unei liste separate prin virgulă de nume de proprietăți. Aceasta este o bună practică importantă de performanță. Dacă proprietățile nu sunt specificate folosind $select, toate proprietățile vor fi returnate.

- Utilizați opțiunea de interogare a sistemului $expand pentru a controla datele returnate de entitățile asociate. Dacă includeți doar numele proprietății de navigare, veți primi toate proprietățile pentru înregistrările asociate. Puteți limita proprietățile returnate pentru înregistrările asociate utilizând opțiunea de interogare de sistem $select în paranteze după numele proprietății de navigare. Utilizați această opțiune atât pentru proprietățile de navigare cu o singură valoare, cât și pentru cele cu valoare de colecție.

Puteți specifica opțiunile de interogare începând cu ?. De asemenea, puteți specifica mai multe opțiuni de interogare utilizând & pentru a separa opțiunile de interogare.
De exemplu: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
căutare Boolean Da Setați la searchOnlyfals atunci când doriți ca căutarea să afișeze o singură înregistrare pe baza contextului de căutare. Dacă rezultatul căutării are mai multe înregistrări și dacă ați indicat queryParameters opțiunea de căutare, setarea searchOnly la fals se deschide și completează pagina de căutare cu opțiunea de căutare.
Notă: Dacă rezultatul căutării are mai multe înregistrări, atunci sunt deschise numai înregistrările pentru entitățile Cont, Persoană de contact și Activitate .

Setați la true pentru a obține rezultatele căutării ca obiect Promise, în loc de înregistrare sau pagină de căutare.
căutareTip Număr Nu Tipul paginii de căutare de deschis - 0 pentru căutarea după relevanță și 1 pentru căutarea pe categorii. Dacă nu este furnizat niciun parametru, înregistrările sunt căutate după categorie.
corelațieId GUID Nu Se utilizează pentru a grupa apelurile API asociate pentru telemetria de diagnosticare.
succesApelare înapoi Funcționa Nu O funcție de apelat atunci când solicitarea are succes.
errorCallback Funcționa Nu O funcție de apelat atunci când solicitarea eșuează.

Valoare returnată

Returnează un obiect Promise de tip String. În caz de succes, metoda returnează rezultatele căutării conform interogării de căutare.

Notă

  • Puteți prelua maximum 5000 de înregistrări simultan (dacă există mai mult de 5000 de înregistrări). Puteți restrânge rezultatele utilizând opțiuni de interogare, cum ar fi $filter, $select și $top în parametrii metodei, așa cum se arată în secțiunea Exemple . Informații suplimentare: Prezentare generală a opțiunilor de interogare
  • Pentru a căuta în funcție de relevanță, trebuie să configurați căutarea după relevanță. Dacă căutarea după relevanță nu este activată, atunci căutarea va fi efectuată în funcție de categorie.

Exemple

Căutați și deschideți înregistrarea contactului

Acest exemplu de cod caută numele și numărul de telefon al unei înregistrări de contact. Se deschide o pagină goală cu rezultatele căutării.


// 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
    }
);

Căutați și afișați în lista de înregistrări de contacte

Acest exemplu de cod caută și afișează numele și numărul de telefon al înregistrărilor entității Contact în care prenumele este Contoso. Utilizând $search, vă puteți asigura că pagina cu rezultatele căutării este populată cu termenul de căutare Contoso.

Notă

Dacă utilizați $search în interogare și parametrul searchOnly este setat la false, se va deschide întotdeauna pagina cu rezultatele căutării și nu înregistrarea preluată. Dacă doriți să deschideți înregistrarea preluată, nu utilizați $search parametrul în interogare.


// 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
    }
);

Căutați și afișați primele 10 înregistrări de contacte active

Acest exemplu de cod caută și afișează primele 10 înregistrări de contact active.

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
    }
);

Căutați și afișați numele și numărul de telefon specificând tipul de căutare după relevanță

Acest exemplu de cod caută și afișează numele și numărul de telefon al înregistrărilor entității Contact, specificând tipul de căutare după relevanță.

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     
    } 
);