Xrm.Mobile.offline (referencia del lado del cliente)

 

Publicado: enero de 2017

Se aplica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

El espacio de nombres de Xrm.Mobile.offline proporciona métodos para crear y administrar registros en los clientes móviles de Dynamics 365 (Dynamics 365 para teléfonos y Dynamics 365 para tabletas) mientras trabaja en modo sin conexión.

Nota

El espacio de nombres de Xrm.Mobile.offline se introdujo en la Actualización de diciembre de 2016 para Dynamics 365 (online y local).

Estas API cliente en el espacio de nombres de Xrm.Mobile.offline funcionarán solo si está en modo sin conexión y para las entidades habilitadas para sincronización de Mobile Offline.Más información:Ayuda y entrenamiento: Configurar sincronización de Mobile offline para CRM para teléfonos y tabletas

Importante

Mientras crea o actualiza registros en el modo sin conexión, solo se realiza validación básica en los datos de entrada. La validación básica incluye elementos como asegurarse de que el nombre de atributo de la entidad especificado está en minúscula y existe para una entidad, comprobar si existen discrepancias de tipo de datos para el valor de atributo especificado, evitar la creación de registros creados con el mismo valor GUID, comprobar si la entidad relacionada está habilitado sin conexión al recuperar registros de entidad relacionada y validar si el registro que desee recuperar, actualizar o eliminar realmente existe en el almacén de datos sin conexión. Las validaciones de nivel de negocio se producen solo cuando está conectado al servidor de Dynamics 365 y se sincronizan los datos. Un registro se crea o se actualiza en Dynamics 365 solo si los datos de entrada son completamente válidos.

En este tema

isOfflineEnabled

createRecord

retrieveRecord

retrieveMultipleRecords

updateRecord

deleteRecord

isOfflineEnabled

Devuelve si una entidad está habilitada sin conexión.

Xrm.Mobile.offline.isOfflineEnabled("entityType")
  • Parámetros
    Tipo: Cadena. El tipo de entidad en Dynamics 365. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference.

  • Valor de retorno
    Tipo: Booleano.True si la entidad está habilitada sin conexión; si no false.

createRecord

Crea un registro de entidad en clientes móviles de Dynamics 365 mientras trabaja en modo sin conexión.

Xrm.Mobile.offline.createRecord(entityType, data).then(successCallback, errorCallback)
  • Parámetros

    Nombre

    Escriba

    Requerido

    Descripción

    entityType

    Cadena

    El tipo de entidad en Dynamics 365 para el que desea crear un registro. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference

    Datos de

    Objeto

    Un objeto de diccionario que contiene pares key : value, donde key es la propiedad del conjunto de entidades y value es el valor para la propiedad que desea usar para crear el registro de entidad. Por ejemplo, defina el objeto siguiente para crear una cuenta:

      var myAccount = {};
      myAccount.name = "Sample Account Name";
      myAccount.accountid = "2724A2AF-697E-E611-80DB-00155DB412B4";
      myAccount.parentaccountid = {
          "logicalname": "account",
          "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
      };
      myAccount.revenue = "60000.00";
      myAccount.primarycontactid = {
          "logicalname": "contact",
          "id": "76BE5E4A-5990-E611-80DA-00155DD8BA2D"
      };
      myAccount.new_customdate = new Date("September 29, 2016 12:00:00");
    

    Para obtener información sobre tipos de entidad y sus propiedades en Dynamics 365, consulte Web API EntityType Reference

    successCallback

    Función

    No

    Una función para llamar cuando se crea un registro. Se pasará un objeto con las propiedades siguientes para identificar el nuevo registro:

    • id: Cadena. GUID de registro que se creó.

    • logicalName: Cadena. Nombre lógico de la entidad.

    errorCallback

    Función

    No

    Una función para llamar cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:

    • errorCode: Número. Código de error.

    • message: Cadena. Un mensaje de error que describe el problema.

    • debugMessage: Cadena. Un mensaje de error interno que puede contener detalles adicionales sobre el problema.

  • Limitaciones

    • No puede crear entidades de grupo de actividad y de intersección.

    • Solo se admiten los siguientes tipos de atributo para crear un registro en el modo sin conexión: BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status y UniqueIdentifier.

retrieveRecord

Recupera un registro de entidad en clientes móviles de Dynamics 365 mientras trabaja en modo sin conexión.

