01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:

Função:

WSJurConsultas.PRW

jurconsultas.service.ts

custom-fields.component.ts

País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :

DJURDEP-14483


02. SITUAÇÃO/REQUISITO

Foi identificado que, em algumas Consultas Padrão, utilizadas via TJD, os usuários precisam preencher campos auxiliares adicionais em tela (como Banco, Agência e Conta) a partir de dados retornados pela consulta. Porém esses dados são apenas concatenados no label do campo, deixando a visualização poluída e pouco usável.

Atualmente, o cliente configura múltiplos campos de origem (ex.: A2_BANCO, A2_AGENCIA, A2_CONTA) no 3º parâmetro da JURSXB, e o sistema monta um único label com todas as informações, o que dificulta a leitura e não permite preencher automaticamente os campos de destino do cadastro (ex.: NT3__BANCO, NT3__AGENC, NT3__CONTA).

Diante disso, surgiu a necessidade de padronizar uma forma de a Consulta Padrão informar ao TJD quais campos adicionais devem ser retornados, e em quais campos do formulário esses valores deverão ser aplicados, por meio de uma estrutura de De/Para que permita ao endpoint retornar esses dados extras para os Campos Customizados.

03. SOLUÇÃO

Para tanto, implementamos uma nova regra na Consulta Padrão para permitir o retorno de campos adicionais vinculados à consulta, de forma parametrizada, contemplando o cenário em que o TJD consome essas informações para preenchimento automático de campos auxiliares em tela.

Criamos uma nova estrutura de dicionário/tabela (O1K) para registrar o De/Para dos campos, onde passamos a identificar para cada registro: (i) qual é a Consulta Padrão utilizada; (ii) qual é a tela/rotina de destino; e (iii) quais são os campos de origem e de destino que devem participar do mapeamento, garantindo que, quando houver configuração, esses campos sejam incluídos automaticamente no SELECT e retornados no payload da API.

Adaptamos o endpoint responsável pela consulta para que, ao montar o response, retorne os valores mapeados na nova estrutura dentro de um objeto de “extras”, por exemplo: “extras”: { “NT3__AGENC”: “033”, “NT3__CONTA”: “555”, ... }), permitindo que o componente de Campos Customizados aplique o patchValue nesses campos de destino e elimine a dependência da concatenação excessiva de informações no label da consulta.

Estrutura de dicionário e tabela O1K - De\Para de Campos Customizados:


X3_ARQUIVOX3_ORDEMX3_CAMPOX3_TIPOX3_TAMANHOX3_DECIMALX3_TITULOX3_DESCRICX3_PICTUREX3_VALIDX3_USADOX3_RELACAOX3_F3X3_NIVELX3_RESERVX3_CHECKX3_TRIGGERX3_PROPRIX3_BROWSEX3_VISUALX3_CONTEXTX3_OBRIGATX3_VLDUSERX3_CBOXX3_PICTVARX3_WHENX3_INIBRWX3_GRPSXGX3_FOLDERX3_PYMEX3_ORTOGRAX3_IDXFLDX3_TELAX3_PICBRVX3_AGRUPX3_POSLGTX3_MODAL
O1K01O1K_FILIALC80Filial      Filial do Sistema@!
x

1xxxxxx x

USAR





033
S






O1K02O1K_COD   C100CódigoCódigo

xGetSXENum("O1K","O1K_COD")
0xxxxxx x

USVR







SNN


1
O1K03O1K_ENTIDAC100Entidade

Entidade de Origem



x

0xxxxxx x

UNAR







SNN


1
O1K04O1K_CONPADC60Consulta PadrãoConsulta Padrão

x

0xxxxxx x

USAR







SNN


1
O1K05O1K_ORIGEMC100Campo de OrigemCampo de Origem

x

0xxxxxx x

USVR







SNN


1
O1K06O1K_DESTINC100Campo de DestinoCampo de Destino

x

0xxxxxx x

USVR







SNN




INDICEORDEMCHAVEDESCRICAOPROPRISHOWPESQIX_VIRTUALIX_VIRCUST
O1K1O1K_FILIAL+O1K_COD CódigoUN23
O1K2O1K_FILIAL+O1K_CONPAD+O1K_ENTIDAConsulta Padrão + EntidadeUN23


Portanto, para utilização e implementação de gatilhos nos Campos Customizados precisamos, além da tabela acima, de:

1. Uma Consulta Padrão configurada para buscar os campos de origem e seus respectivos valores, conforme segue.

2. Registros na tabela O1K sinalizando o De Para dos campos, conforme segue.


Exemplo de configuração de Consulta Padrão: 

XB_ALIASXB_TIPOXB_SEQXB_COLUNAXB_DESCRIXB_CONTEM
JTESTE101REJTESTESA2
JTESTE20101
JURSXB("SA2", "JTESTE", {A2_AGENCIA, A2_BANCO, A2_CGC, A2_NOME})
JTESTE501

SA2->A2_COD
JTESTE502

SA2->A2_LOJA


Exemplo de tabela O1K com os respectivos registros:

O1K_FILIALO1K_CODO1K_ENTIDAO1K_CONPADO1K_ORIGEMO1K_DESTIN

0000000001NT3JTESTEA2_AGENCIANT3__CODAG

0000000002NT3JTESTEA2_BANCONT3__CNTBI

0000000003NT3JTESTEA2_NOMENT3__CNTDI

0000000004NT3JTESTEA2_CGCNT3__AGNDI




04. DEMAIS INFORMAÇÕES

05. ASSUNTOS RELACIONADOS