Ir para o conteúdo principal

Expressão - Função "Include" em FK

Olá,
Esse tópico serve para ensinar como realizar o uso da nova função (Expressão) em campos de FK, usando especialmente a função Includes. Como exemplo, foi feito um processo simples que contém as seguintes configurações:

  • Um campo de FK normal.
  • Um campo que deve se preencher automaticamente conforme seja selecionada uma opção da FK.
  • Um botão que fica visível caso a FK esteja preenchida com determinada informação.

Esse procedimento foi feito tanto comparando pelo ID, quanto pela descrição.

image-1640611068965.gif

Configuração dos Campos por ID

Campo de FK por ID.
A configuração do campo é normal (marque utilizar FK na aba Propriedades), e se atente ao campo destacado em vermelho, pois você precisará fazer uso dele para configurar as expressões.

image-1640611972058.png

Campo de preenchimento automático.

Para o preenchimento automático, você deve marcar a expressão no campo valor, e especificar sua condição nele. Nesse caso, o processo irá preencher com a descrição caso o valor selecionado esteja preenchido, independente do preenchimento escolhido.

image-1640612647602.png

Código: 

CAMPODEFKID.valor ? CAMPODEFKID.valor.descricao : ''

Botão que deve ficar visível caso determinada opção seja selecionada.

Esse botão está configurado para caso o ID selecionado seja igual a três, o botão ficará visível. O símbolo "?" é como se fosse uma estrutura de IF, uma questão. Nesse caso, faz a seguinte análise: Caso o campo esteja preenchido, ele ficará visível.

image-1640614713088.png

[3].includes(CAMPODEFKID.valor ? CAMPODEFKID.valor.id : 0)
Configuração dos Campos por Descrição

Campo de FK por Descrição.

A configuração do campo é normal (marque utilizar FK na aba Propriedades), e se atente ao campo destacado em vermelho, pois você precisará fazer uso dele para configurar as expressões. A única diferença de fazer com ID, é que o identificador está diferente por ser outro campo. O identificador nunca pode se repetir em uma atividade.

image-1640614954477.png

Campo de preenchimento automático.

Para o preenchimento automático, você deve marcar a expressão no campo valor, e especificar sua condição nele. Nesse caso, o processo irá preencher com a descrição caso o valor selecionado esteja preenchido, independente do preenchimento escolhido. No print, o código ultrapassou um pouco o campo, mas estará escrito abaixo caso queira utilizar.

image-1640614998811.png

Código: 

CAMPODEFKDESCRICAO.valor ? CAMPODEFKDESCRICAO.valor.descricao : ''

Botão que deve ficar visível caso determinada opção seja selecionada.

Esse botão está configurado para caso a descrição selecionada seja igual a "Consumidor final", o botão ficará visível. O símbolo "?" é como se fosse uma estrutura de IF, uma questão. Nesse caso, faz a seguinte análise: Caso o campo esteja preenchido, ele ficará visível. Nesse caso, o print também cortou o código, e ele estará escrito abaixo caso queira utilizar.

image-1640615352358.png

Código: 

['Consumidor final'].includes(CAMPODEFKDESCRICAO.valor ? CAMPODEFKDESCRICAO.valor.descricao : '')
Campos de Modelos diferentes

Caso queira fazer uma situação, por exemplo, com um campo FK e um campo dissertativo, você pode fazer uso da seguinte sintaxe:

Código: 

[3].includes(CAMPODEFKID.valor ? CAMPODEFKID.valor.id : 0) && ['Ola'].includes(CAMPODEDESCRICAO.valor ? CAMPODEDESCRICAO.valor : '')

Dessa forma vai estar comparando um campo de FK, e um outro campo de texto incluído em uma Dissertativa.