Funciones de la API web

En el documento $metadata de CSDL, encontrará elementos Function. Las operaciones de Function son diferentes de las acciones porque no deben cambiar los datos. Por lo general, se utilizan solo para recuperar datos.

Toda función tiene un atributo Name. Este nombre formará parte de la URL cuando utilice HTTP GET, enviando cualquier parámetro definido para la función en la URL de la solicitud.

Funciones enlazadas

Al igual que las acciones, las funciones pueden tener un atributo IsBound="true". Esto significa que es una función enlazada. Las funciones sin el atributo IsBound están sin enlazar. 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 de servicio.

Funciones que admiten composición

Las funciones pueden tener un atributo IsComposable="true". Esto significa que puede agregar algunas opciones de consulta del sistema, como $filter o $select a la URL para especificar los resultados devueltos. Esta opción solo está disponible para funciones específicas del sistema. No puede crear una función usando la API personalizada que es componible.

Parámetros

Las funciones suelen tener uno o más elementos Parameter. Cada parámetro tendrá los siguientes atributos:

Atributo Descripción
Name El nombre del parámetro.
El nombre es único a menos que Function esté sobrecargado. Para obtener más información: consulte Funciones sobrecargadas.
Type El tipo del parámetro.
Nullable="false" Si el parámetro puede aceptar un valor NULL.

ReturnType

Las funciones deben devolver valores. Una función siempre tendrá un elemento ReturnType.

Atributo Descripción
Type El tipo del parámetro.
Nullable="false" Si el valor puede ser NULL.

Ejemplos de definición de la función

Los ejemplos son casos ficticios de definiciones de Function que muestran diferentes patrones de enlace. Cada uno de estos ejemplos devuelve un valor entero.

Funciones sin enlazar

Una función sin enlazar con un solo parámetro Number entero.

<Function Name="UnBoundFunctionExample">
    <Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
    <ReturnType Type="Edm.Int32" Nullable="false" />
</Function>

Función enlazada a una entidad

Una función enlazada a la entidad account con un parámetro Number entero.

<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

Una función enlazada a EntitySet account con un parámetro Number entero.

<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>

Acciones sobrecargadas

Por lo general, cada función que encuentre en $metadata será la única función con ese nombre. Sin embargo, las funciones enlazadas pueden tener múltiples definiciones cuando están enlazadas a diferentes tipos. El sistema RetrieveUnpublished y las funciones RetrieveUnpublishedMultiple son algunos ejemplos. No puede crear una función sobrecargada usando la API personalizada.

Para obtener más información: Reglas de acciones sobrecargadas de la función de OData 4.0.

Pasos siguientes

Más información sobre los tipos complejos y de enumeración.

Consulte también

Usar la API web de Dataverse
Tipos y operaciones de API web
Documentos de servicio de la API web
EntityTypes de la API web
Propiedades de API web
Propiedades de navegación de la API web
Acciones de la API web
Tipos complejos y de enumeración de API web
OData Version 4.0. Part 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).