Opções de consulta do sistema OData usando o ponto de extremidade do OData

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

É possível refinar os resultados da consulta usando as opções de consulta do sistema. A tabela a seguir lista as opções de cadeia de caracteres da consulta definidas no protocolo do OData, que são implementadas no ponto de extremidade do OData para o Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015.

Opção

Descrição

$expand

Direciona os registros relacionados que devem ser recuperados no registro ou no conjunto que está sendo recuperado.

$filter

Especifica uma expressão ou função que deve ser avaliada como verdadeira para que um registro seja retornado na coleção.

$orderby

Determina quais valores são usados para ordenar um conjunto de registros.

$select

Especifica um subconjunto de propriedades que serão retornadas.

$skip

Define o número de registros que serão ignorados antes que ele recupere os registros de um conjunto.

$top

Determina o número máximo de registros que serão retornados.

$expand

Direciona os registros relacionados que devem ser recuperados no registro ou no conjunto que está sendo recuperado.

Se desejar recuperar os registros relacionados, localize o nome do relacionamento entre entidades que define esse relacionamento. Talvez seja necessário exibir as informações do relacionamento entre entidades no aplicativo para identificar corretamente o relacionamento ou a linguagem de definição de esquema conceitual (CSDL) do Serviço de Dados da Organização.

Por exemplo, para recuperar registros de oportunidade relacionados às contas, use o relacionamento entre entidades opportunity_customer_accounts. A consulta /AccountSet?$expand=opportunity_customer_accounts retorna os registros de oportunidade e os registros da conta.

Se estiver limitando as colunas retornadas, também será necessário incluir o nome da propriedade de navegação na consulta. Por exemplo, a consulta /AccountSet?$select=Name,opportunity_customer_accounts&$expand=opportunity_customer_accounts retorna somente o nome da conta e os registros de oportunidade expandidos.

O Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 não oferece suporte a consultas de propriedade de relacionamento em vários níveis. Por exemplo, esta consulta, destinada a recuperar informações sobre o usuário proprietário das oportunidades relacionadas às contas, não funcionará: /AccountSet?$expand=opportunity_customer_accounts/opportunity_owning_user.

Por padrão, é possível definir até seis relacionamentos para serem expandidos. Esta consulta, que expande as oportunidades e o usuário do sistema que é o proprietário da conta, /AccountSet?$select=Name,opportunity_customer_accounts,user_accounts&$expand=opportunity_customer_accounts,user_accounts funcionará.

Observação

O número de registros relacionados retornados está sujeito a mesma limitação do número de registros retornados. Para obter mais informações, consulte Limitações no número de registros retornados. É possível aumentar o número de relacionamentos a serem expandidos alterando o valor da configuração ServerSettingsMaxExpandCount.

<<<<<<< HEAD

=======

fe691d894f0f328d7ef70a2b278a480999857a62

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($expand)

$filter

Especifica uma expressão ou função que deve ser avaliada para true de um registro que será retornado no conjunto.

Se estiver recuperando conjuntos de dados adicionais que usam o link next, não altere o valor de opção da consulta $filter, já que isso causará resultados imprevisíveis.

A especificação OData para a Opção de filtro da consulta do sistema descreve os operadores usados para criar uma expressão para ser avaliada no filtro. O Microsoft Dynamics 365 usa todos os operadores lógicos e um subconjunto de funções disponíveis, mas não oferece suporte ao uso dos operadores aritméticos. Os filtros podem usar as condições agrupadas indicadas por parênteses. As comparações dos valores de tempo devem usar o seguinte formato: datetime’<time value>’, por exemplo datetime'2010-07-15' ou datetime'2010-07-15T16:19:54Z'.

A seguinte tabela lista os operadores que têm suporte no Microsoft Dynamics 365.

Operador

Descrição

Exemplo

eq

Igual a

/AccountSet?$filter=Address1_City eq 'Redmond'

ne

Não igual a

/AccountSet?$filter=Address1_City ne null

gt

Maior que

/AccountSet?$filter=CreditLimit/Value gt 1000

ge

Maior ou igual a

/AccountSet?&$filter=CreditLimit/Value ge 1000

Lt

Menor que

/AccountSet?$filter=CreditLimit/Value lt 1000

le

