Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

TOTVS CRM Automação da Força de Vendas

Linha de Produto:

Linha TOTVS CRM

ERPs impactados:Protheus, Datasul e ERPs terceiros
Módulo:Formulário
Função:Campos adicionais
Ambiente:Web/Mobile
Ticket:
Requisito/Story/Issue:

Jira
serverJIRA
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDTSFAPD-2616

02. ESCOPO FUNCIONAL

CAMPOS ADICIONAIS PARA CONTEXTO FORMULÁRIO

Para que seja possível incluir outros tipos de campos nos formulários, será necessário implementar campos adicionais para o contexto de Formulários, de forma que seja possível criar facilmente novas possibilidades de campos para os formulários, permitindo ainda a reutilização dos campos customizados em mais de um mesmo formulário.

Estes campos adicionais devem ser cadastrados na tela de cadastro de campos adicionais da ferramenta (Cadastro -> Geral -> Campos Adicionais), onde deve haver um novo tipo de contexto, chamado “FORMULARIO”.

Protótipo




CONSULTA SQL EM CAMPOS ADICIONAIS

Nos campos adicionais, será necessário criar uma nova busca para o tipo de campo “Pesquisa em Entidade”, chamado “Entidade Genérica”, o qual permitirá a utilização de Consulta SQL em banco de dados, para que seja possível criar campos customizados, usando as informações do sistema.

...

Segue abaixo o detalhamento dos itens a serem criados:

 

Busca Entidade Genérica

Será necessário implementar um novo tipo de busca para campos adicionais do tipo Pesquisa em Entidade, chamado “Entidade Genérica”, a qual vai ser apresentada inicialmente para campos do contexto de Formulário.

...

Portanto, ao selecionar essa nova opção “Entidade Genérica”, devem ser apresentados os campos “Base de dados” e “Consulta”, conforme descrito a seguir.

Protótipo




Base de Dados

Será necessário implementar um novo campo para a busca por Entidade Genérica, onde será possível selecionar a base de dados a ser utilizada na busca das informações do campo adicional.

Este campo terá o seu comportamento similar ao campo de seleção de Base de Dados da tela de cadastro de indicadores do SFA.

Protótipo



Consulta

Será necessário implementar um novo campo para as entidades Genéricas, para que seja possível selecionar a Consulta que será utilizada para buscar as informações do campo adicional.

Este campo terá o seu comportamento similar ao campo de seleção de Base de Dados da tela de cadastro de indicadores da ferramenta, onde o usuário poderá selecionar alguma consulta, ou poderá utilizar as configurações avançadas, para informar a sua consulta SQL customizada.

Protótipo



Consulta SQL

Será necessário implementar um campo, onde o usuário poderá incluir as consultas SQL, que trarão os dados para o campo adicional.

...

  • Deve haver um botão para confirmar a consulta SQL. Durante a confirmação, a aplicação deve validar se as regras definidas acima estão sendo respeitadas, e caso alguma delas não seja respeitada, deve ser apresentada uma mensagem de erro ao usuário, informando qual regra que não está sendo cumprida;
  • Deve haver um botão, que permita a pré-visualização dos resultados retornados com a consulta SQL, conforme descrito a seguir.

Protótipo

  1. Pré-Visualização

Será necessário implementar a pré-visualização das consultas SQL, de modo que o usuário possa visualizar os resultados da consulta que está sendo realizada.

A pré-visualização deve apresentar os resultados em formato de tabela, com as colunas Chave e Valor, de acordo com as informações montadas na consulta SQL.

Somente será possível utilizar o botão de pré-visualização dos dados após a confirmação da consulta SQL.

A pré-visualização será utilizada apenas para ter uma prévia dos resultados da consulta, pois não haverá gravação de resultados da consulta durante a gravação do campo. As opções do campo serão geradas em tempo de execução pela aplicação, durante a utilização do campo adicional, ou ainda durante a sincronização do aparelho Android, que gerará as opções para utilização de modo offline.

...

Protótipo

Image Removed

Botão de Pré-visualização dos resultados da Consulta SQL

Image Removed

Popup de Pré-Visualização do campo Consulta SQL


CADASTRO DE FORMULÁRIOS

Será necessário implementar a utilização de “campos adicionais” nas perguntas dos Formulários, de forma que o usuário possa utilizar em seus formulários os campos adicionais previamente criados.

Na tela de edição de formulários, dentro do cadastro de perguntas, será necessário implementar um novo “Tipo da Pergunta”, onde haverá a opção “Campo Adicional”. Essa opção abrirá um novo campo ao usuário, onde ele poderá selecionar um dos campos adicionais cadastrados para o contexto de formulários.

Tipo da Pergunta

Será necessário implementar uma nova opção para o Tipo da Pergunta dos formulários chamada “Campo Adicional”, a qual ao ser selecionada, abrirá um novo campo, para a seleção do adicional desejado.

Protótipo


Nova opção no cadastro de Tipo da Pergunta do formulário


Seleção do campo

Será necessário implementar um novo campo no cadastro de perguntas do formulário, onde o usuário poderá selecionar qual o campo adicionar que deseja incluir no formulário.

...

Protótipo


Campo para seleção do campo adicional para o Formulário


Pré-visualização do campo adicional no formulário[a]

