Tudo sobre formulários do Fluig.

Este artigo é recomendado à comunidade de desenvolvedores e analistas.

Disclaimer

Este é um estudo realizado em ambiente de testes, portanto serve de apoio ao entendimento dos recursos que a plataforma fluig disponibiliza.

As ações executadas são de responsabilidades do usuário.

Este artigo é independente, não tendo qualquer relação com a empresa que provê o sistema Fluig.

Os testes foram executados na versão 1.7.1.

Participe de nossa comunidade no WhatsApp. Em caso de dúvidas, ou se encontrar erros neste artigo, entre em contato comigo.

O que são formulários no Fluig?

O que são formulários no fluig? De forma simples um formulário é uma tela em HTML, composta por componentes básicos de input, como caixas de texto, checklist, radio, botões entre outros.

Além dos componentes HTML padrão, podemos definir também uma Tabela que é um componente avançado, que é chamado de PAI X FILHO.

Um PAI X FILHO no Fluig é uma tabela HTML com algumas propriedades específicas nas tags <table>, que se assemelham a um relacionamento 1 para N, isto significa que você tem uma estrutura principal que armazena um registro único, já na estrutura da tabela PAI X FILHO você permite que a estrutura de dados se repita.

Um exemplo de uso de pai x filho é: imagine que você possui um formulário com os dados de um compra. Na estrutura principal você registrará dados únicos como: nome do cliente, data de compra, endereço de entrega e etc. A tabela pai x filho , por sua vez, é o recurso que você irá precisar para registrar os itens daquela compra, ou seja, nele serão armazenados um conjunto de registros que por necessidade irão repetir os seus tipos de dados, que podem ser: nome do produto, quantidade e preço unitário.

Veja mais detalhes da implementação do pai x filho na documentação oficial da TOTVS.

Em caso de dúvidas você pode também fazer parte da nossa comunidade pelo WhatsApp.

Os tipos de formulários do fluig.

A primeira coisa que precisaremos separar aqui é o FORMULÁRIO DESENVOLVIDO e o FORMULÁRIO UTILIZADO. Lembrando que este não é um conceito oficial e sim uma separação que eu fiz aqui para explicar que desenvolvemos uma estrutura de formulários em HTML, e em seguidas utilizamos esta mesma estrutura para armazenar dados.

Formulário Desenvolvido.

Conforme dito anteriormente, ao criar um formulário no fluig (dentro da plataforma, ou nos ambientes de desenvolvimento avançado) o sistema fluig irá interpretar estes campos e salva-los no banco de dados, especificando corretamente os campos do tipo INPUT que desenvolvemos e seus respectivos nomes.

Por que salvar os dados em estruturas, em vez de simplesmente salvar somente o HTML? Porque ao gerar um formulário o fluig cria datasets internos, portanto o dataset precisa saber os dados que irá responder.

As tabelas do banco de dados utilizadas para armazenar são: FICHEIRO, e FICHEIRO_CAMPO, onde FICHEIRO é a tabela que lista os componentes do tipo PAI X FILHO.

Já a tabela FICHEIRO_CAMPO especifica, tanto na estrutura principal, quanto na estrutura de PAI X FILHO, a estrutura de armazenamento, que são todos os campos de HTML do tipo INPUT.

Também é utilizada a tabela chamada DOCUMENTO, que salva o documento de fato, é como se fosse uma representação de um documento físico.

Quando criamos um formulário o sistema armazena a sua estrutura mantendo os nomes que inserimos na TAG NAME do HTML do formulário, porém se porventura removermos este campo e enviar uma versão mais atualizada, o sistema fluig irá mantê-lo em seus registros das tabelas citadas acima,, pois aquele campo já existiu em uma versão antiga daquele formulário. Desta forma é possível acessar informações deste campo, mesmo que ele já não esteja mais disponível para uso.

Formulário Utilizado.

Vamos entender como formulário utilizado aquele formulário que já está disponível na plataforma, seja na tela GED ( Documentos ) , ou o formulário utilizado em um determinado processo.

