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 | Sí | Nombre de la entidad que se va a buscar y abrir. |
queryParameters | String | Sí | 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 | Sí | 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
}
);