Definir reverter transação ao encontrar erro
Controla se as transações são imediatamente revertidas quando ocorre um erro.
Consulte também
Opções
-
Ativado reverte automaticamente as transações assim que ocorrem certos erros. Esse é o comportamento padrão quando esta etapa de script não é usada.
-
Desativado permite que as etapas dentro das transações continuem mesmo depois que certos erros ocorrerem.
Compatibilidade
Produto | Compatível |
FileMaker Pro | Sim |
FileMaker Go | Sim |
FileMaker WebDirect | Sim |
FileMaker Server | Sim |
FileMaker Cloud | Sim |
FileMaker Data API | Sim |
Publicação na Web personalizada | Sim |
Originada na versão
21.1.1
Descrição
Quando essa etapa de script está Ativado, se uma etapa de script dentro de uma transação retornar um erro porque não pode criar, atualizar ou excluir dados como esperado, a transação é revertida automaticamente e se comporta da mesma forma que quando a Etapa de script Reverter transação é executada sem uma condição. Esses tipos de erros revertem automaticamente as transações:
-
Uma mudança em um campo, que está configurado para sempre validar, não corresponde às opções de validação do campo
-
Há erros de privilégios, como: sem acesso a campo, sem acesso a registro e sem acesso a tabela
Desativado essa etapa de script para adicionar seu próprio tratamento de erros nas transações. Por exemplo, depois que ocorrer um erro que reverteria a transação, seu script pode tentar resolver o erro e tentar novamente a operação para evitar reverter a transação inteira.
Quando Desativado, esta etapa de script também ajuda ao depurar uma transação no Depurador de scripts. Como um erro não reverte automaticamente a transação, você pode definir a próxima etapa até mesmo dentro da transação, o que de outra forma não seria permitido.
Notas
-
Para obter o estado atual de Definir reverter transação ao encontrar erro, use a função Função Get(RevertTransactionOnErrorState).
-
Se definido como Desativado, Definir reverter transação ao encontrar erro permanece desativado enquanto o script atual e qualquer subscript estiverem em execução, a menos que alterados. Quando o script atual termina, o estado retorna a Ativado.
Exemplo 1
Abre uma transação e tenta definir o campos Texto e Número, que tem a validação ativada para dados somente numéricos. Definir Campo de Texto é realizado com sucesso. Definir Campo de Número falha na validação e retorna um erro, mas a transação não é revertida automaticamente. Em vez disso, a caixa de diálogo personalizada é exibida e, em seguida, a transação é confirmada, alterando apenas o campo Texto.
Definir reverter transação ao encontrar erro [ Desativado ]
Abrir transação [ ]
Definir campo [ Tabela::Texto ; "Novela" ]
Definir campo [ Tabela::Número ; "Estava escuro e..." ]
If [ Obter ( LastError ) > 0 ]
Mostrar caixa de diálogo personalizada [ "Opa, ocorreu um erro com o número." ]
End If
Confirmar transação