Ao preencher dados em um formulário já desenvolvido no fluig os registros serão armazenados em uma tabela chamada DOCUMENTO.

Alterando a versão de um formulário no fluig.

Verifique o disclaimer.

A plataforma não tem uma função nativa para ajustar formulários, portanto o recomendado é testar bastante antes de enviar a versão para o servidor de produção.

Quando identificamos falha em um formulário do fluig, podemos avaliar se é falha na estrutura dos campos inputs, ou se são falhas de layout / javascript ou css.

É possível enviar um ajuste de formulário para o fluig mantendo a versão atual, porém o sistema fluig compara a versão que está sendo enviada para o sistema com a versão vigente da plataforma para aquele formulário, caso haja alguma diferença nos campos inputs (nome de inputs alterados ou inclusos) o sistema rejeita o envio do formulário mantendo a mesma versão, sendo possível então enviar apenas criando uma nova versão.

Quando os registros são salvos em formulários (também se aplica a processos), ele salva em modelo de histórico, o que significa que cada alteração ou inclusão de dados possui uma versão específica e esta versão é exibida em tela, ou seja, mesmo que você envia uma versão de um formulário novo ele não se aplicará aos formulários já registrados.

Sabendo de tudo isso podemos entender que cada formulário utilizado no fluig utiliza uma estrutura de dados previamente registradas e controladas por uma versão.

Havendo a necessidade de ajustar um formulário você pode realizar o procedimento indicado abaixo. Lembre-se analise em seu ambiente de testes.

A primeira ação a ser feita é ajustar o formulário e enviar a versão corrigida. Após realizar este procedimento você irá localizar os documentos que você precisa ajustar, para isso identifique o código do formulário em seu sistema.

Agora precisamos localizar o ID do formulário que desenvolvemos e enviamos para o ambiente fluig, a forma mais fácil é acessar a pasta que enviamos o formulário e localizar o ID do mesmo.

Para localizar, pode ser feito nas propriedades do formulário disponíveis na aba DOCUMENTO e conferir o ID do formulário, ou pode buscar também pela consulta SQL Abaixo.

SELECT DS_PRINCIPAL_DOCUMENTO, COD_EMPRESA, NR_DOCUMENTO, *
FROM DOCUMENTO
WHERE
         DOCUMENTO.COD_EMPRESA=1
     AND DOCUMENTO.DS_PRINCIPAL_DOCUMENTO LIKE '%Teste%'
     AND TP_DOCUMENTO=4

Após localizar o código do documento você pode conferir na tabela FICHARIO qual é a última versão deste documento que está estruturada.

SELECT * 
FROM FICHARIO 
WHERE 
           COD_EMPRESA = 1 
  AND NRO_DOCUMENTO='60'
ORDER BY NRO_VERSAO DESC

A consulta SQL acima irá listar a estrutura principal do formulário, com o resultado localizamos todas as versões existentes do formulário, iremos obter aquela que desejamos ajustar, geralmente a última versão.

Imagina que temos um formulário na versão 1 e queremos ajustar ele para a versão 2, uma das formas é ajustando o campo NUM_VERS_PROPRIED , da tabela DOCUMENTO ajustando para a versão desejada.

No exemplo abaixo estamos ajustando um registro de FORMULÁRIO_UTILIZADO de código 1234, onde o FORMULARIO_DESENVOLVIDO tem o código 60.

   SELECT    * 
FROM DOCUMENTO 
WHERE 
   NR_DOCUMENTO = '1234'
AND NUM_DOCTO_PROPRIED=60
AND VERSAO_ATIVA=1

Referencias

TOTVS FLUIG. Tabelas Pai x Filho. Disponível em: < https://tdn.totvs.com/pages/viewpage.action?pageId=75270483 > : Acessado em 23 Nov. 2021.

Palavras Chave

Como funciona um formulário no fluig

Quais as tabelas de formulário do fluig

Como modificar uma versão de formulário no fluig.