Será necessário implementar a pré-visualização do campo adicional na tela de edição de formulários, de modo que seja possível pré-visualizar as opções que serão apresentadas no campo.

...

Protótipo


Popup de visualização dos dados que o campo adicional está retornando.


RESPONDER FORMULÁRIO - WEB

Será necessário implementar o campo adicional do tipo Consulta SQL na tela de “responder formulário” da Web do SFA.

...

Protótipo

Exibição do campo complementar do tipo Consulta SQl


Popup com a lista de opções do campo adicional Consulta SQL, apresentando o Valor.


VISUALIZAR ENVIADOS - WEB

Será necessário implementar a visualização do campo adicional do tipo Consulta SQL na tela de “Visualizar Formulários Enviados” da Web do SFA.

...

Protótipo

Visualização do campo adicional na tela de Visualização de Formulários Enviados


SINCRONIZAÇÃO DE CAMPOS CONSULTA SQL

Será necessário implementar a sincronização de campos adicionais do tipo Consulta SQL para o Android, de forma que estes campos possam ser utilizados de forma offline no Android.

...

A cada nova sincronização, as opções selecionáveis serão atualizadas, de forma que elas sempre estejam atualizadas no aparelho do usuário.

RESPONDER FORMULÁRIO - ANDROID

Será necessário implementar o campo adicional do tipo Consulta SQL na tela de “responder formulário” do APP Mobile do SFA.

...

Protótipo

 

Campo adicional com tipo Consulta SQL no Android, com a popup de opções.


VISUALIZAR ENVIADOS - ANDROID

Será necessário implementar a visualização do campo adicional do tipo Consulta SQL na tela de “Visualizar Formulários Enviados” do APP Mobile do SFA.

...

Como a Consulta SQL pode ter sido totalmente customizada, e a Chave também pode ter sido customizada, a aplicação NÃO deve realizar uma nova Consulta SQL para buscar a descrição do registro, devendo simplesmente apresentar a descrição do registro selecionado.


Protótipo


Image RemovedImage Added

Visualização campo adicional SQL respondido - Android.


02. ESCOPO TÉCNICO

Banco de dados

  • Pelo tools, opção 3, o sistema deverá fazer a criação dos seguintes campos na tabela campo:
    • idconsulta: integer, nullable, FK para tabela consulta
    • idconexao: integer, nullable, FK para tabela conexao
    • sql: bytea, nullable

Menu consulta

  • A opção do menu "Cadastro > Dashboard > Consulta" deverá ser endereçado para "Cadastro > Geral > Consulta" visto que será dependência para campos adicionais, não somente de dashboards

Cadastro de campos adicionais

  • Na tela de cadastro de campos adicionais gerais (Cadastro > Geral > Campos adicionais),
    • No campo "Contexto",
      • O sistema deverá adicionar nova opção selecionável de label "Formulário" e valor "FORM", que deverá ser persistido no campo campo.sglentidade
    • Quando selecionado o campo "Contexto" = "Formulário",
      • Quando selecionado o campo "Tipo de campo" = "Pesquisa em entidade"
        • O sistema deve mostrar nova opção selecionável no campo "Busca" de label "Entidade genérica" e valor "GENERICO" que deverá ser persistido no campo campo.nometabela
      • Quando selecionado o campo "Busca" = "Entidade genérica", os seguintes novos campos deverão ser exibidos abaixo do campo "Busca", sendo eles:
        • "Consulta": Campo de pesquisa, cujas opções selecionáveis serão resultado da consulta a seguir:
            • Bloco de código
              /* select idconexao as valor, descricao as label from consulta where idnativo = 1 */
          • O campo deverá ser persistido no campo campo.idconsulta
          • Ao lado do campo drop-down, o sistema deverá exibir botão de label "Configurações avançadas"
            • Quando o botão for clicado,
              • O sistema deverá tornar o campo "Consulta" não-editável
              • O sistema deverá exibir novos campos, sendo eles:
                • Base de dados": Campo de seleção (Drop-down), cujas opções selecionáveis serão resultado da consulta a seguir:
                    • Bloco de código
                      /* select idconexao as valor, descricao as label from conexao where idnativo = 1 */
                  • O campo deverá ser persistido no campo campo.idconexao
                • "Consulta SQL": text-area obrigatório
                  • O campo somente será obrigatório caso esteja visível
                  • Ao lado do campo, deverá ser exibido novo botão de label "Confirmar", de cor azul.
                    • Ao clicar em "Confirmar", o sistema deverá executar a select cadastrada no campo "Consulta SQL" e caso haja algum erro de sintaxe, o sistema deverá retornar a mensagem de erro do banco de dados em tela, em mensagem toast.
                      • Caso a consulta for executada com sucesso, o sistema deverá validar se os campos "chave" e "valor" foram campos resultantes da consulta acima,
                        • Caso não forem,
                          • O sistema deverá retornar a mensagem toast de erro: "Os campos chave e valor devem ser declarados na consulta"
                        • Caso forem
                          • O sistema deverá retornar mensagem toast de sucesso: "A consulta foi executada com sucesso"
                  • O campo deverá ser persistido no campo campo.sql

Cadastro de formulário

Responder formulário

Visualizar formulário