if, and, or e not
if escolhe entre dois valores conforme uma condição; and, or e not combinam condições. Todas devolvem verdadeiro/falso (ou o valor escolhido) e podem ser aninhadas livremente.
Sintaxe
if(condição, seVerdadeiro, seFalso) and(a, b, …) or(a, b, …) not(a)
Exemplos testados
| Expressão | Resultado |
|---|---|
if(equals(outputs('Dados')?['status'], 'Aprovado'), 'Sim', 'Não')com status = Aprovado | Sim |
if(and(equals(1,1), greater(2,1)), 'ok', 'no') | ok |
and(true, false) | false |
or(true, false) | true |
not(true) | false |
greater(2, 1) | true |
concat(if(equals(outputs('Dados')?['tipo'], 'Reembolso'), 'REE-', 'PAG-'), formatNumber(outputs('Dados')?['id'], '00000'))prefixo escolhido por tipo | REE-00042 |
Quando usar
Use if para escolher valores dentro de uma expressão (um prefixo de código, uma mensagem padrão, um valor entre dois) e a ação Condição quando for preciso decidir quais ações executar. Combine as condições com and e or em vez de empilhar vários if, e dê nomes claros às ações que guardam resultados intermediários, para que a lógica fique legível no histórico de execução. Comece pela condição mais restritiva, trate o caso padrão por último e teste cada ramo com dados reais, incluindo campos vazios. Se a mesma variável decide entre mais de três opções, a ação Alternar (Switch) fica muito mais fácil de manter.
Armadilhas
- As condições respeitam as regras de maiúsculas de cada função:
equals('Ana','ana')é falso. Veja comparações. - Tipos diferentes não são iguais:
equals(1, '1')é falso. - O
ifsó devolve valores; para ramificar ações, use a ação Condição. - Aninhar demais atrapalha. Duas ou três camadas de
ifjá merecem ser trocadas por uma ação Alternar (Switch).
Perguntas frequentes
Como fazer um "senão se"?
Aninhando: if(a, x, if(b, y, z)).
Como tratar vários valores possíveis de forma legível?
Com a ação Alternar, em vez de vários if.