Partilhar via


searchAndOpenRecords (Referência da API JavaScript) para Dynamics 365 Channel Integration Framework 1.0

O método procura o registro do widget de comunicação durante a comunicação de entrada e abre o registro.

Sintaxe

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

Parâmetros

Nome Tipo Obrigatório Description
entityLogicalName Cordão Yes Nome da entidade a pesquisar e abrir.
queryParameters Cordão Yes Opções de consulta do sistema OData, $select e $expand, para recuperar seus dados.

- Use a opção $select consulta do sistema para limitar as propriedades retornadas, incluindo uma lista separada por vírgulas de nomes de propriedades. Trata-se de uma importante prática recomendada em termos de desempenho. Se as propriedades não forem especificadas usando $select, todas as propriedades serão retornadas.

- Utilize a opção de consulta do sistema $expand para controlar os dados devolvidos pelas entidades relacionadas. Se você incluir apenas o nome da propriedade de navegação, receberá todas as propriedades dos registros relacionados. Você pode limitar as propriedades retornadas para registros relacionados usando a opção $select consulta do sistema entre parênteses após o nome da propriedade de navegação. Use isso para propriedades de navegação com valor único e com valor de coleção.

Você pode especificar as opções de consulta começando com ?. Você também pode especificar várias opções de consulta usando & para separar as opções de consulta.
Por exemplo: ?$select=name&$expand=primarycontactid($select=contactid,fullname)
pesquisaApenas booleano Yes Defina como searchOnlyfalse quando desejar que a pesquisa exiba um único registro com base no contexto da pesquisa. Se o resultado da pesquisa tiver vários registros e se você tiver usado queryParameters para indicar a opção de pesquisa, a configuração searchOnly como false será aberta e preencherá a página de pesquisa com a opção de pesquisa.
Observação: Se o resultado da pesquisa tiver vários registros, os registros das entidades Conta, Contato e Atividade serão abertos apenas.

Defina como true para obter os resultados da pesquisa como um objeto Promise, em vez do registro ou da página de pesquisa.
searchType Número Não Tipo de página de pesquisa a abrir—0 para pesquisa de relevância e 1 para pesquisa categorizada. Se nenhum parâmetro for fornecido, os registros serão pesquisados por categoria.
correlationId GUID Não Usado para agrupar as chamadas de API relacionadas para telemetria de diagnóstico.
successCallback Função Não Uma função a ser chamada quando a solicitação for bem-sucedida.
errorCallback Função Não Uma função para chamar quando a solicitação falhar.

Valor de retorno

Retorna um objeto Promise do tipo String. Quando for bem-sucedido, o método retorna os resultados da pesquisa de acordo com a consulta de pesquisa.

Observação

  • Pode obter um máximo de 5000 registos de uma só vez (se existirem mais de 5000 registos). Você pode restringir os resultados usando opções de consulta como $filter, $select e $top nos parâmetros do método, conforme mostrado na seção Exemplos . Para obter mais informações: Visão geral das opções de consulta
  • Para pesquisar com base na relevância, você deve configurar a pesquisa de relevância. Se a pesquisa de relevância não estiver ativada, a pesquisa será realizada com base na categoria.

Examples

Pesquisar e abrir o registo de contacto

Este código de exemplo pesquisa o nome e o número de telefone de um registro de contato. Abre uma página de resultados de pesquisa vazia.


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

Pesquisar e exibir na lista de registros de contato

Este código de exemplo pesquisa e exibe o nome e o número de telefone dos registros de entidade de contato em que o primeiro nome é Contoso. Usando $searcho , você pode garantir que a página de resultados da pesquisa esteja preenchida com o termo de pesquisa Contoso.

Observação

Se você estiver usando $search na consulta e o searchOnly parâmetro estiver definido como false, ele sempre abrirá a página de resultados da pesquisa e não o registro recuperado. Se você quiser abrir o registro recuperado, não use $search o parâmetro na 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
    }
);

Pesquisar e exibir os 10 principais registros de contatos ativos

Este código de exemplo pesquisa e exibe os 10 principais registros de contato ativos.

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

Pesquisar e exibir nome e número de telefone, especificando o tipo de pesquisa de relevância

Este código de exemplo pesquisa e exibe o nome e o número de telefone dos registros de entidade de contato especificando o tipo de pesquisa de relevância.

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