Documentação do software de gestão, planeamento e otimização das intervenções

Criar um formulário avançado com condições e variáveis


Criar um formulário complexo com condições e variáveis no Cadulis

Com o Cadulis, pode ir muito além da simples introdução de dados.
Os formulários complexos permitem adaptar os campos a cada contexto de intervenção, recordar informações automaticamente (através de variáveis dinâmicas) e condicionar a exibição dos campos de acordo com as respostas anteriores.

Este guia acompanha-o passo a passo para criar um formulário avançado:

  • Exibição condicional
  • Variáveis dinâmicas
  • Campos invisíveis

1. Aceder ao formulário de um tipo de atividade

  • Aceda ao menu Catálogo
  • Clique num tipo de atividade existente (ou crie um novo)
  • Na página “Informações do tipo de atividade”, clique no botão:
    • Formulário de atividade ou
    • Formulário de fecho
  • Em seguida, clique em Adicionar um campo

2. Adicionar um campo com exibição condicional

  1. Escolha um tipo de campo (ex.: Área de texto)
  2. Introduza um código único (ex.: satisfacao_cliente)
  3. Clique em Adicionar um campo

Será redirecionado para a página “Modificar um campo”:

  • Expanda o menu Exibição
  • Clique em Condições de exibição

Na janela pop-up:

  • Clique em +
  • Preencha:
    • Campo a testar: lista dos campos já criados
    • Tipo de condição: “Faz parte de” / “Não faz parte de”
    • Valor de comparação: selecione um valor existente
  • Clique em Validar

Pode depois definir um operador lógico E / OU se existirem várias condições.

Exemplo

Se tiver um campo cliente_satisfeito com os valores Sim / Não,
pode exibir um campo de comentário apenas se o cliente responder “Não”.

3. Inserir variáveis nos campos

As variáveis permitem exibir automaticamente informações num formulário:

  • Data da intervenção
  • Nome do cliente
  • Morada, interveniente, comentário de fecho…

Onde inserir

  • No campo Descrição (texto exibido acima do campo)
  • No campo Valor por defeito
  • Ou num campo Texto exibido

💡 Clique no ícone “Substituições” na interface para descobrir todas as variáveis disponíveis.


Lista de variáveis disponíveis

As variáveis são delimitadas por chaves {...} e podem ser inseridas em:

  • Descrição
  • Valor por defeito
  • Texto exibido

São utilizáveis em campos visíveis, condicionais ou ocultos.

🔧 Variáveis de sistema

Código Exibe… Exemplo
{system.dateTimeNow} Data e hora atuais Assinatura com data/hora
{system.isEnvironmentProduction} yes / nada Para diferenciar teste / produção

📆 Variáveis ligadas à intervenção {intervention.*}

Exemplos:

  • {intervention.reference} – Referência da intervenção
  • {intervention.date.dayOfWeek} – Dia da semana
  • {intervention.title} – Título da intervenção
  • {intervention.durationSeconds} – Duração em segundos
  • {intervention.businessUnit.name} – BU associada

🧭 Morada da intervenção

  • {intervention.address}
  • {intervention.address.zipCode} – Código postal
  • {intervention.address.latitude} / {longitude} – Coordenadas GPS

👥 Cliente {intervention.customer.*}

  • {intervention.customer.name} – Nome
  • {intervention.customer.email} – Email
  • {intervention.customer.custom.niveau_confianca} – Campos personalizados do cliente

🙋 Interveniente {intervention.assignedUsers.*}

  • {intervention.assignedUsers.name} – Nome completo
  • {intervention.assignedUsers.email} – Email

✅ Fecho {intervention.report.*}

  • {intervention.report.status} – OK / KO
  • {intervention.report.comment} – Comentário final

🔄 Intervenções relacionadas

  • {intervention.parent.date} – Data da missão principal
  • {intervention.container.*} – Informações de uma missão “contentor”

👤 Utilizador ligado {user.*}

  • {user.firstName} / {user.lastName}
  • {user.email}

4. Criar um campo oculto (não visível para o interveniente)

Ao adicionar um campo, selecione Campo oculto.

Este campo será:

  • Invisível para o interveniente
  • Explorável nas exportações, relatórios ou lógica condicional

💡 Ideal para transferir valores entre atividade e fecho sem perturbar a interface do utilizador.


5. Dicas avançadas e casos de uso inspiradores

  • Campo de resumo:
    Intervenção de {intervention.date} para {intervention.customer.name}

  • Nome do interveniente por defeito:
    Valor por defeito = {intervention.assignedUsers.name}

  • Símbolo conforme resposta:
    {condition,champ_seguranca,OK,✓,✗}

  • Anonimizar um dado:
    {ano,customer.email}


✅ Boas práticas

✔️ Crie primeiro os campos de controlo (ex. Sim / Não) antes dos campos condicionais
✔️ Atribua códigos legíveis aos seus campos (controlo_seguranca)
✔️ Teste o seu formulário com o botão Testar
✔️ Utilize separadores horizontais para organizar os blocos