Perguntas frequentes e melhores práticas da lógica condicional

Aplica-se a

Smartsheet

Quando tento salvar uma regra de lógica, a seguinte mensagem de erro é exibida: “Desculpe, ocorreu um problema ao salvar esta lógica. A instrução da lógica é grande demais. Tente reduzir as condições para os campos afetados”. Como faço para evitar esse erro?

Ao criar lógica em um campo, você poderá esbarrar nas seguintes limitações:

  • O número de regras que você adiciona no campo
  • O tamanho das condições dessas regras
  • O número de campos de destino aos quais essas regras se aplicam

Para evitar falhas, poderá ser necessário limitar um ou mais dos itens acima. Tente usar as seguintes dicas ao fazer isso:

Use o aninhamento de lógicas para espalhar as regras de lógica entre vários campos de origem distintos

Se ocorrer erro em um campo que possui várias regras que se aplicam a vários campos de destino, considere a possibilidade de mover algumas dessas regras para outro campo, logicamente mais adiante. Por exemplo, em vez de configurar a lógica do Campo A para exibir os Campos B e C quando as condições forem atendidas, tente configurar a lógica do Campo A para exibir o Campo B e a lógica do Campo B para exibir o Campo C. Isso é chamado de aninhamento de lógica ou lógica aninhada.

Como um campo de destino também pode ser um campo de origem para a inclusão de regras de lógica, desta forma você reduzirá o número de regras e de campos de destino adicionado a cada campo de origem ao espalhar a lógica por vários campos e expandir seu formulário de forma incremental.

Selecione o operador mais eficiente

Se você encontrar o erro em um campo que tiver regras extensas ou numerosas aplicadas a um único campo de destino, considere a possibilidade de revisar os operadores lógicos usados para garantir que você tenha criado as regras da maneira mais eficiente possível. Por exemplo, em vez de criar várias regras que empregue o operador is com valores diferentes do mesmo campo suspenso, tente criar uma única regra que empregue o operador is any of. Da mesma forma, se o campo de destino deve ser exibido quando o valor do campo de origem atender à condição is any of dentre muitos valores, considere a possibilidade de abreviar a regra exibindo o campo de destino quando o valor do campo de origem atender à condição is none of dentre poucos valores.

Quando você tem regras menores e menos numerosas no campo de origem, é menos provável que ocorra erro.

Se um campo do meu formulário for o campo de destino de várias regras, quando ele será mostrado?

Quando várias regras forem aplicadas ao mesmo campo de destino, ele será mostrado quando pelo menos uma das condições for atendida. Passe o mouse sobre o ícone de lógica, ao lado do campo de destino, para visualizar todas as condições que podem resultar na sua exibição.

Como a lógica condicional funciona em um menu suspenso de seleção múltipla?

Quando você usa o operador has any of, a condição será atendida e os campos de destino serão mostrados quando pelo menos uma das opções suspensas especificadas for selecionada. Não será necessário que o usuário do formulário selecione todas as opções suspensas especificadas ou uma combinação específica delas.

Quando você usa o operador has all of, a condição será satisfeita apenas quando todas as opções suspensas especificadas forem selecionadas pelo usuário do formulário. Se o usuário do formulário também selecionar outras opções que você não especificou, ainda assim a condição será atendida.

Quando você usa o operador is exactly, o usuário do formulário deverá selecionar apenas e tão somente todas as opções suspensas especificadas (nenhuma a mais ou a menos) para satisfazer a condição.

Quando você usa o operador has none of, a condição será satisfeita desde que o usuário do formulário não selecione nenhuma das opções suspensas especificadas.

Como faço para ocultar campos condicionalmente em meu formulário?

Sua regra de lógica condicional só exibirá o campo de destino se a condição for atendida, o que significa que o campo de destino ficará oculto sempre que a condição não for atendida. Como uma prática recomendada, indicamos o uso de regras de lógica para expandir o formulário de maneira incremental, em vez de ocultar os campos no meio do preenchimento do formulário. Isso reduzirá a chance de ocultar campos que alguém já preencheu.

Se um campo não for exibido, como ficarão os dados quando o formulário for enviado?

Somente os dados dos campos visíveis no momento do envio serão enviados para a planilha, deixando as outras células em branco.

Somente os campos visíveis no momento do envio são incluídos no e-mail de confirmação de envio.