Respondido

Condição de saída com variável


Reputação 2

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.



icon

Melhor resposta por raphael.silva 1 December 2022, 21:55

Veja o original

4 comentários

Reputação 6

Boa tarde @jprgonzalez1 tudo bem ?


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.


@raphael.silva @GabrielPetrone @Rafael_Figueiredo , vocês sabem dizer se o blip tem essa limitação na condição “diferente de” ? Podem nos ajudar com essa info?

Reputação 7
Crachá +3

Olá @Aline_Camargos acredito que não seja uma limitação e sim um bug, até recomendaria que o @jprgonzalez1 se puder abrir um chamado com o time de suporte: https://support.blip.ai/hc/pt-br para que possa ser corrigido.

Reputação 6
Crachá

Opa, boa tarde @jprgonzalez1 e @Aline_Camargos tudo bem?


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.

Reputação 6

Valeu demais @raphael.silva e @Rafael_Figueiredo bom que foi um aprendizado pra mim também rs !!!

Comente