Função Revert
Aplica-se a: Aplicativos de tela
Atualiza e limpa os erros dos registos de uma origem de dados.
Descrição
A função Revert atualiza uma origem de dados completa ou um único registo contido nessa origem de dados. Verá as alterações efetuadas por outros utilizadores.
No caso dos registos revertidos, a função Revert também limpa todos os erros da tabela devolvida pela função Errors.
Se a função Errors indicar a existência de um conflito após a utilização da função Patch ou de outra operação de dados, utilize a função Revert, para reverter o registo e começar com a versão em conflito, e volte a aplicar a alteração.
reverter não tem valor de retorno. Só pode utilizá-la numa fórmula de comportamento.
Sintaxe
reverter( DataSource [, Record ] )
- DataSource – Obrigatório. A origem de dados que quer reverter.
- Registro - Opcional. O registo que quer reverter. Se não especificar um registo, a origem de dados será revertida na totalidade.
Exemplo
Neste exemplo, reverterá a origem de dados com o nome IceCream, que começa com os dados desta tabela:
Um utilizador que está a utilizar outro dispositivo altera a propriedade Quantity do registo Strawberry para 400. Quase simultaneamente, altera a mesma propriedade do mesmo registo para 500 sem saber que já ocorreu uma outra alteração.
Utiliza a função Patch para atualizar o registo:
Patch( IceCream, LookUp( IceCream, Flavor = "Morango"), { Quantidade: 500 } )
Ao verificar a tabela Errors, encontra um erro:
Registo | Coluna | Mensagem | Erro |
---|---|---|---|
{ ID: 1, Sabor: "Morango", Quantidade: 300 } | em branco | "O registo que está a tentar modificar foi modificado por outro utilizador. Reverta o registo e tente novamente." | ErrorKind.Conflict |
De acordo com a coluna Error, existe um botão Reload para o qual a propriedade OnSelect está definida para esta fórmula:
reverter( Sorvete, LookUp( Sorvete, Sabor = "Morango")
Depois de selecionar o botão Reload, a tabela Erros fica vazia e o novo valor de Strawberry é carregado:
Quando voltar a aplicar a alteração sobre a alteração anterior, a sua alteração será bem-sucedida porque o conflito foi resolvido.