Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
En el documento CSDL $metadata, encontrará Function elementos. Las operaciones de función son diferentes de las acciones porque no deben cambiar los datos. Normalmente se usan solo para recuperar datos.
Cada función tiene un Name atributo . Este nombre formará parte de la dirección URL cuando use HTTPGET, enviando los parámetros definidos para la función en la dirección URL de la solicitud.
Funciones vinculadas
Al igual que las acciones, las funciones pueden tener un IsBound="true" atributo . Esto significa que es una función enlazada . Las funciones sin IsBound atributo no están vinculadas. Una función enlazada significa que el primer parámetro es una referencia a un registro de tabla o a un conjunto de entidades.
Cuando se enlaza una función, tendrá una referencia a un elemento específico dentro del espacio de nombres del servicio. Para utilizar la función, debe utilizar el nombre completo, incluido el espacio de nombres Microsoft.Dynamics.CRM. Más información: Espacio de nombres del servicio
Funciones que se pueden componer
Las funciones pueden tener un IsComposable="true" atributo . Esto significa que puede anexar algunas opciones de consulta del sistema como $filter o $select a la dirección URL para especificar los resultados devueltos. Esta opción solo está disponible para funciones específicas del sistema. No se puede crear una función mediante una API personalizada que se pueda componer.
Parámetros
Las funciones suelen tener uno o varios Parameter elementos. Cada parámetro tendrá los siguientes atributos:
| Atributo | Description |
|---|---|
Name |
El nombre del parámetro. El nombre es único a menos que Function se sobrecargue. Más información: Funciones sobrecargadas. |
Type |
El tipo del parámetro. |
Nullable="false" |
Si el parámetro puede aceptar un valor NULL |
TipoDeRetorno
Las funciones deben devolver valores. Una función siempre tendrá un ReturnType elemento .
| Atributo | Description |
|---|---|
Type |
El tipo del parámetro. |
Nullable="false" |
Si el valor puede ser NULL. |
Ejemplos de definición de funciones
A continuación se muestran algunos ejemplos ficticios de definiciones que muestran diferentes patrones de Function enlace. Cada uno de estos ejemplos devuelve un valor entero.
Funciones sin enlazar
Una función unbound con un único parámetro entero Number .
<Function Name="UnBoundFunctionExample">
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Función enlazada a una entidad
Función enlazada a la account entidad con un único parámetro entero Number .
<Function Name="EntityBoundFunctionExample" IsBound="true">
<Parameter Name="entity" Type="mscrm.account" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Función enlazada a un conjunto de entidades
Función enlazada al account EntitySet con un único parámetro entero Number .
<Function Name="EntityCollectionBoundFunctionExample" IsBound="true">
<Parameter Name="entityset" Type="Collection(mscrm.account)" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Funciones sobrecargadas
Normalmente, cada función que encuentre en el $metadata será la única función con ese nombre. Sin embargo, las funciones enlazadas pueden tener varias definiciones cuando se enlazan a tipos diferentes. El sistema RetrieveUnpublished y las funciones RetrieveUnpublishedMultiple son algunos ejemplos. No se puede crear una función sobrecargada mediante la API personalizada.
Más información: Reglas de sobrecarga de funciones de OData 4.0
Pasos siguientes
Obtenga información acerca de los tipos complejos y enumeración.
Consulte también
Usar la API web de Dataverse
Operaciones y tipos de API web
Documentos del servicio API web
Web API EntityTypes
Propiedades de api web
Propiedades de navegación de api web
Acciones de API web
Tipos complejos y enumeración de API web
Versión de OData: 4.0 Parte 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function