Menor ou igual a

/AccountSet?$filter=CreditLimit/Value le 1000

and

Lógico e

/AccountSet?$filter=CreditLimit/Value ge 1000 and Address1_StateOrProvince eq 'TX'

or

Lógico ou

/AccountSet?$filter=AccountCategoryCode/Value eq 2 or AccountRatingCode/Value eq 1

not

Lógico negação

/AccountSet?$filter=(AccountCategoryCode/Value ne null) and not (AccountCategoryCode/Value eq 1)

É possível usar a opção de consulta $filter para filtrar o valor de um atributo EntityReference. Por exemplo, se você tiver o valor Id para um registro SystemUser, é possível recuperar uma lista de todos os registros da conta atribuídos a um usuário usando o seguinte filtro:

/AccountSet?$filter=OwnerId/Id eq (guid'" + SystemUserId + "')

A seguinte tabela lista as funções que têm suporte no Microsoft Dynamics 365.

Função

Exemplo

startswith

/AccountSet?$filter=startswith(Name, 'a')

substringof

/AccountSet?$filter=substringof('store',Name)

endswith

/AccountSet?$filter=endswith(Name, '(sample)')

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($filter)

$orderby

Determina quais valores são usados para ordenar um conjunto de registros. Por padrão, a ordem é crescente. Use desc para inverter a ordem ou asc para definir explicitamente o padrão.

Se estiver recuperando conjuntos de dados adicionais que usam o link next, não altere o valor de opção da consulta $orderby, já que isso causará resultados imprevisíveis.

Observação

É possível selecionar até 12 colunas com $orderby.

Ao ordenar por tipos complexos, como EntityReference ou OptionSetValue, somente o nome do atributo deve ser especificado. Por exemplo, para ordenar pelo contato principal de uma conta, use a consulta $orderby=PrimaryContactId. Especificar $orderby=PrimaryContactId/Name resultará em um erro de solicitação incorreta de HTTP (Código de erro de HTTP 400).

O exemplo a seguir lista os registros da conta por país/região em ordem crescente e por cidade em ordem decrescente:

/AccountSet?$select=Address1_Country,Address1_City,Name&$orderby=Address1_Country,Address1_City desc&$filter=(Address1_Country ne null) and (Address1_City ne null)

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($orderby)

$select

Especifica um subconjunto de propriedades para serem retornadas e a ordem na qual as colunas de dados serão organizadas. A opção padrão é retornar todas as colunas que correspondem a $select=*.

Se você usar $expand para incluir dados relacionados e usar $select para limitar as colunas retornadas, também será necessário incluir o nome da propriedade de navegação na consulta. Por exemplo, a seguinte consulta /AccountSet?$select=Name,opportunity_customer_accounts&$expand=opportunity_customer_accounts, retorna somente o nome da conta e os registros de oportunidade expandidos.

Observação

Existe um caminho de tamanho máximo de 2.048 caracteres para as solicitações POST e GET no Internet Explorer. Este limite é facilmente acessado se cada atributo fosse incluído na entidade da conta na opção $select. Para obter mais informações, consulte a Base de Dados de Conhecimento 208427 do Microsoft

<<<<<<< HEAD

=======

fe691d894f0f328d7ef70a2b278a480999857a62

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($select)

$skip

Define o número de registros que serão ignorados antes de recuperar os registros de um conjunto.

Se estiver recuperando conjuntos de dados adicionais que usam o link next, não altere o valor de opção da consulta $skip, já que isso causará resultados imprevisíveis.

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($skip)

$top

Determina um número máximo de registros que serão retornados.

Se estiver recuperando conjuntos de dados adicionais que usam o link next, não altere o valor de opção da consulta $top, já que isso causará resultados imprevisíveis.

Para obter mais informações:OData: Opção de filtro da consulta do sistema ($top)

Opções de consulta do sistema sem suporte

O Atualização do Microsoft Dynamics CRM 2015 e Microsoft Dynamics CRM Online 2015 não oferece suporte ao uso das seguintes opções de consulta do sistema:

  • $inlinecount

  • $count

  • $format

Confira Também

Consultar dados do Microsoft Dynamics CRM 2015 usando o ponto de extremidade OData
OData: Convenções de URI

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais