Esta é uma tradução automática. O post original está disponível em Inglês .

Events Codeunit

O Anveo Mobile App fornece a codeunit ACF App Events no para a qual são enviadas todas as alterações de dados recebidos de dispositivos móveis durante a sincronização. Nesta codeunit, você pode definir o que fazer com as alterações de dados de usuários móveis. Detecte e resolva conflitos de dados aqui, caso dois usuários tenham alterado o mesmo registro devido a recursos off-line. Além disso, é possível executar código C/AL individual. Esta subseção descreve suas características.

Propriedades globais

A codeunit fornece um grande conjunto de variáveis globais. Dependendo da função executada, as variáveis são definidas com valores. Quais variáveis são definidas, é possível ver na primeira linha de comentário de cada função.

RecRef

Esta variável contém o registo do , incluindo todos os campos. Ele foi recuperado do banco de dados SQL com GET(Primary Key) antes. É o que deve ser mudado nesta codeunit. RecRef é a variável mais importante que pode utilizar para definir as suas alterações – com ou sem modificação dos dados recebidos.
Nesta codeunit, você define quais dados devem ser transferidos do dispositivo móvel armazenado no DeviceRecRef para o seu RecRef. Passo a passo você pode definir os seus valores no RecRef até que ele seja escrito de volta ao seu banco de dados SQL usando INSERT ou MODIFY mais tarde no processo.

DeviceRecRef

Registo do dispositivo móvel. Contém apenas dados de campos incluídos nos Pacotes de sincronização para o usuário atual. Este RecordRef é a fonte de dados para definir valores em RecRef.

xDeviceRecRef

Registro anterior de dispositivo móvel. Contém apenas dados de campos incluídos nos Pacotes de sincronização para o usuário atual. Este RecordRef contém os dados antes de o usuário ou o Anveo Script terem feito alterações no dispositivo móvelRecordRef

Isto é muito importante para detectar conflitos de dados: Comparando o RecRef. e xDeviceRecRef você obtém a informação se duas pessoas mudaram os mesmos dados ao mesmo tempo. No RecRef você obtém o valor atual do , no xDeviceRecRef você vê o registro antes de ser alterado no aplicativo. Se forem diferentes, o usuário pode ter decidido modificar valores em dados antigos.
Para cada tabela e campo, você pode decidir se deseja comparar valores de campos e quais campos incluir para comparação – alguns campos ou todos os campos do registro.

CalledBy

Esta propriedade dá-lhe a informação se um valor foi alterado na interface do utilizador ou pelo Anveo Script.
Os valores das opções são: User, Script

É possível utilizá-lo para o campo Sell-to Name na tabela Sales Header: Uma alteração feita pelo Anveo Script deve vir do seu gatilho de tabela móvel e pode ser ignorada porque o código C/AL no faz o mesmo. Mas as modificações na interface de usuário pelo usuário são modificações individuais que devem ser aceitas.

NAVAction

ForINSERT , MODIFY e DELETE o valor NAVAction define se as alterações dos dados recebidos devem ser aceites e se a tabela a ser executada aciona OnInsert, OnModify ou OnDelete na tabela . Além disso, você pode rejeitar alterações de dados no seu dispositivo móvel e enviar um pacote de atualização para o dispositivo móvel que rejeita a alteração.
Se o usuário definir um valor para um campo, essa propriedade decide se deseja aceitar a modificação e se deseja executar a função VALIDATE no .

CallTrigger

A alteração de dados é aceite e executa o seu gatilho de tabela.

NoTrigger

A alteração de dados é aceite, mas nenhum gatilho de tabela será executado no .

Ignore

A alteração de dados não é aceita e nenhuma rejeição é enviada para o dispositivo móvel. Neste caso, é necessário ter em atenção a coerência dos dados entre e o aparelho celular.

Reject

A alteração de dados não é aceite e uma mensagem de rejeição é enviada para o dispositivo móvel.
Se você recebeu uma exclusão de um registro, isso enviará uma mensagem de criação de registro para o dispositivo móvel. No caso de um novo registro, é enviada uma mensagem de eliminação. Isso garante a consistência dos dados.

RemoteAction

Na função OnSetValue você pode usar a propriedade RemoteAction para ver se uma mudança de dados no Anveo Script foi feita por SETVALUE ou VALIDATE . As modificações do usuário na interface do usuário são marcadas como VALIDATE.

Para uma melhor compreensão do processamento de dados de entrada, é recomendável ativar um log de texto detalhado. Isto é feito configurando o Logging Level no Usuário Anveo para (mais informações aqui). Você obterá um protocolo detalhado passo a passo do processamento de dados.

Função OnSyncRequest

Esta função é executada antes de executar o processo de inicialização e sincronização. O parâmetro IsInit mostra se é a primeira inicialização ou uma sincronização.

Uma sincronização começa depois que todos os dados recebidos do dispositivo móvel foram processados.

Função OnSetValue

Esta função é executada se o usuário modificar um valor na interface de usuário ou se o Anveo Script usar os comandos SETVALUE ou VALIDATE. Essa função pode ser usada para decidir se aceitar ou ignorar as modificações de entrada de valores. A opção NAVAction é usada para decidir se a tabela de execução deve acionar OnValidate desse campoOnValidate

Função OnBeforeInsert

Esta função é executada antes de um registo ser inserido na base de dados . É utilizado pelo OnInsertRecord apenas para estruturar código.

Função OnInsertRecord

Esta função é executada se o Anveo Script usar o comando Record:INSERT(). A opção NAVAction é utilizada para decidir se deseja executar RecRef.INSERT() e a sua tabela activa OnInsert no final da função.

Função OnModifyRec

Esta função é executada se o usuário tiver modificado um valor na interface de usuário ou se o Anveo Script usou o comando Record:MODIFY(). A opção NAVAction é usada para decidir se deseja executar RecRef.MODIFY() e seu disparador de tabela OnModify no final da função.

Função OnDeleteRec

Esta função é funcionada se o certificado de Anveo usar o comando Record:DELETE(). A opção NAVAction é usada para decidir se deseja executar RecRef.DELETE() e sua tabela dispara OnDelete no final da função.

Função PrintReport

Esta função é responsável por salvar os resultados do relatório como um documento PDF e enviá-lo ao usuário usando a tabela ACF File Repository.

Função GetMatchedRecRef

Esta função faz parte da gestão de séries de números móveis. É responsável por transformar RecRefs com séries de números móveis em séries de números finais do .

Função LanguageIDMapping

Para alguns idiomas é necessário que o dispositivo móvel transforme o idioma do Windows da tabela Language em outro valor do idioma do Windows.

Função SETVALUES/GETVALUES

Estas funções são usadas internamente para definir e obter valores desta codeunit.