Configurando Interface Generalística F01049 para Realizar Edições Diversas

O IW oferece a interface F01049 que oferece inúmeras possibilidades para configuração de interfaces especializadas para realizar edições ou pesquisas sobre tabelas customizadas ou mesmo sobre tabelas essenciais do IW.

O processo de configuração do uso da F01049 envolverá a criação de um link de menu ou de painel para o lançamento da F01049. A figura a seguir ilustra a interface de configuração de links de menu / paineis:


Nome da Classe: com.iw.visualLayer.application.IwFormStartEditDialog
Parâmetros: Clique no botão “...” e o IW irá lançar a interface ilustrada abaixo:

 




Nome Tabela:  Informe o nome da tabela sobre a qual a F01049 irá atuar.

Where: Você poderá informar uma cláusula de filtragem para atuar nas pesquisas (limitando assim os registros que serão tratáveis na F01049).

Comando Sql: Você poderá também cadastrar aqui um comando SQL que será executado sempre que o usuário clicar no botão “Pesquisar”.

Não entrar pesquisando (sim, não): Instrui o IW a entrar pesquisando automaticamente ou não. Para aplicações tipo sinalizadores de processos valoramos tipicamente com “não”.

Largura: Informe a largura da caixa de diálogo que será lançada com a F01040 (em pixel). Exemplo: 800

Altura:
Informe a altura da caixa de diálogo que será lançada com a F01040 (em pixel). Exemplo: 600

Modo Formulário: (sim,não): Indica se o gride exibido será apresentado no modo “tabela” (horizontal) ou no modo “formulário” (vertical)

Botão Novo: (sim,não): Indica se o botão “Novo” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.

Botão Salvar: (sim,não): Indica se o botão “Salvar” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.


Botão Excluir:
(sim,não): Indica se o botão “Excluir” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.

Nome da Coluna “ID Profissional Última Atualização: Esse atributo poderá ser valorado com o nome de uma coluna criada na tabela configurada na F01049 onde será lançado o ID do profissional que tiver realizado a última atualização sobre cada registro na tabela associada à F01049.  Esse recurso pode ser usado para ter um nível de controle de log sobre edições.

Nome da Coluna “Data Última Atualização: Esse atributo poderá ser valorado com o nome de uma coluna criada na tabela configurada na F01049 onde será a data da realização da última atualização  sobre cada registro na tabela associada à F01049.  Esse recurso pode ser usado para ter um nível de controle de log sobre edições.

IMPORTANTE: Além das funcionalidades descritas acima referentes aos conceitos de IDPERSONUPD e LASTEDTIONDATE é possível  também utilizar recursos nativos do gride do IW “referentes a valores default para novas linhas” para termos controle também sobre o “Usuário que inseriu cada registro” (USERCREATION) e também controle sobre “Data da inserção de cada registro” (CREATIONDATE).

A figura abaixo ilustra a interface de configuração de valores default para novas linhas criadas no gride:

 


Para ativar a valoração automatizada da coluna com conceito de “CREATIONDATE” utilize a opção de valoração default  Sysdate.
Para ativar a valoração automatizada da coluna com conceito de “USERCREATION” utilize a opção de valoração default IDPerson





Caso de Uso: Utilizando a F01049 para criar uma interface de Cadastramento de Códigos DE-Para para Integração de Sistemas


A figura a seguir ilustra um caso de uso onde estamos utilizando a F01049 para criar uma interface para mapeamento de códigos de materiais entre o IW e um outro ERP:


A figura a seguir ilustra a F01049 já devida instanciada para no IW:

 

 

 

Configurando Interfaces de Pesquisas Automatizadas no IW (Interface F00999)

O IW oferece a interface F00999 que oferece inúmeras possibilidades para configuração de interfaces especializadas para “sinalizações” de pendências automatizadas em processos.

Em linhas gerais através da interface F00999 é possivel devenvolver um comando Sql (baseado em serviço GetRecorSql do IW que oferece diversões recursos para execução inclusive de uma lista de comandos de preparação e pré-cálculos) e configuar a F00999 para executar esse comando de forma temporizada.

 

A figura a seguir ilustra a interface de configuração de links de menu do IW valorada com a classe equivalente à interface F00999:

 

Classe: com.iw.visualLayer.components.IwFormDefaultEditorSqlCmd
Parâmetros: Clique no botão “...” ao lado e o IW irá lançar a caixa de diálogo ilustrada a seguir:



 

Descrição dos Parâmetros:

Índice: Valore com o keyindex do comando cadastrado (IFRSQLCOMMAND) no IW debaixo do “formid = 999”.

