Consultar datos de Microsoft Dynamics CRM 2015 utilizando el extremo de OData
Publicado: noviembre de 2016
Se aplica a: Dynamics CRM 2015
Para buscar y recuperar datos del OData extremo, manipule la URI. Todas las acciones requieren comenzar con la URI raíz de servicio. En Microsoft Dynamics CRM 2015 y actualización de Microsoft Dynamics CRM Online 2015 la URI raíz de servicio aparece en el siguiente ejemplo.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc
Nota
La URL raíz de la organización debe incluir el nombre de la organización. Haga referencia a la raíz de servicio mediante la función de getClientUrl en el objeto de contexto. Si un recurso web se hospeda en un formulario, puede hacer referencia a Xrm.Page.context para llamar a getClientUrl. En caso contrario, debe incluir una referencia a la página ClientGlobalContext.js.aspx para poder usar Función GetGlobalContext y obtener el objeto de contexto.
A partir de la URI raíz de servicio puede identificar recursos específicos mediante una ruta de recursos y refine aún más su consulta mediante las opciones de consulta del sistema.
En este tema
Acceso a datos de entidad de Microsoft Dynamics CRM
Limitaciones en el número de registros devueltos
Propiedades de entidad
Tipos complejos de Microsoft Dynamics CRM
EntityReference
OptionSetValue
Dinero
BooleanManagedProperty
Entidades relacionadas
Acceso a datos de entidad de Microsoft Dynamics CRM
Cada entidad de Microsoft Dynamics 365 se representa en el lenguaje de definición de esquemas conceptuales (CSDL) como una recopilación con el elemento <EntitySet>. El nombre de cada recopilación sigue la convención de nomenclatura [Nombre de esquema de la entidad] + Set. Este nombre se usa en la URL para tener acceso a una colección de registros de entidad. Una lista de todas las colecciones disponibles se muestra al ver la URI raíz de servicio. Para crear una consulta se deben agregar los criterios en la ruta de recursos.
Por ejemplo, en su explorador puede ver los registros de entidad de la cuenta ATOM (denominados ”entradas”) usando la ruta del siguiente ejemplo.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet
Después de ver la lista de registros de cuentas, podrá ver cómo cada una de ellas puede usarse como referencia de forma individual mediante la sintaxis de la dirección URL del siguiente ejemplo.
[Your Organization Root URL]/XRMServices/2011/OrganizationData.svc/AccountSet(guid'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')
Nota
Para ver los datos en Internet Explorer, primero debe asegurarse de que Internet Explorer no está habilitado para dar formato a las fuentes RSS. En la pestaña Contenido de Opciones de Internet. seleccione Configuración en el grupo Fuentes y Web Slices . A continuación, haga clic en Activar la vista de lectura de fuentes para borrar la opción. Cierre y vuelva a abrir Internet Explorer.
Limitaciones en el número de registros devueltos
Cada vez que se recuperan registros, solo se devuelven los 50 registros principales de la consulta. Si hay más de 50 registros, habrá un nodo <link rel="next" href="<url to next set of records>" > en XML o una propiedad JSON**__next** al final del conjunto de resultados. Puede usar el valor URL en ese nodo o propiedad para continuar con el siguiente conjunto de registros. La dirección URL contiene un parámetro $skiptoken que proporciona información sobre el límite de la paginación.
Para recuperar registros adicionales debe crear un método que detecta la existencia de este nodo o propiedad, y usa la dirección URL proporcionada para recuperar el siguiente conjunto de registros. Para obtener más información, consulte: Ejemplo: recuperar varios registros mediante el extremo de OData con JavaScript
Propiedades de entidad
Cada lenguaje de definición de esquemas conceptuales (CSDL <EntitySet> hace referencia a un elemento <EntityType> que describe las propiedades y las relaciones de una entidad. Dentro de los elementos <EntityType>, los elementos <Property> se corresponden con los atributos de entidad de Microsoft Dynamics 365. Cada propiedad se asigna a un tipo de datos que corresponde a uno de los tipos de datos primitivos de Entity Data Model (EDM) o a un elemento <ComplexType> definido específicamente para Microsoft Dynamics 365. La siguiente tabla muestra una lista de tipos de datos.
Tipo OData |
Tipo de datos de Microsoft Dynamics 365 |
---|---|
Edm.Boolean |
Boolean |
Edm.DateTime |
DateTime |
Edm.Decimal |
Decimal |
Edm.Double |
Double |
Edm.Guid |
UniqueIdentifier |
Edm.Int32 |
Integer |
Edm.Int64 |
BigInt |
Edm.String |
String |
Microsoft.Crm.Sdk.Data.Services.EntityReference |
EntityReference |
Microsoft.Crm.Sdk.Data.Services.OptionSetValue |
OptionSetValue |
Microsoft.Crm.Sdk.Data.Services.Dinero |
|
Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty |
Tipos complejos de Microsoft Dynamics CRM
Determinados tipos de datos que Microsoft Dynamics 365 utiliza no pueden usar los tipos de datos simples de EDM.
Nota
Para establecer valores de tipo complejo de Microsoft Dynamics 365 en null, establezca cada propiedad del tipo complejo en null. Para obtener más información, vea Establecer tipos complejos en null.
EntityReference
El tipo Microsoft.Crm.Sdk.Data.Services.EntityReference representa una búsqueda. Corresponde a EntityReference. La tabla siguiente enumera las propiedades.
Nombre |
Tipo |
Descripción |
---|---|---|
Id |
GUID |
El identificador único del registro asociado en la búsqueda. |
LogicalName |
String |
El nombre de la entidad. |
Name |
String |
El valor del atributo principal del registro asociado en la búsqueda. |
El siguiente ejemplo es un EntityReference en formato ATOM XML:
<d:PrimaryContactId m:type="Microsoft.Crm.Sdk.Data.Services.EntityReference">
<d:Id m:type="Edm.Guid">76713858-5e81-df11-afdb-00155dba380a</d:Id>
<d:LogicalName>contact</d:LogicalName>
<d:Name>Cat Francis (sample)</d:Name>
</d:PrimaryContactId>
El siguiente ejemplo es un EntityReference en formato JSON:
"PrimaryContactId" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.EntityReference" },
"Id": "78713858-5e81-df11-afdb-00155dba380a",
"LogicalName": "contact",
"Name": "Cathan Cook (sample)"}
OptionSetValue
El tipo Microsoft.Crm.Sdk.Data.Services.OptionSetValue representa un atributo de lista desplegable. Corresponde a OptionSetValue. La siguiente tabla muestra las propiedades.
Nombre |
Tipo |
Descripción |
---|---|---|
Value |
Number |
El valor seleccionado del atributo OptionSet. |
El siguiente ejemplo es un ATOMXMLOptionSetValue.
<d:PreferredContactMethodCode m:type="Microsoft.Crm.Sdk.Data.Services.OptionSetValue">
<d:Value m:type="Edm.Int32">1</d:Value>
</d:PreferredContactMethodCode>
El siguiente ejemplo es un OptionSetValue en formato JSON:
"PreferredContactMethodCode" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.OptionSetValue" },
"Value": 1}
Dinero
El tipo Microsoft.Crm.Sdk.Data.Services.Money representa un atributo monetario. Corresponde a Money. La tabla siguiente enumera las propiedades.
Nombre |
Tipo |
Descripción |
---|---|---|
Value |
Number |
La cantidad de dinero. |
El siguiente ejemplo es un ATOMXMLMoney.
<d:CreditLimit m:type="Microsoft.Crm.Sdk.Data.Services.Money">
<d:Value m:type="Edm.Decimal">500.0000</d:Value>
</d:CreditLimit>
El siguiente ejemplo es un Money en formato JSON:
"CreditLimit" :{
"__metadata": {"type": "Microsoft.Crm.Sdk.Data.Services.Money" },
"Value": 500.0000}
BooleanManagedProperty
Determinadas entidades de propiedad de la organización tienen registros que se pueden incluir en una solución, por ejemplo, WebResource. Los ejemplos de propiedades administradas incluyen IsCustomizable, IsHidden y CanBeDeleted. Corresponde a BooleanManagedProperty. Estas propiedades Boolean controlan el comportamiento de los componentes de la solución administrada. Para obtener más información, vea Usar propiedades administradas. La siguiente tabla muestra BooleanManagedProperty.
Nombre |
Tipo |
Descripción |
---|---|---|
Value |
Boolean |
Indica si la propiedad administrada está en vigor. |
CanBeChanged |
Boolean |
Indica si el valor de la propiedad administrada se puede cambiar. |
ManagedPropertyLogicalName |
String |
Especifica el nombre de la propiedad administrada. Esta propiedad es de solo lectura. |
El siguiente ejemplo es un ATOMXMLBooleanManagedProperty.
<d:IsCustomizable m:type="Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty">
<d:Value m:type="Edm.Boolean">true</d:Value>
<d:CanBeChanged m:type="Edm.Boolean">true</d:CanBeChanged>
<d:ManagedPropertyLogicalName>iscustomizableanddeletable</d:ManagedPropertyLogicalName>
</d:IsCustomizable>
El siguiente ejemplo es un BooleanManagedProperty en formato JSON:
"IsCustomizable" :{
"__metadata": { "type": "Microsoft.Crm.Sdk.Data.Services.BooleanManagedProperty" },
"CanBeChanged": true,
"ManagedPropertyLogicalName": "iscustomizableanddeletable",
"Value": true}
Entidades relacionadas
El elemento <NavigationProperty> de lenguaje de definición de esquemas conceptuales (CSDL) incluye todas las relaciones 1:N y N:N de la entidad. Si la relación representan una relación que hace referencia a sí misma, habrá dos elementos <NavigationProperty> para esta relación. El nombre de la relación usa el prefijo Referenced y Referencing para distinguir el rol que un registro determinado desempeña en la relación. Para obtener más información, vea Tipos de relaciones entre entidades.
Use <NavigationProperty> si desea crear una consulta para recuperar registros relacionados. En el siguiente ejemplo, si desea recuperar una lista de oportunidades en la que una cuenta determinada es el cliente, use la relación de entidades opportunity_customer_accounts en el contexto de una cuenta determinada:
/AccountSet(guid'[GUID value]')/opportunity_customer_accounts
Si necesita únicamente la dirección de URL en los registros relacionados, puede usar la opción de consulta $links que aparece en el siguiente ejemplo.
/AccountSet(guid'[GUID value]')/$links/opportunity_customer_accounts
Esto devolverá solo a las direcciones URL a los datos de cada registro relacionado. Los resultados cuando se visualizan en el explorador se asemejarían al siguiente ejemplo.
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<links xmlns="https://schemas.microsoft.com/ado/2007/08/dataservices">
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'a6713858-5e81-df11-afdb-00155dba380a')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'1224342F-D024-4B47-A3F5-FB22D236E655')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'7AF675A8-4FBE-42E7-8279-C32605D2B49B')</uri>
<uri>[Your Organization Root URL]/xrmservices/2011/OrganizationData.svc/OpportunitySet(guid'2DD9BA88-2A37-4F53-8946-68ABBDC73FC1')</uri>
</links>
Si desea incluir datos de los registros relacionados cuando se crea un registro, use la opción de consulta del sistema $expand.
Ver también
Usar el extremo de OData con recursos web
Opciones de la consulta del sistema OData mediante el extremo OData
Realizar las operaciones básicas de datos mediante el extremo de OData
Realice las operaciones adicionales de datos mediante el extremo de OData
Usar el extremo de OData con recursos web Ajax y JScript
Ejemplo: crear, recuperan, actualizar y eliminar el uso del extremo de OData con JavaScript y jQuery
Ejemplo: crear, recuperar, actualizar y eliminar el uso del extremo de OData con JavaScript
Ejemplo: editor de contactos de jQuery del extremo OData
Abra el protocolo de datos (OData)
Artículo técnico: Uso del conjunto de opciones con el extremo de REST - JScript
© 2017 Microsoft. Todos los derechos reservados. Copyright