Xrm.Mobile.offline.retrieveRecord(entityType, id, options).then(successCallback, errorCallback)
  • Parámetros

    Nombre

    Escriba

    Requerido

    Descripción

    entityType

    Cadena

    El tipo de entidad en Dynamics 365 para el que desea recuperar un registro. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference

    id.

    Cadena

    GUID del registro que desea recuperar.

    opciones

    Cadena

    No

    Opciones de consulta del sistema OData para recuperar los datos. Se admiten las siguientes opciones de consulta del sistema: $select y $expand.

    • Para usar $expand, la entidad relacionada también debe estar habilitada sin conexión. Por ejemplo, para recuperar el contacto relacionado con un registro de cuenta, las entidades de cuenta y contacto deben estar habilitadas sin conexión.

    • Especifique las opciones de consulta comenzando con ?. Para especificar múltiples opciones de consulta, use & para separar las opciones de consulta. Por ejemplo:

        ?$select=name&$expand=primarycontactid($select=contactid,fullname)
      

    Sugerencia

    Como práctica recomendada para rendimiento, limite el número de propiedades que está recuperando mediante la opción de consulta $select. De lo contrario, todas las propiedades serán recuperadas.

    También, mientras recupera nombres de propiedad de entidades relacionadas con la opción $expand, al incluir simplemente el nombre de la propiedad de navegación se devolverán todas las propiedades de los registros relacionados. Puede limitar las propiedades devueltas para registros relacionados con la opción de la consulta del sistema $select entre paréntesis después del nombre de propiedad de navegación en $expand. Más información: Recuperar entidades relacionadas para una entidad ampliando las propiedades de navegación

    successCallback

    Función

    No

    Una función para llamar cuando se recupera un registro. Se pasará un objeto con las propiedades siguientes para identificar el registro recuperado:

    • id: Cadena. GUID de registro que se recuperó.

    • logicalName: Cadena. Nombre lógico de la entidad.

    errorCallback

    Función

    No

    Una función para llamar cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:

    • errorCode: Número. Código de error.

    • message: Cadena. Un mensaje de error que describe el problema.

    • debugMessage: Cadena. Un mensaje de error interno que puede contener detalles adicionales sobre el problema.

  • Limitaciones

    • Solo la opción $select se puede especificar en $expand.

    • Solo se admiten los siguientes tipos de atributo para recuperar un registro en el modo sin conexión: BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status y UniqueIdentifier.

retrieveMultipleRecords

Recupera una colección de registros de entidad en clientes móviles de Dynamics 365 mientras trabaja en modo sin conexión.

Xrm.Mobile.offline.retrieveMultipleRecords(entityType, options, maxPageSize).then(successCallback, errorCallback)
  • Parámetros

    Nombre

    Escriba

    Requerido

    Descripción

    entityType

    Cadena

    El tipo de entidad en Dynamics 365 para el que desea recuperar registros. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference

    opciones

    Cadena

    No

    Opciones de consulta del sistema OData o consulta FetchXML para recuperar los datos. Se admiten las siguientes opciones de consulta del sistema: $select, $top, $filter, $expand y $orderby.

    • Para $filter, solo admiten los operadores estándar de filtro mencionados en la sección Filtrar resultados; las funciones estándar de consulta no se admiten

    • Para usar $expand, la entidad relacionada también debe estar habilitada sin conexión. Por ejemplo, para recuperar el contacto para los registros relacionados, las entidades de cuenta y contacto deben estar habilitadas sin conexión. Si expande propiedades de navegación valoradas como colección para que una entidad recupere entidades relacionadas, una propiedad [NavigationPropertyName]@odata.nextLink será devuelta para las entidades relacionadas. Por ejemplo si está ampliando en la propiedad de navegación primarycontactid, devolverá primarycontactid@odata.nextLink. Debe usar el valor de la propiedad primarycontactid@odata.nextLink con una nueva solicitud GET para devolver los datos requeridos.

    • Especifique las opciones de consulta comenzando con ?. Para especificar múltiples opciones de consulta, use & para separar las opciones de consulta. Por ejemplo:

        ?$top=5&$select=name&$expand=primarycontactid($select=contactid,fullname)
      

      Para especificar una consulta FetchXML, use el parámetro fetchXml para especificar la consulta:

        ?fetchXml=<FetchXML>
      

      Utilizando FetchXml solo puede recuperar atributos de la entidad base.

    Por ejemplo, este es un ejemplo de una llamada múltiple de recuperación utilizando las opciones de la consulta:

    Xrm.Mobile.offline.retrieveMultipleRecords("account", "?select=name,revenue,&$orderby=revenue&$filter=revenue ne '60000.00'", null)

    maxPageSize

    Entero

    No

    Especifique un número positivo que indique el número de registros de entidad que se volverán por página. Si no especifica este parámetro, el valor predeterminado se pasa como 5000.

    Si el número de registros que se recuperan es mayor que maxPageSize, una propiedad @odata.nextLink será devuelta, y podrá usar el valor de la propiedad @odata.nextLink con una nueva solicitud GET para devolver el siguiente conjunto de registros. Más información: Especifique el número de entidades para devolver a una página

    successCallback

    Función

    No

    Una función para llamar cuando se recuperan registros. Un diccionario que contiene pares de datos key : value recuperados se pasará para identificar los registros recuperados.

    errorCallback

    Función

    No

    Una función para llamar cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:

    • errorCode: Número. Código de error.

    • message: Cadena. Un mensaje de error que describe el problema.

    • debugMessage: Cadena. Un mensaje de error interno que puede contener detalles adicionales sobre el problema.

  • Limitaciones

    • Un máximo de 5000 registros relacionados se puede usando $expand.

    • Solo la opción $select se puede especificar en $expand.

    • No se admite la opción de consulta de $skip.

    • Solo se admiten los siguientes tipos de atributo para recuperar registros en el modo sin conexión: BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status y UniqueIdentifier.

