Pesquisa Básica
1. Geral
Nesta documentação, você aprenderá a criar uma Pesquisa de Satisfação no Mitra, utilizando como referência o template de projeto "Pesquisa Básica". Este material aborda em detalhes a configuração de inputs, a ação de envio de e-mails e outras funcionalidades essenciais para a implementação do fluxo da pesquisa.
Para aproveitar ao máximo este guia, recomendamos revisar as documentações de Cadastro Básico, Cadastro Detalhado e Fluxo de Processos, onde são explicadas as etapas fundamentais para a criação de um CRM e um CRUD com Detalhes. Com esse conhecimento, você estará preparado para aprofundar-se nos conceitos mais complexos apresentados aqui.
2. Videoaulas de Referência
Esta documentação foi desenvolvida com base em três vídeos da série "Pesquisa de Satisfação", que estão disponíveis a seguir:
Parte 1
Parte 2
Parte 3
3. Passo a Passo para Criar uma Pesquisa de Satisfação
Partindo do princípio que você já tenha aprendido a criar um CRUD, seu detalhamento e um CRM, vamos aprender agora a configurar uma Pesquisa Básica de Satisfação.
3.1. Primeiro Passo
Crie um novo projeto e importe para o seu banco de dados os dados das planilhas disponibilizadas a seguir:
Caso precise de mais detalhes sobre a configuração da importação de arquivos CSV, consulte a documentação de Conexões ou a seção de FAQs sobre Importação de Dados CSV.
Em seguida, crie as seguintes tabelas adicionais para estruturar a pesquisa:
Tabela: Colaborador
ID
Descrição (Nome ou identificação do colaborador)
Tabela: Status
ID
Descrição (Indica o status da resposta, como "Pendente" ou "Concluída")
Tabela: Resposta
ID
Descrição
FK de Colaborador (Chave estrangeira vinculando ao colaborador que respondeu)
FK de Status (Chave estrangeira indicando o status da resposta: Pendente ou Concluída)
Tabela de Chave Composta: Itens Resposta
ID Composta: Cadastro Resposta
ID Composta: Cadastro Pergunta
Itens Resposta (Registro das respostas associadas às perguntas)
Esta tabela será utilizada para registrar a relação entre as respostas e as perguntas da pesquisa. Para mais detalhes sobre tabelas de chave compostas, acesse a documentação de Database.
3.2. Segundo Passo
No menu Interface, crie uma nova tela para o questionário, atribua um nome e selecione o modelo "Formulário". Após a criação, remova os componentes que não serão necessários garantindo que a interface fique mais objetiva e alinhada ao fluxo da pesquisa.
3.3. Terceiro Passo
Como a tela de questionário será filtrada com base na resposta do colaborador, adicione um seletor temporário de resposta na tela para simular essa seleção durante o desenvolvimento. Esse seletor permitirá testar o comportamento do filtro antes da implementação definitiva, garantindo que as respostas sejam carregadas corretamente.
3.4. Quarto Passo
Crie o design inicial da primeira seção de perguntas e utilize variáveis de filtro para definir dinamicamente o nome do colaborador na label, ajustando-o automaticamente com base na resposta selecionada.
View da Label do Nome do Colaborador:
3.5. Quinto Passo
Configure o layout do input seletor de botão para a primeira pergunta, garantindo que cada opção de resposta retorne os seguintes atributos:
ID: Identificador único da resposta.
Descrição: Texto associado à opção de resposta.
Ícone: Representação visual da opção, tornando a interface mais intuitiva.
Além disso, filtre as opções de resposta de acordo com o grupo ao qual a pergunta pertence. Por exemplo, a primeira pergunta pertence ao grupo "Satisfação" com ID = 1, logo, apenas as opções desse grupo devem ser exibidas.
Tipos de opções para o Input da Primeira pergunta:
3.6. Sexto Passo
Configure o conteúdo inicial do input da primeira pergunta, garantindo que a opção selecionada e salva pelo colaborador seja exibida automaticamente.
Essa configuração assegura que a resposta previamente armazenada seja recuperada e apresentada corretamente ao usuário, proporcionando uma experiência contínua e intuitiva.
Conteúdo Inicial do Input da Primeira pergunta:
3.7. Sétimo Passo
Crie o input para a segunda pergunta e configure seu conteúdo inicial, garantindo que a opção selecionada seja exibida corretamente.
Tipos de opções para o Input da Segunda pergunta:
Conteúdo Inicial do Input da Segunda pergunta:
Após essa configuração, repita o processo para as nove perguntas seguintes. Lembre-se de ajustar o grupo de opções e o ID da pergunta correspondente, garantindo que apenas as opções relevantes sejam exibidas para cada questão.
Somente após a conclusão dessas etapas, avance para o próximo passo.
3.8. Oitavo Passo
Crie um botão de salvar e adicione três ações de database para gerenciar os itens de respostas de cada pergunta.
Ação 1 - Remover Respostas Anteriores: Configure uma ação para deletar todos os itens de respostas previamente cadastrados, filtrando por resposta. Esse processo evita conflitos e inconsistências, garantindo que os dados sejam sempre atualizados corretamente.
A remoção é necessária porque a tabela Itens Resposta utiliza chaves compostas, impedindo a duplicação de registros para a mesma resposta e pergunta.
Script da Ação de Remover Respostas Anteriores:
Ação 2 - Salvar Respostas: Após a exclusão dos dados antigos, configure uma segunda ação para registrar os novos itens de respostas de cada pergunta. Isso assegura que apenas os novos registros sejam persistidos no banco de dados, mantendo a integridade das informações.
Script da Ação de Salvar Respostas:
Ação 3 - Atualizar o Status da Resposta: Após salvar as novas respostas, crie uma terceira ação para alterar o status da resposta de "Pendente" para "Concluída". Essa atualização indicará que o colaborador finalizou o questionário, garantindo um acompanhamento correto do progresso.
Script da Ação de Atualizar o Status da Resposta:
3.9. Nono Passo
Configure a funcionalidade para desabilitar o botão de salvar caso o status da resposta já esteja como "Concluída". Essa configuração garantirá que o botão permaneça ativo apenas quando a resposta ainda não tiver sido submetida, evitando alterações indevidas após a finalização do questionário.
Desabilitar Botão de Salvar Questionário:
3.10. Décimo Passo
Agora é o momento de configurar o disparo de e-mails e gerar novas respostas para cada e-mail enviado.
Para isso, primeiro crie os seguintes atributos:
Tabela: Colaborador
Email Colaborador (campo que armazenará o endereço de e-mail do colaborador).
Tabela: Respostas
Email Pendente (campo que receberá o valor 1 quando uma nova resposta for gerada, indicando que um e-mail precisa ser enviado).
Após o envio do e-mail, esse campo será resetado (limpado) para evitar que sejam enviados e-mails para respostas já existentes.
Depois de criar esses atributos, crie uma nova tela para gerenciar e configurar os disparos de e-mails.
3.11. Décimo Primeiro Passo
Crie uma tabela que exiba os dados de cada resposta criada, permitindo visualizar as informações de forma organizada.
View da Tabela de Histórico das Respostas:
3.12. Décimo Segundo Passo
Adicione e configure um input do tipo checkbox para selecionar os colaboradores que receberão o e-mail com o questionário.
Tipos de opções para o Input dos Colaboradores:
Conteúdo Inicial do Input dos Colaboradores:
3.13. Décimo Terceiro Passo
Para criar os registros de resposta e disparar os e-mails, crie um botão de enviar e-mails e adicione uma ação com os seguintes passos:
Passo 0 - Criar/Alterar Registro: Configure uma ação para criar registros de respostas para cada colaborador marcado no checkbox. Preencha o atributo Email Pendente com o valor 1, marcando que essas respostas estão aguardando o envio do e-mail.
SQL Configurado:
Passo 1 - Enviar Email: Configure a View do envio de e-mail, filtrando apenas as respostas onde
Email Pendente = 1
. Estruture o e-mail com variáveis dinâmicas da View e inclua um link dinâmico para a tela do questionário.View Configurada:
Passo 2 - Limpar Atributo: Após o envio do e-mail, configure um passo de ação para limpar o atributo Email Pendente, garantindo que os registros já processados não sejam enviados novamente.
Passo 3 - Recarregar Tela: Atualiza a tela para exibir os novos dados e garantir que as informações estejam sincronizadas.
Após configurar todas as ações, teste o fluxo completo para garantir que os e-mails estão sendo enviados corretamente e que os registros são gerenciados sem erros.
3.14. Resultado Final
Com esses trezes passos, sua Pesquisa de Satisfação estará pronta! Seguindo esse fluxo, você aprenderá como montar o template "Pesquisa Básica" no Mitra de maneira simples e eficiente.