This is an automatic translation. The original post is available in Inglés.

Events Codeunit

El Anveo Mobile App proporciona la codeunit ACF App Events en Microsoft Dynamics NAV 2009R2 a la que se envían todos los cambios de datos entrantes desde dispositivos móviles durante la sincronización. En esta codeunit, puede definir qué hacer con los cambios de datos de los usuarios móviles. Detecte y resuelva los conflictos de datos aquí en caso de que dos usuarios hayan cambiado el mismo registro debido a las capacidades fuera de línea. Además, puede ejecutar el código C/AL individual. Esta subsección describe sus características.

Propiedades globales

La codeunit proporciona un gran conjunto de variables globales. Según la función que se ejecute, las variables se fijan con valores. En la primera línea de comentarios de cada función se pueden ver las variables que están configuradas.

RecRef

Esta variable contiene el registro del Microsoft Dynamics NAV 2009R2, incluidos todos los campos. Se recuperó de la base de datos SQL con GET(Primary Key) antes. Es la que hay que cambiar en esta codeunit. RecRef es la variable más importante que puede usar para establecer sus cambios – con o sin modificación de los datos entrantes.
En esta codeunit, usted define qué datos deben ser transferidos desde el dispositivo móvil almacenado en DeviceRecRef a su RecRef. Paso a paso puede establecer sus valores en RecRef hasta que se escriba de nuevo en su base de datos SQL usando INSERT o MODIFY más adelante en el proceso.

DeviceRecRef

Registro de dispositivo móvil. Sólo contiene los datos de los campos que se incluyen en los paquetes de sincronización para el usuario actual. Este RecordRef es una fuente de datos para establecer valores en RecRef.

xDeviceRecRef

Registro previo del dispositivo móvil. Sólo contiene los datos de los campos que se incluyen en los paquetes de sincronización para el usuario actual. Este RecordRef contiene los datos antes de que el usuario o Anveo Script hiciera cambios en el dispositivo móvil.

Esto es muy importante para detectar conflictos de datos: Comparando RecRef y xDeviceRecRef obtiene la información si dos personas han modificado los mismos datos al mismo tiempo. En RecRef se obtiene el valor actual de Microsoft Dynamics NAV 2009R2, en xDeviceRecRef se ve el registro antes de que se cambie en la aplicación. Si difieren, el usuario podría haber decidido modificar los valores de los datos antiguos.
Para cada tabla y campo, puede decidir si desea comparar los valores de los campos y qué campos incluir para la comparación: algunos campos o todos los campos del registro.

CalledBy

Esta propiedad le da la información si un valor fue cambiado en la interfaz de usuario o por Anveo Script.
Los valores de opción son: User, Script

Puede utilizarlo para el campo Sell-to Name en la tabla Sales Header: Un cambio hecho por Anveo Script debe provenir del disparador de su mesa móvil y puede ser ignorado porque el código C/AL en Microsoft Dynamics NAV 2009R2 hace lo mismo. Pero las modificaciones en la interfase de usuario por parte del usuario son modificaciones individuales que deben aceptarse.

NAVAction

ParaINSERT , MODIFY y DELETE el valor NAVAction define si se aceptan los cambios en los datos entrantes y si se ejecutan los desencadenantes de la tabla OnInsert, OnModify u OnDelete en la tabla Microsoft Dynamics NAV 2009R2. Además, puede rechazar los cambios de datos en su dispositivo móvil y enviar un paquete de actualización al dispositivo móvil que rechaza el cambio.
Si establece un valor en un campo, esta propiedad decide si desea aceptar la modificación y si desea ejecutar la función VALIDATE en el Microsoft Dynamics NAV 2009R2.

CallTrigger

Se acepta el cambio de datos y el Microsoft Dynamics NAV 2009R2 ejecuta su activación de tabla.

NoTrigger

Se acepta el cambio de datos, pero no se ejecutará ningún disparo de tabla en el Microsoft Dynamics NAV 2009R2.

Ignore

No se acepta el cambio de datos y no se envía ningún rechazo al dispositivo móvil. En este caso, debe tener en cuenta la coherencia de los datos entre el Microsoft Dynamics NAV 2009R2 y el dispositivo móvil.

Reject

No se acepta el cambio de datos y se envía un mensaje de rechazo al dispositivo móvil.
Si ha recibido la eliminación de un registro, se enviará un mensaje de creación de registro al dispositivo móvil. En caso de un nuevo registro, se envía un mensaje de borrado. Esto asegura la consistencia de los datos.

RemoteAction

En la función OnSetValue puede utilizar la propiedad RemoteAction para ver si un cambio de datos en Anveo Script fue realizado por SETVALUE o VALIDATE . Las modificaciones del usuario en la interfase de usuario se marcan como VALIDATE.

Para una mejor comprensión del procesamiento de los datos entrantes, se recomienda activar un log de texto detallado. Esto se hace configurando el Logging Level en Usuario Anveo a (más información aquí). Obtendrá un protocolo detallado de procesamiento de datos paso a paso.

Función OnSyncRequest

Esta función se ejecuta antes de ejecutar el proceso de inicialización y sincronización. El parámetro IsInit muestra si se trata de la primera inicialización o de una sincronización.

La sincronización comienza después de que se hayan procesado todos los datos entrantes del dispositivo móvil.

Función OnSetValue

Esta función se ejecuta si el usuario cambia un valor en la interfaz de usuario o si Anveo Script utiliza los comandos SETVALUE o VALIDATE. Esta función se puede utilizar para decidir si aceptar o ignorar las modificaciones de los valores entrantes. La opción NAVAction se utiliza para decidir si se ejecuta el activador de tabla OnValidate de ese campo.

Función OnBeforeInsert

Esta función se ejecuta antes de que se inserte un registro en la base de datos de Microsoft Dynamics NAV 2009R2. Es usado por OnInsertRecord para estructurar el código solamente.

Función OnInsertRecord

Esta función se ejecuta si Anveo Script utiliza el comando Record:INSERT(). La opción NAVAction se utiliza para decidir si se ejecuta RecRef.INSERT() y su tabla OnInsert al final de la función.

Función OnModifyRec

Esta función se ejecuta si el usuario ha modificado un valor en la interfaz de usuario o si Anveo Script ha utilizado el comando Record:MODIFY(). La opción NAVAction se utiliza para decidir si se ejecuta RecRef.MODIFY() y su activador de tabla OnModify al final de la función.

Función OnDeleteRec

Esta función se ejecuta si Anveo Script utiliza el comando Record:DELETE(). La opción NAVAction se utiliza para decidir si se ejecuta RecRef.DELETE() y su activador de tabla OnDelete al final de la función.

Función PrintReport

Esta función es responsable de guardar los resultados del informe como un documento PDF y enviarlo al usuario utilizando la tabla ACF File Repository.

Función GetMatchedRecRef

Esta función forma parte de la gestión de series de números móviles. Es responsable de transformar RecRefs con series de números móviles en series de números finales de Microsoft Dynamics NAV 2009R2.

Función LanguageIDMapping

Para algunos idiomas es necesario que el dispositivo móvil transforme el idioma de Windows de la tabla Language en otro valor de idioma de Windows.

Función SETVALUES/GETVALUES

Estas funciones se utilizan internamente para establecer y obtener valores de esta codeunit.