updateRecord

Actualiza un registro de entidad en clientes móviles de Dynamics 365 mientras trabaja en modo sin conexión.

Xrm.Mobile.offline.updateRecord(entityType, id, data).then(successCallback, errorCallback)
  • Parámetros

    Nombre

    Escriba

    Requerido

    Descripción

    entityType

    Cadena

    El tipo de entidad en Dynamics 365 para el que desea actualizar un registro. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference

    id.

    Cadena

    GUID del registro que desea actualizar.

    Datos de

    Objeto

    Un objeto de diccionario que contiene pares key : value, donde key es el nombre lógico de la propiedad que desea actualizar y value es el valor actualizado para la propiedad. Sólo las propiedades y los valores especificados en el objeto de diccionario se actualizarán para el registro. por ejemplo:

    var myUpdatedAccount = {};
    myUpdatedAccount.name = "Changed Account Name";
    myUpdatedAccount.revenue = "60000.00";

    successCallback

    Función

    No

    Una función para llamar cuando se actualiza un registro. Se pasará un objeto con las propiedades siguientes para identificar el registro actualizado:

    • id: Cadena. GUID de registro que se actualizó.

    • logicalName: Cadena. Nombre lógico de la entidad.

    errorCallback

    Función

    No

    Una función para llamar cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:

    • errorCode: Número. Código de error.

    • message: Cadena. Un mensaje de error que describe el problema.

    • debugMessage: Cadena. Un mensaje de error interno que puede contener detalles adicionales sobre el problema.

  • Limitaciones

    • No puede actualizar entidades de grupo de actividad y de intersección.

    • Solo se admiten los siguientes tipos de atributo para actualizar un registro en el modo sin conexión: BigInt, Boolean, Customer, DateTime, Decimal, Double, EntityName, Integer, Lookup, Memo, Money, Owner, Picklist, String, State, Status y UniqueIdentifier.

deleteRecord

Elimina un registro de entidad en clientes móviles de Dynamics 365 mientras trabaja en modo sin conexión.

Xrm.Mobile.offline.deleteRecord(entityType, id).then(successCallback, errorCallback)
  • Parámetros

    Nombre

    Escriba

    Requerido

    Descripción

    entityType

    Cadena

    El tipo de entidad en Dynamics 365 para el que desea eliminar un registro. Por ejemplo: "cuenta". Para obtener información sobre tipos de entidad en Dynamics 365, consulte Web API EntityType Reference

    id.

    Cadena

    GUID del registro que desea eliminar.

    successCallback

    Función

    No

    Una función para llamar cuando se elimina un registro. Se pasará un objeto con las propiedades siguientes para identificar el registro eliminado:

    • id: Cadena. GUID de registro que se eliminó.

    • logicalName: Cadena. Nombre lógico de la entidad.

    errorCallback

    Función

    No

    Una función para llamar cuando la operación tiene error. Se pasará un objeto con las siguientes propiedades:

    • errorCode: Número. Código de error.

    • message: Cadena. Un mensaje de error que describe el problema.

    • debugMessage: Cadena. Un mensaje de error interno que puede contener detalles adicionales sobre el problema.

  • Limitaciones
    No puede eliminar entidades de grupo de actividad y de intersección.

Ver también

Escribir y depurar scripts para Dynamics 365 para teléfonos y tabletas
Referencia de programación del lado del cliente

Microsoft Dynamics 365

© 2017 Microsoft. Todos los derechos reservados. Copyright