Compartir a través de


searchAndOpenRecords (Referencia de API JavaScript) para Marco de integración de canal de Dynamics 365 1.0

El método busca el registro en el widget de comunicación durante la comunicación entrante y abre el registro.

Sintaxis

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

Parámetros

Name Type Obligatorio Descripción
entityLogicalName String Nombre de la entidad que se va a buscar y abrir.
queryParameters String Opciones de consulta del sistema OData, $select y $expand, para recuperar los datos.

- Use la opción de consulta del sistema $select para limitar las propiedades devueltas, incluyendo una lista separada por comas de nombres de propiedad. Esta es una práctica recomendada importante de rendimiento. Si las propiedades no se especifican con $select, se devolverán todas las propiedades.

- Use la opción de consulta del sistema $expand para controlar los datos devueltos por las entidades relacionadas. Si incluye solo el nombre de la propiedad de navegación, recibirá todas las propiedades de registros relacionados. Puede limitar las propiedades devueltas para registros relacionados con la opción de la consulta del sistema $select entre paréntesis después del nombre de propiedad de navegación. Use esta opción para las propiedades de navegación de un solo valor y valoradas como colección.

Puede especificar las opciones de consulta comenzando con ?. Puede especificar también varias opciones de consulta usando & para separar las opciones de consulta.
Por ejemplo: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
searchOnly Booleana Establezca searchOnly en false cuando desee que la búsqueda muestre un solo registro basado en el contexto de búsqueda. Si el resultado de la búsqueda tiene varios registros y si ha utilizado queryParameters para indicar la opción de búsqueda, al establecer searchOnly en false se abre y rellena la página de búsqueda con la opción de búsqueda.
Nota: Si el resultado de la búsqueda tiene varios registros, entonces solo se abren los registros para las entidades Cuenta, Contacto y Actividad.

Establezca como true solo para obtener los resultados de la búsqueda como objeto Promise, en lugar del registro o la página de búsqueda.
searchType Number No Tipo de página de búsqueda para abrir—0 para búsqueda por relevancia y 1 para búsqueda categorizada. Si no se proporciona ningún parámetro, los registros se buscan por categoría.
successCallback Function No Una función para llamar cuando la solicitud se realiza correctamente.
errorCallback Function No Una función para llamar cuando la solicitud produce error.

Valor devuelto

Devuelve un objeto Promise de tipo String. Si tiene éxito, el método devuelve los resultados de búsqueda según consulta de búsqueda.

Nota

  • Puede obtener un máximo de 5000 registros a la vez (si existen más de 5000 registros). Puede limitar los resultados mediante el uso de opciones de consulta como $filter, $select y $top en los parámetros del método como se muestra en la sección Ejemplos. Para obtener más información: Información general de las opciones de consulta
  • Para realizar una búsqueda basada en la relevancia, debe configurar la búsqueda por relevancia. Si la búsqueda por relevancia no está habilitada, la búsqueda se realizará según la categoría.

Ejemplos

Buscar y abrir el registro de contacto

Este código de ejemplo busca el nombre y el número de teléfono de un registro de contacto. Abre una página de resultados de búsqueda vacía.


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

Buscar y mostrar en la lista de registros de contactos

Este código de ejemplo busca y muestra el nombre y el número de teléfono de los registros de la entidad Contacto cuyo nombre de pila es Contoso. Utilizando $search podemos asegurarnos de que la página de resultados de búsqueda se complete con término de búsqueda Contoso.

Nota

Si usa $search en la consulta y el parámetro searchOnly se establece en false, siempre abrirá la página de resultados de búsqueda y no el registro recuperado. Si desea abrir el registro recuperado, no use el parámetro $search en la consulta.


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

Busque y muestre los 10 registros de contactos activos principales

Este código de ejemplo busca y muestra los 10 registros de contactos activos principales.

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

Busque y nombre y número de teléfono especificando el tipo búsqueda por relevancia

Este código de muestra busca y muestra el nombre y el número de teléfono de los registros de la entidad de contacto especificando el tipo búsqueda por relevancia.

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