Page tree

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

Especificação

Produto

Logix

Módulo

EAI

Segmento Executor

Tecnologia

Projeto1

PDR_LD_FRW001

IRM1

PCREQ-8293

Requisito1

PCREQ-10019

Subtarefa1

PDR_LD_FRW001-205

Release de Entrega Planejada12.1.11

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

EAI Logix

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivo

Permitir a consulta genérica de De/Para no EAI Logix.

 

Definição da Regra de Negócio

 A consulta genérica de De/Para do EAI se dará a partir do programa EAI10000. Neste programa, na opção Aplicativo Externo, será incluído um botão ao lado do botão De/Para Empresa (vide Imagem 1). Este novo botão, chamado consulta De/Para, mostrará uma tela do tipo consulta que permitirá ao usuário consultar todos os De/Para que estão relacionados a cada aplicativo externo.

Abaixo segue uma breve descrição de cada componente da tela:

Botão Sair: Ao clicar neste botão a tela fechará.

Código De/Para: Neste campo será selecionado o ID do De/Para.

Tabela: Neste campo é mostrada a tabela do Logix que está relacionada ao código do De/Para. Este campo não será editável.

Os demais campos, o filtro de pesquisa e a grid de dados serão gerados dinamicamente com base nas informações recuperadas das tabelas eai_depara e eai_depara_valores. Quando a tela for executada, o primeiro código de De/Para já estará selecionado, este código está na tabela eai_depara e por meio desta seleção a tela será construída.  Para melhor entendimento verificar a imagem 2 na sessão protótipo de tela que está apresentando código De/Para selecionado "AccountantAccount".

Na imagem 3, é apresentada a tela de consulta selecionando um código de De/Para. O código de De/Para escolhido é o "CompanyInternalId". De acordo com a escolha realizada a tela gerou as seguintes informações:

Tabela: Como foi escolhido o código "CompanyInternalId", será apresentada a tabela relacionada a este código que neste exemplo é a tabela empresa.

Filtro de pesquisa: Este campo é gerado dinamicamente com base na informação vinda da tabela eai_depara. Neste exemplo o campo gerado cod_empresa é utilizado para filtro na grid de dados. Lembrando que podem ser gerados mais campos para serem utilizados como filtro, isto dependerá dos campos chaves das tabelas relacionadas ao internalId(código De/Para) informado.

Botão Pesquisar:  Este botão será habilitado somente quando for informado algum valor em qualquer um dos campos de filtro. Quando executado o evento de clique no botão pesquisar este botão será desabilitado e a grid de dados irá apresentar somente os valores filtrados pelos campos de filtro, vide imagem 4. Para habilitar novamente o botão de pequisa é necessário realizar o evento de clique no botão limpar.

Botão Limpar: Este botão será habilitado somente quando for realizado o evento de clique no botão pesquisar. Quanto executado o evento de clique no botão limpar a grid de dados será recarregada voltando ao estado original e botão será desabilitado, conforme a imagem 3 (antes de realizar a pesquisa) e os campos de filtro serão limpos.

Grid de Dados: A grid de dados é gerada dinamicamente com base nas informações vindas das tabelas eai_depara e eai_depara_valores. Neste exemplo é gerado 2 colunas na grid. No cabeçalho da primeira coluna é apresentado o rótulo cod_empresa, esta coluna armazena os códigos de empresas pertencentes ao Logix. A segunda coluna é o valor do  aplicativo externo. Esta coluna armazena os valores pertencentes as empresas do aplicativo externo. Lembrando que as colunas da grid serão dinâmicas, elas dependerão dos campos que são chaves das tabelas relacionadas ao internalId informado.

Para mais informações sobre InternalId basta acessar o documento http://tdn.totvs.com/pages/viewpage.action?pageId=223168114 


Detalhes de Implementação

Como foi mencionado na sessão Definição da Regra de Negócio, esta tela possui algumas particularidades em relação aos campos. Alguns campos serão gerados dinamicamente com base na informação escolhida no campo código do De/Para. A sugestão é criar uma tela Free Form para atender esta necessidade. 

Para os campos de filtro, cuja quantidade pode variar de acordo com os campos chaves de cada tabela, é necessário criar um agrupador de campos, como um painel. Pode ser utilizada a função _ADVPL_create_component() passando o parâmetro "LSCROLLPANEL" para gerar esse agrupador.  A necessidade deste agrupador é facilitar a destruição dos componentes e tornar esta operação mais eficiente. A função para realizar a destruição dos componentes é a função ADVPLdestroy_component() que deve ser utilizada para  destruir os campos de busca e a grid de dados. Para o correto funcionamento desta função deverá ser passado a referência do componente por parâmetro para destruição. Para distribuir os campos de busca e as colunas da grid dinamicamente também deve ser utilizada a função _ADVPL_create_component passando o parâmetro "LLAYOUTMANAGER" pois esse componente posiciona os campos dinamicamente na Tela de consulta.

Protótipo de Tela

 

Imagem 1

Imagem 2

Imagem 3

Imagem 4

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.