Boa tarde pessoal, gostaria de saber se este bug acontece com vocês também.
Tenho um fluxo no qual preciso direcionar o cliente para um bloco diferente, caso uma variável (obtida através de algumas requisições e alguns scripts) seja diferente de ‘carregar’ e ‘inexistente’.
Quando tento usar a condição de saída ‘Diferente de’ e coloco apenas um valor, o fluxo corre perfeitamente, porém quando tento comparar os dois valores, ele se perde e segue para a saída padrão.
Para ficar mais fácil de entender, fiz um exemplo bem básico:
No primeiro bloco, o usuário deve digitar “SIM” ou “NÃO”, e esse valor é salvo na variável ‘teste’. Essa variável ‘teste’ é utilizada para definir a condição de saída. Se ela for diferente de “SIM”, segue para o ‘bloco NÃO’
Isso funciona corretamente, como abaixo:
Porém, caso eu adicione mais uma condição de comparação para a variável, ele passa a ignorar a comparação.
Esse realmente é um problema do Blip. Quando se coloca mais de uma opção em uma condição o Blip executa a operação lógica ou, o que torna essa condição uma tautologia. No seu exemplo, o Blip executa a condição: teste != 'SIM' ou teste != 'ERRO'. Essa condicional retorna sempre o valor verdadeiro, pois a única forma de retornar falso é se a variável teste for igual aos dois valores. Para detalhar mais, modificando essa condicional realizando a operação De Morgan essa condição ficaria ~(teste == 'SIM' e teste == 'ERRO'). Dessa forma, independente do valor da variável o resultado da comparação sempre será verdadeiro.
Para corrigir o problema é preciso adicionar a operação lógica e na condição, conforme o print abaixo.
Para evitar esse e outros problemas parecidos, recomendo você utilizar o plugin Blip Addons. Da uma olhada neste post para entender melhor.
Tenta fazer com a condição igual. Por exemplo: se for igual a “carregar” ou “inexistente” vai para o bloco específico para essa condição senão vai para outra.
Fiz alguns testes aqui e realmente com mais de um valor não está reconhecendo.
Esse realmente é um problema do Blip. Quando se coloca mais de uma opção em uma condição o Blip executa a operação lógica ou, o que torna essa condição uma tautologia. No seu exemplo, o Blip executa a condição: teste != 'SIM' ou teste != 'ERRO'. Essa condicional retorna sempre o valor verdadeiro, pois a única forma de retornar falso é se a variável teste for igual aos dois valores. Para detalhar mais, modificando essa condicional realizando a operação De Morgan essa condição ficaria ~(teste == 'SIM' e teste == 'ERRO'). Dessa forma, independente do valor da variável o resultado da comparação sempre será verdadeiro.
Para corrigir o problema é preciso adicionar a operação lógica e na condição, conforme o print abaixo.
Para evitar esse e outros problemas parecidos, recomendo você utilizar o plugin Blip Addons. Da uma olhada neste post para entender melhor.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
A analisar o ficheiro em busca de vírus
Lamentamos, mas ainda estamos a analisar o conteúdo deste ficheiro, a fim de nos certificarmos de que o mesmo é seguro para descarregar. Agradecemos que tentes de novo dentro de poucos minutos.