Formulário ECM
Importante
A partir de 31/12/2024, essa versão do formulário não estará mais disponível. Acesse nossa documentação para conhecer a nova interface de formulários.
Formulário ECM é uma forma simples de construir interfaces para serem utilizadas na construção de processos de workflow.
- Acesse Senior Flow > BPM > Configurações > Formulários;
- A primeira tela apresenta a lista de formulários já cadastrados que podem ser editados e também o botão Adicionar para criar um novo;
- Ao incluir um novo, preencha o Título do formulário, a Entidade na base de dados e clique em Adicionar Campo;
Na aba Gerais, preencha os campos abaixo. Conforme os campos vão sendo configurados, é apresentado uma prévia em tempo real de como ficará o formulário para os usuários:
- Rótulo: Informe o rótulo que será exibido no formulário;
- Descrição: Permite incluir uma observação que servirá de ajuda para o usuário (opcional);
- Tipo do Campo: Permite selecionar as opções que irão definir o tipo do campo e os dados que serão inseridos. Dependendo do tipo escolhido, é habilitado outro campo onde devem ser inseridos os valores do campo;
- Atributo na base de dados: Define um apelido para o campo e como ele será gravado internamente;
- Tamanho do campo: Define o espaço que o campo vai utilizar na tela.
- Máscaras: Essas máscaras são utilizadas como exemplos para ajudar o usuário a preencher corretamente os campos. Para definir as máscaras, os seguintes caracteres podem ser utilizados:
- "A": Representa qualquer letra.
- "9": Representa qualquer número.
- "*": Aceita letras e números.
- 99.999.999/9999-99: Formato de CNPJ.
- (99) 99999-9999: Formato de número de celular.
- *****: Sequência alfanumérica até 5 caracteres.
- AAAAAAA: Sequência de texto até 7 caracteres.
- "a": Representa qualquer letra;
- "9": Representa qualquer número;
- "*": Aceita letras e números.
- 99.999.999/9999-99: Formato de CNPJ;
- (99) 99999-9999: Formato de número de celular;
- 9999?/99/99: Formato de data
Exemplos de Máscaras:
Observação: Máscaras não funcionam para os campos com fontes de consultas no layout antigo do formulário.
As máscaras são utilizadas como exemplos para auxiliar o usuário a preencher corretamente os campos. Para definir as máscara,os seguintes caracteres podem ser utilizados:
Exemplos de máscaras:
? - O operador ? indica que os dados são opcionais. Isso significa que a máscara pode aceitar tanto 2025 quanto 2025/03/21
***** - Representa uma sequência obrigatória de até 5 caracteres alfanuméricos;
?***** - Permite até 5 caracteres alfanuméricos, mas todos são opcionais;
aaaaaaa - Sequência de até 7 caracteres, funciona de maneira semelhante às outras regras, mas aceita apenas letras.
Ao alterar um campo de um formulário, um aviso será exibido juntamente com uma marcação no campo alterado, indicando onde ocorreram as mudanças. Para continuar com o processo, clique em Salvar.
Ao fazer modificações no formulário que alterem sua versão, uma lista de todos os processos que utilizam esse formulário será exibida. Isso permite selecionar os processos que você deseja atualizar para a nova versão do formulário. A versão do formulário é então atualizada, e o processo é publicado e salvo automaticamente com a nova versão, facilitando todo o procedimento de atualização da versão do formulário no processo.
Também é possível atualizar os processos para a versão atual por meio do botão Atualizar processos.
Acesse Senior Flow > BPM > Configurações > Formulários e clique em Adicionar Campo. Escolha o Tipo do campo (os campos lista, link e anexo não suportam esse tipo de configuração), selecione a opção Campo calculado que aparecerá ao final da tela e informe a expressão desejada. Para acessar o valor de um campo dentro da expressão, utilize a notação do PlaceHolder ${<nome_do_campo>}. No caso de um campo calculado do tipo Data, é necessário sempre informar e retornar um objeto do tipo Date.
Acesse Senior Flow > BPM > Configurações > Formulários, clique em Adicionar Campo, e em Tipo do campo selecione a opção Link e informe a URL destino. Para passar o valor de outros campos para o link, utilize a notação PlaceHolder. Exemplo: https://meusite.com.br?param1=${campo_1}¶m2=${campo_2}.
Links autenticados
Para acessar um link autenticado, siga o padrão da G5 para passar a autenticação. Normalmente é necessário a utilização de um integrador, que irá reconhecer o mecanismo e tratar a autenticação para o modelo do sistema referenciado no link. Integrações com o HCM da G5 funcionam dessa maneira, sendo um exemplo de link válido:
https://www2.senior.com.br/rubisenior/integration.htm?url=<url do relatório>
No exemplo acima, o arquivo integration.htm é o responsável por essa tarefa. Caso não tenha um integrador, abaixo consta um snippet de um código que leria os dados de autenticação:
if (window.name.indexOf("SENIOR_CREDENTIALS") != 0) {
// Autenticação não encontrada;
return;
}
var data = JSON.parse(window.name.substring("SENIOR_CREDENTIALS".length));
Sendo que o objeto data apresenta a seguinte estrutura:
{
"token": objeto token da Senior,
"servicesUrl": url para serviços da Senior
}
No código acima, passa como nome da janela aberta uma string contendo o prefixo SENIOR_CREDENTIALS, seguido de um objeto JSON codificado em string contendo os dados de autenticação da G7.
Importante
Campos do tipo Link não serão mais visíveis na configuração dos campos, pois não são mais considerados variáveis do processo.
Para os campos do tipo anexo é possível adicionar um prefixo no nome do mesmo.
Ao inserir algum valor no campo Prefixo do Anexo, como por exemplo cpf, todo anexo adicionado a este campo no fluxo da solicitação, terá como prefixo o cpf.
Exemplo: nome do meu arquivo: bpm.txt.
Ao inserir o arquivo no fluxo, passa a ser: cpf-matheus.txt.
Importante
O tamanho máximo de anexo é 100mb.
Formatos aceitos: "pdf","doc","docx","xls","xlsx","csv","txt","rtf","html","zip","mp3","wma","mpg","flv","avi","jpg","jpeg","png","gif".
Acesse a Senior Flow > senior X > BPM > Configurações > Formulários, clique em Regras de Consistência e em seguida em Criar uma nova regra. A opção Quando define o momento em que as regras deverão ser executadas. Existem três tempos: Abrir o formulário, Enviar o formulário e A condição for verdadeira.
Abrir o formulário
Neste tempo, são apresentados dois campos: Ação e Campos aplicados. No campo Ação, é possível escolher entre cinco ações: Habilitar, Desabilitar, Exibir, Esconder, Tornar obrigatório.
- Habilitar: habilita um campo que está desabilitado quando o formulário for aberto;
- Desabilitar: desabilita um campo que está habilitado quando o formulário for aberto. Essa opção não torna o campo oculto, apenas o torna bloqueado para realizar edições;
- Exibir: mostra um campo que antes estava oculto quando o formulário for aberto;
- Esconder: esconde um campo que antes estava sendo mostrado na tela, quando o formulário for aberto. Essa ação fará com que o campo fique indisponível para edição e visualização;
- Tornar obrigatório: alerta o usuário de que o campo não pode ser vazio.
O campo Campos aplicados informa em quais campos a ação (habilitar, desabilitar, exibir, esconder e tornar obrigatório) será aplicada. Mais de um campo pode ser informado. O botão Adicionar ação, pode ser utilizado para criar mais uma ação, que poderão ser criadas de acordo com a necessidade.
Importante
Configurações dos campos do fluxo não podem ser sobrepostas por regras de consistência.
Enviar o formulário
Este tempo possui 4 campos: Validar, Ação, Campos aplicados e Mensagem (só é exibido ao selecionar a ação Consistir).
No campo Ação, existe apenas a opção Consistir. No campo Campos aplicados, informe os campos que ao serem alterados, farão com que a condição escrita no campo Validar seja executada. Exemplo: caso o valor do campo Validar seja ${nome} == ‘123’ e o campo nome for informado no campo Campos aplicados, deve-se considerar a expressão "Quando enviar o formulário, validar se nome for igual a 123", e então executar a ação Consistir campo nome.
A condição for verdadeira
Este tempo possui 3 campos: Validar, Ação e Consistir campos. O botão Adicionar ação possibilita que mais de uma ação seja adicionada.
No campo Validar, informe a condição que será executada quando A condição for verdadeira. No campo Ação, selecione a ação que será executada sobre o(s) campo(s) informado(s) em Campos aplicado. Nesta tela, o campo Ação possui 6 opções:
- Habilitar: habilita um campo que está desabilitado sempre que a condição informada no campo Validar for verdadeira;
- Desabilitar: desabilita um campo que está habilitado sempre que a condição informada no campo Validar for verdadeira. Essa opção não torna o campo oculto, apenas o torna bloqueado para realizar edições;
- Exibir: mostra um campo que antes estava oculto, sempre que a condição informada no campo Validar for verdadeira;
- Esconder: esconde um campo que antes estava sendo mostrado na tela, sempre que a condição informada no campo Validar for verdadeira. Essa ação fará com que o campo fique indisponível para edição e visualização;
- Tornar obrigatório: alerta o usuário de que o campo não pode estar vazio, sempre que a condição informada no campo Validar for verdadeira;
- Consistir: o campo Mensagem será exibido ao selecionar essa opção. Sempre que a condição informada no campo Validar for verdadeira, o campo ficará como inválido e a mensagem definida será mostrada para o usuário.
As condições apresentadas devem ser sempre informadas no campo Validar e deverão ser escritas utilizando a sintaxe da linguagem Javascript.
| Operador | Descrição | Exemplos que retornam verdadeiro |
|---|---|---|
| Igual (==) | Retorna verdadeiro caso os operandos sejam iguais |
${nome} == ‘Marcelo’ ${nome} == ‘Ana’ ‘Marcelo’ == ${nome} |
| Diferente de (!=) | Retorna verdadeiro caso os operandos sejam diferentes |
${nome} != ” ${nome} != ‘Ana’ ‘Marcelo’ != ${nome} |
| Estritamente igual (===) | Retorna verdadeiro caso os operandos possuam o mesmo valor e o mesmo tipo (Inteiro, Texto, Data, etc) |
${nome} === ${sobrenome} ${nome} === ${nome_mae} ${nome} === ${nome_pai} |
| Estritamente diferente (!==) | Retorna verdadeiro caso os operandos possuam diferentes valores e/ou tipos diferentes. |
${nome} !== 123 ${nome} !== ${data_nascimento} |
| Maior que (>) | Retorna verdadeiro caso o operando da esquerda seja maior que ao da direita. |
${idade} > 17 ${idade} > ‘0’ |
| Maior que ou igual (>=) | Retorna verdadeiro caso o operando da esquerda seja maior ou igual ao da direita. |
${idade} >= 18 ${idade} >= 1 |
| Menor que (<) | Retorna verdadeiro caso o operando da esquerda seja menor ao da direita. |
17 < ${idade} ${total_dependentes} < 3 |
| Menor que ou igual (<=) | Retorna verdadeiro caso o operando da esquerda seja menor ou igual ao da direita. |
${idade} <= 18 2 <= ${total_dependentes} |
| Operador | Descrição | Exemplos |
|---|---|---|
| E lógico (&&) |
(E lógico) – adiciona uma nova expressão em uma condição, a qual deverá ser verdadeira para que a expressão completa seja verdadeira. A leitura ficaria da seguinte forma: Se idade for maior que 17 anos e (&&) idade for menor que 60 anos, então é verdadeiro. Para a condição mencionada, as duas expressões precisam ser verdadeiras para que a condição seja verdadeira: a idade precisa ser maior que 17 anos e menor que 60. |
${idade} >= 17 && ${idade} < 60 |
| OU lógico (||) |
(Ou lógico) – adiciona uma nova expressão em uma condição mas que não precisa necessariamente ser verdadeira para que a condição toda seja verdadeira. A leitura ficaria da seguinte formar: Se o nome for Ana ou (||) o nome for Maria, então é verdadeiro. Para essa condição, as duas expressões são independentes: Se o nome for Ana, a condição será verdadeira. Se o nome for Maria, a condição será verdadeira também. |
${nome} == ‘Ana’ || ${nome} == ‘Maria’ |
| Não lógico (!) |
(Negação lógica) - transforma uma expressão verdadeira em falsa; se não, caso a expressão seja falsa, a transforma em verdadeira. A leitura ficaria da seguinte forma: Se idade não (!) for maior que 17 anos, então é verdadeiro. |
!(${idade} > 17) |
Comparando campos do tipo texto
Como exemplo, serão tratados dois campos: nome e sobrenome. Para verificar se ambos os campos foram informados pelo usuário, é necessário escrever uma condição que verifique se ambos são diferentes de vazio. Para isso, utilize o operador !.
!${nome} || !${sobrenome}
A expressão acima está negando o nome e sobrenome. Ou seja, consiste toda vez que o nome e sobrenome não existirem.
A leitura da regra acima ficará da seguinte maneira: Quando enviar o formulário, validar se nome ou sobrenome não existir, então execute a ação de consistir os campos nome e sobrenome exibindo a mensagem Obrigatório.
Também é possível comparar campos do tipo texto com outros campos do tipo texto e com textos estáticos. Usando os campos acima, pode ser feita a seguinte comparação:
${nome} == 'Facebook' || ${sobrenome} == ${nome}
A leitura da regra acima seria da seguinte maneira: Quando enviar o formulário, validar se nome for igual a Facebook ou se sobrenome for igual ao nome, então executa a ação.
Comparando números
A forma para comparar números é semelhante ao que foi apresentado na comparação de textos. Para números, é necessário utilizar os operadores > (maior que), >= (maior que ou igual a), < (menor que), <= (menor que ou igual a).
Considere os campos: idade e idade_conjuge.
${idade} < 18 || ${idade_conjuge} < 18
A condição acima, iria fazer a consistência caso as idades informadas, fossem menor que 18. É possível escrever as mesmas expressões, da seguinte forma:
${idade} <= 17 || ${idade_conjuge} <= 17
Comparando datas
Todos os campos de data de um formulário ECM são automaticamente convertidos para um valor inteiro. Para comparar dois campos de data, utilize os mesmos exemplos de condições utilizadas para números inteiros. Portanto:
Considere os campos: data_nascimento, data_falecimento.
${data_falecimento} >= ${data_nascimento}
A condição acima diz que irá realizar a consistência, caso a data de falecimento seja maior que a data de nascimento.
Para comparar uma data estática, é necessário converter uma data para inteiro. Na linguagem Javascript, é possível ter acesso a data atual através do objeto new Date(). Para converter essa data para inteiro, devemos chamar um método desse objeto, chamado getTime().
Considere o seguinte exemplo:
${data_nascimento} > new Date().getTime()
A expressão acima irá realizar a consistência caso a data de nascimento seja maior que a data de hoje.
Caso haja a necessidade de comparar com uma data específica, podemos passar os parâmetros para o objeto Date, seguindo a ordem: ano, mês, dia, hora, minuto, segundos. Considere a seguinte expressão:
${data_nascimento} > new Date(2009, 11, 31).getTime()
A expressão acima irá consistir caso a data de nascimento seja maior que 31/12/2019. Repare que como segundo parâmetro, o mês, foi passado o valor 11 em vez de 12. Isso acontece porque no Javascript a contagem do mês começa a partir de 0. Ou seja, 0 é janeiro e 11 é dezembro.
Acesse Senior X > senior X > BPM > Configurações > Fonte de dados. É possível editar uma fonte existente que será listada ou então criar uma nova.
Para configurar, por exemplo, uma fonte de dados que lista as cidades de Santa Catarina (cidades-sc), utilize um site que fornece uma série de dados geográficos do mundo inteiro, como o geonames.org. Usando esse site, para retornar as cidades do estado usaremos essa URL: http://www.geonames.org/childrenJSON?geonameId=3450387.
Colocando essa URL no browser, é possível verificar o JSON retornado.
{
“totalResultsCount”: 295,
“geonames”: [{
“adminCode1”: “26”,
“lng”: “-51.04023”,
“geonameId”: 6323039,
“toponymName”: “Abdon Batista”,
“countryId”: “3469034”,
“fcl”: “A”,
“population”: 2653,
“countryCode”: “BR”,
“name”: “Abdon Batista”,
“fclName”: “country, state, region,…”,
“adminCodes1”: {
“ISO3166_2”: “SC”
},
“countryName”: “Brazil”
}, …
O serviço retorna várias informações. Disponibilize no DataSource os campos geonameId e name que estão dentro de geonames, que é o elemento raiz no JSON. Pode-se disponibilizar a informação de tamanho populacional (population) disponível no serviço se for relevante para o que o DataSource for usado. Só é necessário informar o campo elemento raiz se o JSON de resposta do serviço possuir um elemento raiz.
Disponibilize duas informações existentes no serviço no DataSource. Assim, na hora de usar o DataSource em um campo do ECM, poderá se optar por ao selecionar um registro, utilizar o campo ID ou Nome da Cidade para preencher o campo.
Agora basta configurar o campo do formulário. Selecione a fonte de dados na guia Configurações Avançadas, e também o campo da fonte de dados que será utilizada para o preenchimento do campo.
JSON
{
“rows”: [{
“idUsuario”: “d1c040b3-943a-4be8-9343-61ee69cc2754”,
“nome”: “admin”,
“nomeCompleto”: “Administrador do sistema”,
“email”: “noreply@senior.com.br”
},..
O formulário a ser excluído não pode estar em uso em nenhum processo. Assim, sua exclusão será definitiva em nossas bases, sem possibilidade de restauração. Caso o formulário já tenha sido utilizado, será realizada apenas uma exclusão lógica, de modo que ele não aparecerá mais na listagem, mas permanecerá na base com o status deleted.
Se o formulário estiver em uso, será exibida uma mensagem informando os processos que o utilizam, permitindo que o usuário analise e, se necessário, substitua o formulário.
Permite ao usuário criar, editar, atualizar e visualizar registros dentro de uma lista.
Dentro dessas listas podem ser criados diversos campos de diferentes formatos.
No formato lista de objetos são elegíveis campos do tipo Texto, Inteiro, Decimal, Booleano, Data, Lista, Texto Longo, Link e Anexo. Caso o campo de anexo seja utilizado, a lista de objetos permitirá a adição de até 10 registros. Para habilitar essa funcionalidade, é necessário solicitar a liberação das feature toggles attachmentWithObjectList e useNewFormExecutor. Informe o nome do seu Tenant e solicite a liberação através do nosso suporte.
Para garantir o bom funcionamento do fluxo, recomendamos evitar o uso de uma lista de objetos dentro de outra lista de objetos, pois isso pode causar problemas no seu processo.
Ao selecionar o tipo de campo, na sequência assinale a check-box Item de lista de objeto e indique a lista de objeto pertencente.
Automaticamente o campo será considerado parte dessa lista de objetos.
É possível adicionar vários campos e diferentes formatos a uma mesma lista.
Dentro da funcionalidade também existe a possibilidade de adicionar uma nova linha de registro, onde o usuário pretende preencher os mesmos campos mais de uma vez.
É possível excluir os registros existentes, porém uma vez criada a lista de objetos, sempre será necessário ter ao menos um registro, mesmo que esse esteja em branco.
Importante
Não é possível enviar lista de objetos (array) para o Gestor Senior (Antigo Decision Center).
Nas regras de consistência que envolvem campos do tipo lista de objetos, apenas os campos filhos são apresentados para configuração. Se todos os campos filhos forem configurados como ocultos, isso resultará no ocultamento completo do objeto, inclusive do botão Adicionar.
Dentro das configurações dos campos, um campo de uma lista pode ser adicionado como campo de fonte de dados, no entanto essa lista não pode ser utilizada como resultante.
No momento da configuração das visualizações dos campos, por padrão, a visualização será selecionada para todas as linhas da tarefa. Para uma visualização individual, você pode aplicar as regras de visualização para cada campo filho.
Versão Anterior do Executor: Nesta versão, a tecnologia utilizada para processar formulários é baseada em uma arquitetura antiga e limitada, comprometendo a performance à medida que a complexidade e a quantidade de dados processados aumentam. Quando há muitos campos, regras ou campos calculados,assim como em listas com mais de 50 linhas, a performance pode cair drasticamente, causando lentidão ou até travamentos na execução.
Por exemplo, ao processar uma lista com 50 linhas e 20 campos por item, o navegador precisa carregar e manter em memória cerca de 1000 elementos simultaneamente, gerando uma sobrecarga significativa no processamento. Essa arquitetura, por adotar uma abordagem sequencial e utilizar recursos de memória de forma limitada, não oferece escalabilidade para cenários mais complexos ou com grandes volumes de dados.
Novo Executor (Ativado via feature toggle useNewFormExecutor): Através deste novo executor, baseado em uma tecnologia moderna e otimizada, é possível processar grandes volumes de dados de forma eficiente. A principal evolução consiste no aumento da capacidade de processamento: - até 150 linhas por formulário — extensível para 250 mediante solicitação ao suporte, via parâmetro de configuração ecm.form.max.line.object.list na PDL (Process Definition Language).
Isso significa que o novo executor pode processar até 3000 itens, com 150 linhas e 20 campor por item, aumentando a capacidade de processamento, sem comprometer a performance. Para cenários com volumes ainda maiores, recomenda-se o uso de componentes em grid com paginação, que reduzem a carga em memória e melhoram a eficiência na execução. Essa funcionalidade também requer liberação pelo suporte.
Com isso, o sistema ganhou mais velocidade e escalabilidade, conseguindo lidar com grandes volumes de dados sem perder performance.
A funcionalidade Formulário por Seção permite dividir formulários em várias seções, otimizando a organização e o fluxo de preenchimento das etapas do processo.
Para habilitar a funcionalidade, siga os passos abaixo:
- Abra um ticket no suporte solicitando a ativação.
- No ticket, mencione especificamente a funcionalidade formWithSections, pois ela é controlada via feature toggle.
Os formulários por seção oferecem uma melhor organização visual dos campos dentro de um formulário, facilitam a manipulação dos campos em formulários muito extensos e simplificam o processo de configuração de visibilidade dos campos dentro do fluxo do processo após adição de um novo campo no formulário.
- Cada seção deverá ter um nome único.
- Assim como os campos do formulário, as seções também podem ser reorganizadas usando a função de arrastar e soltar. As seções sempre aparecerão primeiro, e a ordenação só pode ser feita entre itens do tipo seção. Ou seja, não é possível mover um campo do formulário para entre duas seções.
- Ao excluir uma seção, todos os campos vinculados a ela serão excluídos também (será exibida uma mensagem de confirmação para o usuário).
- Caso algum campo da seção esteja vinculado a alguma regra de consistência, primeiro deve ser removida a regra para depois remover a seção e seus campos vinculados.
- Cada campo pode ser vinculado a somente uma seção.
- Ao utilizar listas de objetos, os campos filhos herdarão a seção do campo pai.
- Para alterar a seção de um campo basta clicar em editar nas opções do campo e alterar a seção vinculada a ele.
- Essa opção pode ser utilizada para visualizar os campos do formulário de acordo com a seção desejada.
- Após a configuração das seções no formulário, as mesmas poderão ser utilizadas na definição de uma tarefa do processo, ou seja, todos os campos vinculados a aquela seção serão configurados como visíveis para a tarefa em questão e todos os demais campos de outras seções serão marcados como ocultos.
- Uma vez configurados o formulário e o fluxo, se o usuário adicionar um novo campo em uma seção do formulário, a visibilidade desse campo será automaticamente definida como oculta para as demais tarefas que não utilizam essa seção. Para que essa configuração funcione corretamente, o fluxo precisa ser publicado novamente após a adição do campo.
- A definição de uma seção em uma tarefa não é obrigatória e em casos onde o usuário precisar ter campos de diversas seções em uma mesma tarefa, deverá manter a opção todas ativa e definir manualmente a visibilidade de cada campo.
Esta funcionalidade permite a criação de Grids (Tabelas) no novo formulário ECM, além de possibilitar a execução das tarefas com este formulário.
Pré-requisitos
Para utilizar a funcionalidade de Grids, é necessário que o tenant tenha o feature toggle formWithGrids ativado.
Para habilitar a execução da tarefa com o novo formulário, o tenant deve ter o feature toggle useNewFormExecutor ativado.
Funcionalidades da Grid
- Criação de Grids: Permite a criação de grids para a organização dos campos (Lista de objetos), com a limitação de vincular apenas um campo por grid.
- Edição da Grid: É possível editar a grid, alterando seu nome e o campo vinculado a ela.
- Deleção da Grid: Permite a exclusão da grid quando necessário.
- Tipo de Campo: Somente campos do tipo "Lista de objetos" podem ser vinculados a uma Grid.
- Vínculo Único: Não é permitido vincular um mesmo campo que já esteja associado a outra grid criada no formulário.
- Colunas da Grid: Ao vincular uma lista de objetos, todos os seus campos filhos se tornarão colunas na grid, funcionando de maneira similar à lista de objetos atual, permitindo adicionar, editar e remover linhas.
- Renderização dos Campos: O tamanho dos campos na grid não será afetado pela configuração, sendo renderizado em tamanho fixo e gerando uma barra de rolagem horizontal conforme o tamanho da tela.
Observação
A grid só será exibida se o novo formulário estiver ativo para execução.
Importante
O limite da quantidade de campos é de no máximo 200 campos por formulário.
Configurações avançadas de campos e DataSources
Em configurações avançadas dos campos, é possível definir se o campo será apresentado ou não no aplicativo. Os campos podem ainda utilizar DataSource para apoiar no seu preenchimento, que é uma fonte de dados externa que pode ser usada para montar uma lista dinâmica em um campo. Pode ser por exemplo uma lista de usuários, ou uma lista de CEPs do site dos correios ou qualquer outra fonte de dados (interna ou externa) que utilize a especificação REST. É possível configurar o campo como Consulta, que será a informação utilizada para filtrar os dados da fonte de dados.
Para acessar a documentação específica sobre fonte de dados externa, clique aqui.
É possível configurar o campo como Consulta, que será a informação utilizada para filtrar os dados da fonte de dados.
Também é possível configurar um campo como Resultante, neste caso, os dados serão retornados através do campo Consulta. É possível por exemplo, a partir do campo CEP que é um campo Consulta, preencher outros campos como endereço automaticamente.
Importante
Os campos do tipo "Lista" e "Anexo" não são suportados para utilização de fonte de dados.
Campos ocultos pela regra de consistência não poderão receber valores.

English
Español


