Udostępnij przez


searchAndOpenRecords (dokumentacja interfejsu API języka JavaScript) dla Dynamics 365 Channel Integration Framework 1.0

Metoda wyszukuje rekord z widgetu komunikacji podczas komunikacji przychodzącej i otwiera rekord.

Składnia

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

Parametry

Name Typ Wymagane Description
entityLogicalName (nazwa_logiczna) Sznurek Tak Nazwa podmiotu, który ma zostać przeszukany i otwarty.
queryParameters Sznurek Tak Opcje kwerend systemowych OData, $select i $expand, w celu pobrania danych.

- Użyj opcji $select zapytanie systemowe, aby ograniczyć zwracane właściwości, dołączając rozdzielaną przecinkami listę nazw właściwości. Jest to ważne najlepsze rozwiązanie dotyczące wydajności. Jeśli właściwości nie zostaną określone przy użyciu $select, zostaną zwrócone wszystkie właściwości.

- Użyj opcji $expand zapytanie systemowe, aby sterować danymi zwracanymi przez encje pokrewne. Jeśli dołączysz tylko nazwę właściwości nawigacji, otrzymasz wszystkie właściwości dla powiązanych rekordów. Właściwości zwracane dla rekordów pokrewnych można ograniczyć za pomocą opcji $select kwerendy systemowej w nawiasach po nazwie właściwości nawigacji. Użyj tej opcji zarówno dla właściwości nawigacji jednowartościowych, jak i kolekcji.

Opcje zapytania można określić rozpoczynając się od ?. Można również określić wiele opcji zapytania, używając & polecenia do oddzielenia opcji zapytania.
Przykład: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
searchOnly (tylko wyszukiwanie) logiczny Tak Ustaw wartość searchOnlyfalse , jeśli chcesz, aby wyszukiwanie wyświetlało pojedynczy rekord na podstawie kontekstu wyszukiwania. Jeśli wynik wyszukiwania zawiera wiele rekordów i jeśli opcja wyszukiwania została użyta queryParameters do wskazania, ustawienie searchOnlywartości false powoduje otwarcie i wypełnienie strony wyszukiwania opcją wyszukiwania.
Nuta: Jeśli wynik wyszukiwania zawiera wiele rekordów, otwierane są rekordy tylko dla encji Konto, Kontakt i Działanie .

Ustaw wartość true , aby uzyskać wyniki wyszukiwania jako obiekt Promise, a nie rekord lub stronę wyszukiwania.
Typ wyszukiwania Number Nie. Typ strony wyszukiwania, która ma zostać otwarta — 0 dla wyszukiwania wg stopnia zgodności i 1 dla wyszukiwania według kategorii. Jeśli nie zostanie podany żaden parametr, rekordy są przeszukiwane według kategorii.
correlationId (identyfikator korelacji) GUID Nie. Służy do grupowania powiązanych wywołań interfejsu API na potrzeby telemetrii diagnostycznej.
successCallback (pomyślne wywołanie zwrotne) Funkcja Nie. Funkcja do wywołania, gdy żądanie zakończy się pomyślnie.
errorOddzwanianie Funkcja Nie. Funkcja do wywołania, gdy żądanie zakończy się niepowodzeniem.

Wartość zwracana

Zwraca obiekt Promise typu String. W przypadku powodzenia metoda zwraca wyniki wyszukiwania zgodnie z zapytaniem wyszukiwania.

Uwaga / Notatka

  • Jednorazowo można pobrać maksymalnie 5000 rekordów (jeśli istnieje więcej niż 5000 rekordów). Wyniki można zawęzić przy użyciu opcji zapytania, takich jak $filter, $select i $top w parametrach metody, jak pokazano w sekcji Przykłady . Więcej informacji: Omówienie opcji zapytania
  • Aby wyszukiwać na podstawie trafności, należy skonfigurować wyszukiwanie wg stopnia zgodności. Jeśli wyszukiwanie wg stopnia zgodności nie jest włączone, wyszukiwanie zostanie przeprowadzone na podstawie kategorii.

Przykłady

Wyszukiwanie i otwieranie rekordu kontaktu

Ten przykładowy kod przeszukuje nazwę i numer telefonu rekordu kontaktu. Otworzy się pusta strona wyników wyszukiwania.


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

Wyszukiwanie i wyświetlanie na liście rekordów kontaktów

Ten przykładowy kod wyszukuje i wyświetla nazwę i numer telefonu rekordów encji Kontakt , w których imię to Contoso. Za pomocą $searchprogramu możesz upewnić się, że strona wyników wyszukiwania jest wypełniona wyszukiwanym terminem Contoso.

Uwaga / Notatka

Jeśli używasz $search w zapytaniu, a searchOnly parametr jest ustawiony na false, zawsze będzie otwierać stronę wyników wyszukiwania, a nie pobrany rekord. Jeśli chcesz otworzyć pobrany rekord, nie używaj $search parametru w zapytaniu.


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

Wyszukiwanie i wyświetlanie 10 pierwszych rekordów aktywnych kontaktów

Ten przykładowy kod wyszukuje i wyświetla 10 pierwszych aktywnych rekordów kontaktów.

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

Wyszukaj i wyświetl nazwę oraz numer telefonu, określając typ wyszukiwania wg stopnia zgodności

Ten przykładowy kod wyszukuje i wyświetla nazwę i numer telefonu rekordów encji Kontakt, określając typ wyszukiwania wg stopnia zgodności.

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