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 origem; 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_TITULOX3_DESCRICX3_VALIDX3_RELACAOX3_BROWSEX3_VISUALX3_CONTEXTX3_GRPSXG
O1K01O1K_FILIALC8Filial      Filial do Sistema

SAR033
O1K02O1K_COD   C10CódigoCódigo
GetSXENum("O1K","O1K_COD")SVR
O1K03O1K_ENTIDAC10Entidade

Entidade de Origem



NAR
O1K04O1K_CONPADC6Consulta PadrãoConsulta Padrão

SAR
O1K05O1K_ORIGEMC10Campo de OrigemCampo de Origem

SVR
O1K06O1K_DESTINC10Campo de DestinoCampo de Destino

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


Segue exemplo de configuração de Consulta Padrão: 

XB_ALIASXB_TIPOXB_SEQXB_COLUNAXB_DESCRIXB_DESCSPAXB_DESCENGXB_CONTEM
JTESTE101REJTESTE

SA2
JTESTE20101


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



SA2->A2_COD
JTESTE502



SA2->A2_LOJA


04. DEMAIS INFORMAÇÕES

05. ASSUNTOS RELACIONADOS