Nome Tabela:  Para esse estilo de utilização da F00999 normalmente deixamos esse campo em branco. Esse atributo é comumente utilizado quando se deseja utilizar a F00999 para editar alguma tabela no IW (Para esse tipo de aplicação utilizamos mais frequentemente a interace F01049.

Parâmetros de Filtragem: Nesse atributo podemos informar argumentos de filtragem para serem passados para o comando Sql cadastrado. Quando desejamos montar um quadro de “alertas automatizado” normalmente não configuramos nenhum parâmetro de filtragem. Contudo o IW oferece essa possibilidade (quando especificados parâmetros de filtragem a interface F00999 irá exibir em tempo de execução um gride de uma única linha com os atributos de filtragem a serem preenchidos.  A sintaxe para a declaração de parâmetros de filragem seria: <nome_atributo>%<tipo_atributo>.  Os seguintes tipos de dados são comumente utilizados: INTEGER, STRING, CALENDAR e LONG. Exemplo: NAME%STRING%DATA_INICIO%CALENDAR%GRUPODISPENSACAO%INTEGER%NROATENDIMENTO%LONG.

Não entrar pesquisando (sim, não): Instrui o IW a entrar pesquisando automaticamente ou não. Para aplicações tipo sinalizadores de processos valoramos tipicamente com “não”.

Delay: (minutos) Indica o intervalo em minutos com o qual o comando cadastrado será executado automaticamente. Se configurado com “1” então a cada “minuto” o comando cadastrado será novamente executado.

Modo Formulário: (sim,não): Indica se o gride exibido será apresentado no modo “tabela” (horizontal) ou no modo “formulário” (vertical)

Botão Novo: (sim,não): Indica se o botão “Novo” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.

Botão Salvar: (sim,não): Indica se o botão “Salvar” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.


Botão Excluir:
(sim,não): Indica se o botão “Excluir” será exibido ou não (aplicável somente se for informado um valor para “Nome Tabela”.

Nome da Coluna “ID Profissional Última Atualização” (IDPERSONUPD): Esse atributo poderá ser valorado com o nome de uma coluna criada na tabela configurada na F01049 onde será lançado o ID do profissional que tiver realizado a última atualização sobre cada registro na tabela associada à F01049.  Esse recurso pode ser usado para ter um nível de controle de log sobre edições.

Nome da Coluna “Data Última Atualização” (LASTEDTIONDATE): Esse atributo poderá ser valorado com o nome de uma coluna criada na tabela configurada na F01049 onde será a data da realização da última atualização sobre cada registro na tabela associada à F01049.  Esse recurso pode ser usado para ter um nível de controle de log sobre edições.

IMPORTANTE: Além das funcionalidades descritas acima referentes aos conceitos de IDPERSONUPD e LASTEDTIONDATE é possível  também utilizar recursos nativos do gride do IW “referentes a valores default para novas linhas” para termos controle também sobre o “Usuário que inseriu cada registro” (USERCREATION) e também controle sobre “Data da inserção de cada registro” (CREATIONDATE).

A figura abaixo ilustra a interface de configuração de valores default para novas linhas criadas no gride:

 


Para ativar a valoração automatizada da coluna com conceito de “CREATIONDATE” utilize a opção de valoração default  Sysdate.
Para ativar a valoração automatizada da coluna com conceito de “USERCREATION” utilize a opção de valoração default IDPerson




Configurando Interfaces de Uso Genérico Avançadas (F0998)

O IW oferece a interface F00998 que oferece funcionalidades avançadas para usuários com desenvolvedores no IW.
A principal diferença dessa interface é a possibildade de implementação de interfaces com múltiplas abas com comportamento hierárquico.

Veja um exemplo: Cadastro de paises, Estados / Províncias e Municípios em 3 abas relacionadas (hierárquicas):

 

Interface gráfica do usuário, Aplicativo, Word

Descrição gerada automaticamente


Notem a presença de um botão de Help (interrogação em cor amarela). É possível deixar parametrizada um ID de mensagem cadastrada no IW para ser lançado no acionamento desse botão, de modo que é possível customizar um texto de ajuda básico sobre a interface customizada.

Ao selecionarmos um país e navegarmos para a 2ª aba veremos os “Estados / Provincias” do país selecionado:

Interface gráfica do usuário, Aplicativo, Tabela

Descrição gerada automaticamente


Selecionando um Estado e navegando para a 3ª aba veremos os “Municípios” do “Estado” selecionado:


Interface gráfica do usuário, Aplicativo, Tabela

Descrição gerada automaticamente



Notem nas figuras acima que temos disponíveis transações para realizadas edições: Botões “Novo” e “Salvar”. Podemos ainda configurar campos de filtragem: Na figura acima temos a possibilidade de filtrar a lista de “Munípios” por “nome” ou campo “ativo”. Na figura abaixo realizamos a pesquisa filtrando somente “Municípios” cujos nomes se iniciam com a letra “B”:

 

Interface gráfica do usuário, Aplicativo

Descrição gerada automaticamente

 

 

 

Parametrizando a F0998


Declare o o link de acesso a nova interface no menu árvore do IW (ou poderá realizar esse passo diretamente sobre uma transação de um painel de navegação:

 Exemplo: Na base de dados dbIwHealh, realizamos a configuração de um caso de uso completo da interface F0998:

Interface gráfica do usuário, Texto

Descrição gerada automaticamente

 

Acionando essa opção de menu veremos:

Interface gráfica do usuário, Aplicativo, Word

Descrição gerada automaticamente

 

 

Navegando para a 2ª aba teremos:

 

Interface gráfica do usuário, Aplicativo, Tabela

Descrição gerada automaticamente


Selecionando uma linha no gride e navegando para a 3ª aba teremos:

 

Interface gráfica do usuário, Aplicativo, Tabela

Descrição gerada automaticamente


No cadastro do link de acesso acione o botão “Editar” ilustrado na figura abaixo:

 

Interface gráfica do usuário, Texto

Descrição gerada automaticamenteutilize a classe indicada abaixo:

Será lançada a caixa de diálogo ilustrada a seguir:


Interface gráfica do usuário, Texto, Aplicativo, Email

Descrição gerada automaticamente

Classe: com.iw.visualLayer.components.IwFormDefaultEditorCmdTabs


Para ter acesso à interface de cadastramento das parametrizações acione o botão “...” ao lado do campo “Parâmetros” e o IW apresentará a caixa de diálogo de parametrização inicial conforme ilustrado abaixo:

 

Interface gráfica do usuário, Aplicativo

Descrição gerada automaticamente


Note que esse gride tem 5 linhas (possibilidade de configuração de interfaces com até 5 abas), execute um duplo clique com o botão esquerdo do mouse sobre o cabeçalho desse gride: O IW irá mostrar as 5 linhas presentes. Cada linha corresponderá à parametrização de uma das abas da interface sendo desenvolvida:

 

Tabela

Descrição gerada automaticamente com confiança média

 

Nota: Nesse exemplo ilustrativo onde temos tabelas interdependentes será importante, para garantia da consistência dos modelo de dados, criar chaves estrangeiras e primary_key nessas tabelas. Vejam os comandos abaixo:

 


Decaração das chaves estrangeiras:


ALTER TABLE TD_STATE ADD CONSTRAINT FK_TDCOUNTRY_TDSTATE  FOREIGN KEY (IDTD_COUNTRY) REFERENCES  TD_COUNTRY(ID);

ALTER TABLE TD_CITY ADD CONSTRAINT FK_TDSTATE_TDCITY  FOREIGN KEY (IDTD_STATE) REFERENCES  TD_STATE(ID);


Decaração das Primary_key nas tabelas:

ALTER TABLE TD_COUNTRY ADD CONSTRAINT PK_TD_CONTRY  PRIMARY KEY (ID);
ALTER TABLE TD_STATE ADD CONSTRAINT PK_TD_STATE  PRIMARY KEY (ID);
ALTER TABLE TD_CITY ADD CONSTRAINT PK_TD_CITY  PRIMARY KEY (ID);


 

 

 

Parametrizando a interface 998 com 3 abas:

Em nosso exemplo estaremos criando uma interface com  3 abas hierárquicas. Abaixo vemos o gride de configuração de cada uma dessas abas:


 
  Tabela

Descrição gerada automaticamente  Tabela

Descrição gerada automaticamente  Tabela

Descrição gerada automaticamente


O quadro a seguir ilustra o conceito básico dos novos atributos introduzidos na interface 998:

Nota:
Os atributos presentes nas figuras acima eu não constam no quadro abaixo “mesmo conceito da interface 999” e continuam funcionais também na 998.


Nome do atributo

Descrição

Índice

Keyndex do comando cadastrado executado na “Pesquisa” da aba

Nome da Tabela

Nome da tabela principal do comando da aba correspondente

Lista de Filtros

Atributos de filtragem que serão exibidos na aba correspondente.

Nota: Esses atributos devem fazer matching exato com nomes de colunas presentes na tabela relacionada diretamente ou nas tabelas referenciadas no comando cadastrado da pesquisa. O IW irá acrescentar automaticamente as informações de filtragem (nome da coluna e valor do filtro) no recordset de fitro (RSFILTER) ao executar o comando cadastrado. IMPORTANTE: Caso o comando cadastrado referencie mais de uma tabela que tenha coluna com nome igual do do atributo de filtragem deverá ser utilizado prefixo com a letra da tabela no comando (ex.: A.NAME ao invés de simplesmente NAME).

Sem Pesquisa Inicial

(sim,não). Determina se ao navegar para a aba a pequisa já será realzada automaticamente

Chave gride origem

Esse atributo é utilizado quando desejamos a valoração de um combo box de opções no gride seja sincronizado (filtrado) com a seleção de um outro combo box.

Filtro Gride Destino

Esse atributo é utilizado quando desejamos a valoração de um combo box de opções no gride seja sincronizado (filtrado) com a seleção de um outro combo box.

Minutos entre pesquisas

Utilizado para casos de telas que fazem repesquisas automáticas.
Se valorado com um valor inteiro positivo “n” a repequisa será feita automaticadamente a cada “n” minutos.

Modo formulário

(sim,não). Determina o modo default de exbição do gride (tabela ou formulário). Se sim é adotado o mod fomulário (colunas na vertical).

Botão Novo

(sim,não) Se valorado com “sim” será exibido botão “Novo”

Botão Salvar

(sim,não) Se valorado com “sim” será exibido botão “Salvar”

Botão Excluir

(sim,não) Se valorado com “sim” será exibido botão “Excluir”

Coluna ID Pessoa

Deve ser valorado com a coluna na tabela correspondente que receberá o ID da Pessoa que estiver realizando edições sobre a tabela (para fins de rastreabilidade)

Coluna Data Últ Edição

Deve ser valorado com o nome da coluna onde será armazenada a data da última edição sobre cada registro (para fins de rastreabilidade).

Coluna Usuário Edição

Deve ser valorado com o nome da coluna onde será armazenada o nome do usuário que efetivou a última edição sobre o registro da tabela associada à aba.

Título da Aba

Informe o “Título” que será exibido na aba correspondente.

Ligação: NmColunaDestaAba => TblPai.NmColuna
(Coluna Chave Estrangeira)

Esse atributo é determinantes para a configuração do relacionamento (interdependência funcional) entre as abas da interface sendo criada.

A sua valoração não procede para a 1ª aba.

Ele deverá ser valorado com a seguinte regra: NmColunaDestaAba => TblPai.NmColuna

Exemplo:
Na 2ª aba do nosso exemplo: IDGLBCOUNTRY => GLBCOUNTRY.ID
Na 3ª aba do nosso exemplo: IDGLBSTATE => GLBSTATE.ID

 

IMPORTANTE: Esse atributo é um combo box populado automaticamente pelo sistema com base na declaração formal da chave estrangeira entre entre as tabelas “desta aba” e sua respectiva “tabela pai”.

O  comando cadastrado formid = 998 keyindex 1999 é quem populará corretamente esse combo box.

 

Coluna Identificante na TblPai

Valore com o nome da coluna na tabela Pai identificante: Essa informação será mostrada no cabeçalho da aba correspondente à tabela filha.

No nosso exemplo:

Na 2ª aba: valore com COUNTRYNAME
Na 3ª aba: valore com STATENAME

IMPORTANTE: Esse atributo é um combo box populado automaticamente pelo sistema com base na declaração formal da tabela “desta aba”

O  comando cadastrado formid = 998 keyindex 1998 é quem populará corretamente esse combo box.

Índice do comando SQL ao Salvar

Quando for desejado “customizar” a transação “Salvar” Informe o KEYINDEX do comando cadastrado (na F0172 sob formid = -998) que será executado no acionamento do botão “Salvar”

Índice do comando SQL ao Excluir

Quando for desejado “customizar” a transação “Salvar” Informe o KEYINDEX do comando cadastrado (na F0172 sob formid = -998) que será executado no acionamento do botão “Excluir”

Nº de registros por página

Valore com o número máximo de registros da paginação.
Importante: Para preservação da peformance do sistema valore sempre esse atributo. Um valor de referencia seria 500.

ID Mensagem Help

Informe o ID da mensagem cadastrada no IW que será exibida no acionamento do botão “?” exibido na 1ª aba.

Nota: Se deixado em branco não será exibido o botão “?” (Help) na 1ª aba.

Botão Extra 1

A F0998 permite que sejam configurados botões “Extras”.
Valore esse atributo da seguionte forma:
<Label botão extra1>%<keyindex_comando_sql_botão_extra1>

IMPORTANTE: Comado extra deve ser cadastrado na F0172 sob formid -998

Botão Extra 2

A F0998 permite que sejam configurados botões “Extras”.
Valore esse atributo da seguionte forma:
<Label botão extra2>%<keyindex_comando_sql_botão_extra2>

IMPORTANTE: Comado extra deve ser cadastrado na F0172 sob formid -998

Botão Extra 3

A F0998 permite que sejam configurados botões “Extras”.
Valore esse atributo da seguionte forma:
<Label botão extra3>%<keyindex_comando_sql_botão_extra3>

IMPORTANTE: Comado extra deve ser cadastrado na F0172 sob formid -998

Botão Extra 4

A F0998 permite que sejam configurados botões “Extras”.
Valore esse atributo da seguionte forma:
<Label botão extra4>%<keyindex_comando_sql_botão_extra4>

IMPORTANTE: Comado extra deve ser cadastrado na F0172 sob formid -998

Botão Extra 5

A F0998 permite que sejam configurados botões “Extras”.
Valore esse atributo da seguionte forma:
<Label botão extra5>%<keyindex_comando_sql_botão_extra5>

IMPORTANTE: Comado extra deve ser cadastrado na F0172 sob formid -998

Alteração Deve Enviar Todas as Colunas, Exceto as Somente Leitura

 

Em condições normais de edições em “grides” do IW, em transações de “edição” o IW irá enviar paro serviço somente as colunas que foram efetivamente editadas pelo usuário.

Nessa condição esse atributo deve ser valorado com a opção “não”.

Em casos específicos em que se deseja que a interface envie para o serviço de “update” todas as colunas do gride deve-se valorar esse atributo com “sim”.

IMPORANTE:  Quando valorarmos com “sim” devemos ter o seguinte cuidado: Eventualmente na constução dos comandos de pesquisa que fazem parte das funcionalidades da F0998 podem estar sendo listadas colunas que não correspondam a colunas fisicamente declaradas nas tabelas correspondentes. Essas coluna deverão ser obrigatoriamente declaradas no gride como “readonly”, para que elas seja retiradas da lista de atributos enviados par ao serviço (caso contrário ocorrerá erro na execução do serviço de atualização.

 

 

 

Detalhamento Complementar de Atributos

 

Atributo: Índice

Esse atributo deverá ser valorado com o “keyindex” (índice) do comando cadastrado sob o formid 172 que será acionado quando o usuáiro acionar o botão “Pesquisar” nas respectivas abas:

Para realizar o cadastramento de comandos cadastrados no IW acione o item de menu ilustrado abaixo:

Interface gráfica do usuário, Aplicativo, Word

Descrição gerada automaticamente

 

Será lançada a interface F0172 que ilustramos abaixo: Filtre por Formid = 998 e terá acesso a todos os comandos previamente cadastrados relaconados à interface F0998:

 

Interface gráfica do usuário, Aplicativo, Tabela, Excel

Descrição gerada automaticamente

 


IMPORTANTE
:  Existe faixas de ID de comandos reservadas por tipo de aplicação na arquitetura IW.

Para uso de implementações customizadas nos clientes da IW Software deve ser utilizada a faixa de 2.000 a 7.999.
Nota: A faixa de 8.000 a 8.999 é reservada para o módulo financeiro do IW.

Regra de formação dos nomes dos comandos:
Os comandos cadastrados deverão ser nomeados rigorosamente obedecendo à seguinte regra:

FormID:998/Keyindex:<keyndex>/Tbl:<nomeTabela>

Nos exemplos acima:
Comando da 1ª aba: FormID:998/Keyindex:2352/Tbl:GlbCountry
Comando da 2ª aba: FormID:998/Keyindex:2353/Tbl:GlbState
Comando da 3ª aba: FormID:998/Keyindex:2354/Tbl:GlbCity

 

Comando: 2352:
SELECT A.* FROM GLBCOUNTRY A ORDER BY NAME;

Comando: 2353:
SELECT A.* FROM GLBSTATE A ORDER BY NAME;

Comando: 2354:
SELECT A.* FROM GLBCITY A ORDER BY NAME;



 

 

 

 

Atributo: Lista de Filtros

Esse atributo deve ser valorado com a relação de filtros desejados para pesquisa em cada uma das abas.

A figura a seguir ilustra como devemos declarar os “tipos de dados” dos atributos de filtragem:

Interface gráfica do usuário, Aplicativo

Descrição gerada automaticamente



 

Atributos: Coluna “Chave Extrangeira”

Esse atributo é determinantes para a configuração do relacionamento (interdependência funcional) entre as abas da interface sendo criada.
Ele deverá ser valorado com a seguinte regra: NmColunaDestaAba => TblPai.NmColuna

No nosso exemplo valoramos:
Na 2ª aba do nosso exemplo: IDGLBCOUNTRY => GLBCOUNTRY.ID
Na 3ª aba do nosso exemplo: IDGLBSTATE => GLBSTATE.ID



Ele deverá ser valorado com

Nota: A figua a seguir ilustra as modalidades de relaconamento entre abas suportadas:

 



Exemplos:

 

 

 

Atributos: Índice do comando SQL ao Excluir

A figura a seguir mostra um exemplo onde foi implementada uma customização na transação “Excluir” para impedir a remoção de registros com determinadas classificações:

 

 

Recurso para Lançamento da Interface de Prontuário do IW

A interface F00998 oferece um recurso que permite exibir um “botão: Lançar Prontuário” que irá instanciar a interface e de prontuário eletrônico do IW (F01039) já devida posicionada com o paciente referenciado na linha selecionada no gride da F00998.

Para que esse botão seja exibido basta que o comando cadastrado deverá retornar um coluna de nome exatamente igual a “IDADMISSIONLAUNCH” contendo o valor do IDADMISSION do paciente.

 

Configurando valores Default para Campos de Filtragem

Para determinar valores default para campos de filtragem, podemos utilizar o recurso nativo do IW que permite determinar valores default no configurado do atributo no gride.

A figura abaixo mostra a configuração de um valor default par ao atributo de filtragem de períodos de datas:

 

Interface gráfica do usuário, Aplicativo

Descrição gerada automaticamente

 

Na interface F00998 ilustrada abaixo, no lançamento da mesma, o atributo  de filtragem denominado “Registro de:” será valorado automaticamente com data corrente – 30 dias.

Interface gráfica do usuário, Aplicativo, Tabela

Descrição gerada automaticamente

 

 

 

 

 


Estendendo o Menu de Navegação do IW

O IW permite que sejam criados, dinamicamente, novas configurações do menu de navegação. Esse recurso deve ser utilizado somente para usuários administradores com conhecimento avançado do IW. Nota: A forma mais prática e eficiente de configurar um bom sistema de navegação para usuários finais no IW consiste na configuração de “painéis customizados de navegação”. A criação de novos itens de menu deve nominalmente ficar restrita a usuários avançados (administradores do sistema) com intuito de criar recursos para sua própria utilização ou testes.

Tipicamente esse tipo de recurso é usado para criar interfaces customizadas a classe F01049 (interface visual de uso genérico). Para inserir um item no menu, se posicione no ponto da árvore no menu de navegação abaixo do qual se deseja inserir o novo item e clique no botão novo ilustrado abaixo:





Ao clicarmos no botão inserir o IW irá abrir a seguinte caixa de diálogo:


Descritivo dos campos:

Nome Menu: informe exatamente qual será o nome da opção de navegação no menu. Nota : Esse campo está limitado a 30 caracteres, caso seja informado um nome com mais de 30 caracteres ocorrerá a seguinte mensagem de erro :


Nota: A mensagem acima é emitida nas instalações que usam o banco de dados “oracle”. Nas instalações que utilizam o banco “SqlServer” a mensagem de erro seria conforme ilustrado abaixo:


Em ambos os a mensagem de erro está indicando que foi informado um campo com número de caracteres maior do que tamanho máximo admitido pela coluna declarada no banco de dados.

FormID: pode-se informar o ID do tela desejada e digitar a tecla <tab>. Nesse caso o IW irá pesquisar o nome da classe visual e irá preencher o próximo campo denominado “Classe” automaticamente.

Classe: Nesse campo pode ser informado diretamente o nome da classe visual do IW que será ativada no acionamento do novo item de menu. Por exemplo, para lançar a interface genérica F01049 informe o seguinte nome de classe nesse campo: com.iw.visualLayer.application.IwFormStartEditDialog (Nota: copie e cole o nome da classe para prevenir-se contra erros de digitação).

Seq: Esse campo é utilizado pelo IW para ordenar as opções de menu. Você deverá consultar antes os valores do campo “seq” logo anterior e logo posterior do ponto no menu onde se deseja que fique posicionada a nova opção de menu. Nota: Tipicamente valoramos o campo seq como múltiplos de 10 ou 100 para que fiquem lacunas de valores (visando permitir que sejam, mais tarde, inseridas novas opções de menu entre dois itens subsequentes).

Caixa de seleção: Deixe esse campo em branco.

AdminOnly: Ative essa caixa de checagem caso a nova opção de menu deva estar visível somente para usuários com status de “administrador”.

Parâmetros: Diversas classes visuais do IW admitem que sejam passados “parâmetros menu” que determinam o comportamento da interface a ser lançada. Para cadastrar os parâmetros de lançamento pode-se tanto copiar e colar diretamente a sequência de valores dos parâmetros ou clica-se no botão “...” logo ao lado do campo “Parâmetros”, nesse caso o IW irá lançar a caixa de diálogo que ilustramos abaixo:


As possibilidades de passagens de parâmetros são muito vastas. Nesse manual vamos apenas descrever alguns modelos de parametrização suportados exclusivamente pela Classe visual denominada com.iw.visualLayer.application.IwFormStartEditDialog” nos seguintes casos de uso:

Caso de uso I: Configurando a 1049 para visualizar / editar uma tabela do banco de dados:

Para configurar o lançamento da interface F01049 para visualizar / editar uma tabela do banco de dados basta selecionar a tabela desejada diretamente no campo denominado “Tabela”. Quando clicamos nesse campo o IW abre uma caixa de seleção previamente populada com o nome de todas as tabelas que fazem parte do modelo de dados do IW.

Os campos “Largura” e “Altura” permitem dimensionar o tamanho da caixa de diálogo que será lançada (em pixels). A figura a seguir ilustra um exemplo de configuração da F01049 para visualização do conteúdo da tabela de cadastramento de frequências de consultas domiciliares, com ordenação das linhas no gride por nome da frequência (order by = NAME) e com lançamento de uma caixa de diálogo com dimensões de 600 pixels de largura e 400 pixels de altura:


Caso de uso II: Configurando a 1049 para visualizar o resultado de um comando sql customizado:

Nesse tipo de configuração é possível escrever um comando sql (com prompt de parâmetros) e associar esse comando ao item de menu sendo cadastrado. Desse forma, quando esse item de menu for acionado o IW irá primeiramente solicitar valores para os parâmetros de filtragem e na sequência irá executar o comando sql devolvendo o resultado do mesmo em um gride para visualização e eventualmente exportação para arquivo .csv etc. A seguir vamos exemplificar dois casos de uso dessa funcionalidade.


Caso (1) : Com passagem de parâmetros de filtragem pré-definidos (obrigatórios e com operador relacional livre)

Para executar essa parametrização, antes de mais nada, deveremos criar uma tabela estendida na base de dados do IW. Essa tabela servirá ao propósito de oferecer um ID para registro do comando sql customizado. Para criar essa tabela utilize a navegação (menu – administrador – (9) Configurar DPC – (1) Configurar tabelas). Essa tabela não precisará ter nenhuma coluna declarada (na criação de qualquer no IW são criadas algumas colunas automaticamente, pode-se manter apenas as colunas que são criadas automaticamente.

Importante:

(a) Tabelas estendidas no IW obrigatoriamente devem ter no nome o prefixo “TD”. No exemplo vamos declarar uma tabela denominada TD_DUMMY (sugestão: sempre que formos utilizar esse tipo de recurso pode-se utilizar essa nomenclatura : TD_DUMMY_01 , TD_DUMMY_02 etc).

(b) Não pode “reutilizar” uma mesma tabela TD_DUMMY para implementar telas customizadas distintas, pois o ID da tabela estendida é quem irá endereçar o comando sql que será executado quando lançarmos e executamos a pesquisa na interface customizada. Ou seja, para cada tela customizada crie uma tabela TD_DUMMY_n exclusiva.

A figura a seguir ilustra a interface F00076 utilizada para realizar a criação da tabela dinâmica:


Após criar a tabela dinâmica no IW, acesse: menu – administrador – (10) Configurar serviços – (1) Configurar cache. O IW irá lançar a interface F00097 que ilustramos abaixo:



Navegue para a segunda aba dessa interface e clique no botão “Reconstruir” ilustrado acima. Essa operação fará com que a nova tabela criada (TD_DUMMY nesse exemplo) fique visível no ambiente de configuração dos grides do IW. Após executar essa operação, saia do IW e faça novo login.

O próximo passo será criar um novo item de menu relacionado a essa nova tabela dinâmica. Para isso , se posicione no ponto do menu abaixo do qual desejamos criar o novo link de navegação e vamos clicar no botão “Inserir”. O IW irá abrir a caixa de diálogo solicitando os parâmetros par ao novo item de menu que ilustramos abaixo:


Informe o “Nome Meu” = nome da opção que aparecerá no menu e a classe = com.iw.visualLayer.application.IwFormStartEditDialog”. No campo parâmetros clique no botão “...”. O IW irá lançar a seguinte caixa de diálogo:


Nota: Informe a tabela dinâmica criada = TD_DUMMY (no nosso exemplo)

Com o item de menu criado com a parametrização acima execute o acionamento do mesmo para que a interface F01049 seja lançada, conforme ilustração abaixo:


Nesse momento o IW já criou um registro na tabela IFRSQLCOMMAND relacionado com o item de menu que acabamos de configurar. O próximo passo será cadastramos o comando sql customizado no gride. Para isso na própria caixa de diálogo que ilustramos acima clique com o botão direito do mouse sobre o cabeçalho do gride e selecione a opção “Configuração” conforme ilustração abaixo:


O IW irá lançar a caixa de diálogo para configuração do gride F00138 que ilustramos abaixo:


Clique no botão denominado “Sql Commad”, o IW irá abrir uma caixa de diálogo para cadastramento do comando sql customizado conforme ilustrado abaixo:


Notas:

·         os campos “?” na ilustração do comando acima são justamente os parâmetros que serão promptados para os usuários devidamente “encaixados” no comando sql customizado.

·         ao final do comando coloque um caracter “|” (pipe) e declare os nomes dos parâmetros de prompt. No exemplo acima foram declarados dois parâmetros de prompt denominados “data_inicio” e “data_fim”.

Após cadastrar o comando sql clique no botão “ok” ilustrado acima. O IW irá emitir uma caixa de diálogo solicitando um “nome para esse comando sql conforme ilustramos a seguir:


Forneça um nome para o comando sql e anote o nome desse comando. Após informar o nome para o comando sql clique no botão “ok” da interface ilustrada acima. O IW armazena os comandos sql customizados na tabela denominada “IFRSQLCOMMAND”. Para visualizar o registro do comando customizado nessa tabela lance a interface “Sql & Debug” e execute o comando ilustrado abaixo:


Notas:

·         O nome do comando citado na cláusula de pesquisa sql ilustrada acima deve ser justamente o nome do comando sql informado anteriormente. Caso retornem mais de uma linha no gride (sinal de que já existia um outro ou outros comandos sql com mesmo nome) considere a linha de maior ID e certifique que o comando que acabou de ser cadastrado de fato está gravado nessa linha.

·         Para proceder ajustes / correções no comando sql execute um duplo clique com o botão esquerdo do mouse diretamente sobre o conteúdo da célula que armazena o comando sql (coluna denominada SQL COMMAND no gride acima). O IW irá abrir uma caixa de diálogo ampliada para visualização e/ou edição do comando. Para salvar a alteração no comando simplesmente clique no botão “Salvar”.

Após ter cadastrado o comando sql retorne para a caixa de diálogo de cadastramento dos parâmetros e cadastre os parâmetros do comando propriamente ditos e comute o parâmetro que instrui o IW a utilizar um comando sql customizado. A figura a seguir ilustra como deve ficar a configuração dos parâmetros:
 




Ou seja: ativamos o atrbuto : “Usar Grid Cmd Sql” = sim , opcionalmente informamos as dimensões de largura e altura da caixa de diálogo que será lançada e , fundamentalmente, no atributo “Comando Sql” declaramos os que serão prmptados para o usuários antes da execução do comando sql. Note que na declaração dos parâmetros de prompt deve-se escrever o nome do parâmetros (exatamente como o mesmo foi declarado no comando sql e na mesma sequência em que os parâmetros aparecem no comando sql), seguidos do tipo de dados do parâmetro separados por dois caracteres %. Os seguintes tipos de dados podem ser utilizados:

CALENDAR = campo tipo data

INTEGER = campo tipo integer

LONG = campo de ID de alguma tabela no IW

STRING = campo tipo texto

Após efetivar a correção dos parâmetros de lançamento conforme ilustrado acima , acione novamente o novo item de menu que estamos configurando. Agora o IW já irá reconhecer que deverá executar um comando sql, já possui o comando sql cadastrado e já possui os parâmetros de prompt. Nesse momento o IW irá executar a rotina que faz o prompt dos parâmetros. A figura a seguir ilustra a caixa de diálogo que será emitida pelo IW com o prompt dos parâmetros:


Execute um duplo clique com o botão esquerdo do mouse sobre o cabeçalho do gride, para colocá-lo no formato tabela, e execute um duplo clique com o botão direito do mouse sobre o cabeçalho do gride e lance a opção “configuração” para configurar o gride. O IW irá apresentar a interface F00138 posicionada sobre os atributos do gride de prompt conforme ilustramos a seguir :


Basicamente deve-se deixar os campos de prompt “editáveis” e, nesse caso de uso específico, deve-se também deixá-los como obrigatórios. No nosso exemplo configuramos ainda os campos como sendo campos tipo “data” para que a edição dos mesmos possa ser realizada através do componente de edição de datas. Para efetivar essas configurações clique sobre a linha do atributo desejado e em seguida acione o botão denominado “Config” ilustrado acima. O IW irá exibir a caixa de diálogo F00139 ilustrada a seguir:


Após a configuração do gride execute novamente o lançamento da interface do item de menu que estamos configurando. Agora o gride que exibe os parâmetros de prompt já corretamente editáveis conforme ilustrado a seguir:


Forneça os valores desejados para os parâmetros de prompt e clique no botão “ok” ilustrado acima. Nesse momento a parametrização já está completa, o IW irá executar o comando sql customizado e irá apresentar o resultado do mesmo em um gride conforme ilustrado abaixo:

 



Caso (a): Configuração da F01049 com comando sql customizado com passagem de parâmetros de filtragem “não obrigatórios” com operador relacional “=”

Nota: Nessa condição o IW acrescenta automaticamente as cláusulas de filtragem no comando sql. Esse recurso está disponível unicamente para cláusulas envolvendo o operador relacional “=”.

Nesse exemplo configuramos o item de menu da seguinte forma:


Abaixo ilustramos os detalhes da valoração do atributo “parâmetros” que pode ser alcançado clicando-se no botão “...” logo ao lado desse atributo:


O atributo “Comando sql” (onde são declarados os parâmetros de prompt) ficou da seguinte forma:

A.ID%LONG%C.Gender%INTEGER%C.NAME%STRING%A.CreationDate%CALENDAR%

Quanto ao comando sql, nesse caso, foi cadastrado o seguinte comando:



Nota: Perceba que nesse caso de uso “não declaramos os parâmetros de prompt” diretamente no comando sql. Nesse modelo o IW irá acrescentar os filtros dinamicamente “somente para aqueles atributos de prompt que forem de fato informados pelo usuário no momento da pesquisa”.

Quando executamos esse item de menu o IW irá lançar a seguinte caixa de diálogo de prompt:


Informe os filtros desejados e clique o botão “OK”. O IW irá apresentar igualmente o resultado da pesquisa no gride conforme ilustramos a seguir: