Sei sulla pagina 1di 29

Guia de Desenvolvimento FLEX

Introduo

Este guia tem por objetivo orientar as equipes de desenvolvimento do Sicoob Confederao sobre a tecnologia FLEX de desenvolvimento. Iremos apresentar a arquitetura, as boas prticas e as convenes usadas durante o desenvolvimento de interfaces visuais.

O que FLEX ?
A tecnologia FLEX foi lanada pela ento Macromedia em maro de 2004 que possibilita a criao de aplicaes ricas para a internet (RIA Rich Internet Application) baseada na plataforma Flash. A Adobe adquiriu a Macromedia em 2005 e em 2007 a Adobe abriu o cdigo do FLEX 3 SDK, mesmo o Flash Player continuando a ser proprietrio e comercial.

RIA
As aplicaes feitas no padro RIA visivelmente possuem uma experincia com o usurio mais robusta do aplicaes tradicionais feitas em HTML. A interatividade e recursos disponveis nesta plataforma facilitam o trabalho dos designers para criar uma interface com o usurio usando o recurso o que voc v o que voc tem (WYSIWYG).

Actionscript 3 e MXML
A linguagem usada para a programao na plataforma FLEX chamada Actionscript. Atualmente na verso 3, est em conformidade com o padro ECMAScript. Existe tambm um formato MXML que uma linguagem de marcao XML geralmente usada para a criao da interface com o usurio. No final das contas um arquivo MXML gera uma classe no formato Actionscript com o mesmo nome do arquivo em questo. Por exemplo: se existir um arquivo chamado CadastroPessoa.mxml, o compilador ir gerar uma arquivo CadastroPessoa.as com a classe CadastroPessoa dentro, tudo isso de forma transparente.

Arquitetura
Nesta arquitetura temos o navegador ou uma aplicao AIR instalada no cliente, depois que o arquivo SWF baixado para a estao de trabalho (e guardada no cache local) as chamadas a mtodos de negcio so feitas para o FLEX Gateway atravs de um protocolo chamado AMF (Action Message Format atualmente na verso 3).

Ao contrrio das aplicaes tradicionais WEB onde a marcao HTML trafegada toda vez que existe uma atualizao na tela, as aplicaes feitas em FLEX geram um nico arquivo binrio SWF que fica armazenado em cache e a partir deste momento o que passa a ser trafegado so as requisies AMF de tamanho reduzido.

Aplicao WEB Tradicional

HTML

Cliente

Servidor

HTML

Cache Cliente Servidor

Aplicao RIA FLEX

SWF AMF

Cliente

Servidor

AMF

SWF Cliente

Servidor

HTTP

AMF
Navegador AIR FLEX Gateway

Este protocolo foi introduzido com o Flash Player 6 e era conhecido como AMF 0. A verso 3 do protocolo AMF foi introduzida com a chegada do Flash Player 9, com suporte a novos tipos de dados. Existem diversos gateways para as mais diferentes linguagens de programao. No Sicoob Confederao estamos utilizando gateways para a tecnologia JAVA (GraniteDS) e .NET (FluorineFX).

Na poca que este guia foi escrito, a verso 3.0.0.477 do framework FLEX fornecido pela Adobe era a verso corrente usada no Sicoob Confederao.

Separao entre cdigo de negcio e interface grfica


Existe uma clara diviso entre o cdigo que deve ser usado para implementar a interface grfica com o usurio e o cdigo que ser usado para traduzir as regras de negcio de uma funcionalidade. Em hiptese alguma deve ser usado cdigo de negcio na camada de apresentao. Se existir algum tipo de validao negocial este deve ser feito na camada de negcio (projeto EJB). Esta regra ajuda na portabilidade do aplicativo para outra tecnologia de forma transparente, sem necessidade de grandes alteraes no cdigo FLEX.

Lembrando que todo arquivo com a extenso MXML tambm uma classe com o mesmo nome do arquivo. Se por exemplo existir um arquivo com o nome FuncionalidadeView.mxml, existir por conseqncia uma classe chamada FuncionalidadeView. Normalmente temos a interface grfica implementada usando um arquivo com a extenso MXML e um arquivo com a extenso AS que faz herana desta classe definida no MXML.

Classe FuncionalidadeSelecao herda da classe FuncionalidadeView

Com a herana temos acesso a todos os elementos da interface (aqueles que possuem a propriedade ID preenchida) e desta forma podemos manipul-los conforme a necessidade. Dentro do arquivo MXML devemos ter apenas o desenho da interface, sem cdigo de validao ou negcio.

Invocao de servios de negcio


Para invocar mtodos de negcio devemos utilizar as seguintes classes: Servicos ServicosJava

Um exemplo tpico de utilizao da classe ServicosJava:

1 private function ExecutarMetodoNegocio():void 2 { 3 var dto:RequisicaoReqDTO = new RequisicaoReqDTO(); 4 var vo:FuncionalidadeVO = new FuncionalidadeVO(); 5 6 vo.propriedade = "Valor da propriedade"; 7 8 dto.dados.objeto = vo; 9 10 var servico:ServicoJava = new ServicoJava(); 11 servico.source = "br.com.sicoob.sisbr.Projeto.ClasseFuncionalidade"; 12 servico.addEventListener(ResultEvent.RESULT, MetodoNegocio_Resultado); 13 servico.bloquearOperacao = true; 14 servico.mensagemEspera = "Carregando dados ..."; 15 16 servico.metodoNegocio(requisicaoDTO); 17 }

Na linha 11 estamos definindo qual a classe de negcio ser usada na requisio. Esta classe de servio possui atributos especiais que a torna acessvel para ter seus mtodos chamados pelo FLEX. Na linha 12 definimos qual o mtodo em nossa classe do FLEX que ir responder quando a operao de negcio finalizar e o resultado da operao estiver disponvel. Na linha 13 temos a opo de bloquear outras aes do usurio enquanto o mtodo de negcio estiver sendo executado, logo abaixo definimos a mensagem que ser exibida ao usurio enquanto a operao de negcio no for finalizada. Finalmente na linha 16 estamos chamado o mtodo de negcio (chamado metodoNegocio) passando como parmetro um objeto genrico de requisio.

Herana dos tipos DTO


Toda classe do tipo DTO (Data Transfer Object) deve herdar do tipo RequisicaoReqDTO. Se a herana no for implementada a aplicao ter problemas no ambiente de produo.

Serializao de datas
O SISBR atualmente possui um mecanismo para tratamento de fuso horrio, porm dependendo da situao podero ocorrer problemas no horrio de vero. Para corrigir este problema, os objetos do tipo VO e DTO contendo atributos do tipo data devero estar implementados da seguinte maneira.

FLEX
O tipo Date dever ser substitudo pela interface IDateTime, que est no projeto BancoobFlex. Para atribuir o valor para esta interface proceder da seguinte maneira:
var meuvo:VOTeste = new VOTeste(); meuvo.minhaData = DateTimeBase.getDateTime(new Date());

ou
meuvo.minhaData = DateTimeBase.getDateTime(componenteData.selectedDate);

A classe DateTimeBase tambm se encontra no projeto BancoobFlex. Para recuperar o valor da data de atributos do tipo IDateTime utilizar a propriedade data conforme exemplo:
var minhaData:Date = meuvo.minhaData.data;

Caso a instncia j exista no atributo do tipo IDateTime o valor tambm poder ser atribudo utilizando a propriedade data conforme exemplo:
meuvo.minhaData.data = new Date();

ou
meuvo.minhaData.data = componenteData.selectedDate;

Caso seu VO Flex seja um mapeamento de uma entidade JAVA proceder da seguinte maneira:
var meuvo:VOTeste = new VOTeste(); meuvo.minhaData = DateTimeBase.getDateTimeEntity(new Date());

ou
var meuvo:VOTeste = new VOTeste(); meuvo.minhaData = DateTimeBase.getDateTimeEntity(componenteData.selectedDate);

.NET
O tipo DateTime dever ser substitudo pela interface IDateTime, que est no projeto Bancoob (BancoobDLL no pacote br.com.bancoob.negocio.iface). Para atribuir o valor para esta interface proceder da seguinte maneira:
VOTeste meuvo = new VOTeste(); meuvo.minhaData = DateTimeBase.getDateTime(new DateTime());

A classe DateTimeBase tambm se encontra no projeto Bancoob (BancoobDLL no pacote br.com.bancoob.negocio.dto). Para recuperar o valor da data de atributos do tipo IDateTime utilizar a propriedade data conforme exemplo:
DateTime minhaData = meuvo.minhaData.data;

Caso a instncia j exista no atributo do tipo IDateTime o valor tambm poder ser atribudo utilizando a propriedade data conforme exemplo:
meuvo.minhaData.data = new DateTime();

Para o desenvolimento dever ser utilizada a DLL FluorineFx.dll de Produo.

JAVA
No JAVA dever ser utilizada a classe br.com.sicoob.tipos.DateTime para VO e DTO e br.com.bancoob.persistencia.types.DateTimeDB para entidades. importante verificar se o VO alterado utilizado por outras funcionalidades e fazer as alteraes em todos os casos para no gerar problemas.

Componente de Upload e Download


O endereo de upload e download de arquivos dever ser recuperado sempre na classe Configuracoes no Flex, no utilizar link relativo devido a problemas em definies de canais. No .NET o local de gravao dever ser recuperado na classe Configuracoes, na propriedade localDownloadUpload, evite utilizar caminho local.

Componentes Nativos do FLEX


Os componentes nativos do FLEX (tag mxml) no devem ser usados diretamente, existem componentes desenvolvidos pela arquitetura corporativa que tem a mesma finalidade, porm com controles e propriedades adicionais que facilitam a codificao dos casos de uso. Se algum componente da arquitetura no existir, entrar em contato com a GEARQ para o devido tratamento.

Tipos de Aplicao

Mdulos ou Aplicaes
Este tipo de aplicao grande maioria dos mdulos presentes no SISBR WEB. Nesta modalidade os mdulos que podem representar um ou mais casos de uso so abertos quando o usurio seleciona um item de menu do aplicativo.

Plataformas
Quando uma aplicao possui necessidades especiais em relao a usabilidade e experincia com o usurio, agrupam um conjunto de funcionalidades que no fariam sentido estarem separadas ento este o caso para a criao de uma plataforma. Atualmente contamos com as seguintes plataformas: Plataforma Plataforma Plataforma Plataforma Plataforma Plataforma de Atendimento Multi-Cooperativa (Contabilidade) de Monitorao de Documentao de Apoio a Deciso (PAD) da Tecnologia da Informao (PTI)

Seleo Geral e Procurar Geral


O objetivo deste documento divulgar os componentes Seleo Geral Java e Procurar Geral Java, explicando detalhadamente o funcionamento e configurao dos mesmos. Esperamos que os leitores (desenvolvedores e analistas) deste documento consigam utilizar esses componentes nos seus projetos dinamizando o desenvolvimento das funcionalidades para o SisbrWeb.

O componente seleo geral Java


O Seleo Geral Java um componente que facilita o desenvolvimento de funcionalidades para o SisbrWeb, podendo ser utilizado no desenvolvimento de casos de uso do tipo CRUD (Create, Retrieve, Update e Delete). Esse componente funciona, basicamente, atravs das configuraes realizadas no banco de dados, onde deve-se informar a configurao geral (chamada de definio) e as configuraes especficas (chamada de colunas). Visualmente esse componente formado por uma combo com opes de procura (Tipo de Procura), por um campo texto para digitao da informao que deve ser pesquisada (Procurar Por), por um boto (Procurar) e por uma grid onde as informaes pesquisadas sero apresentadas (Selecionar). A figura abaixo mostra o componente Seleo Geral Java:

Figura 1. Exemplo de uso do componente Seleo Geral Java.

Configurando o componente Seleo Geral Java


O funcionamento do componente Seleo Geral Java baseado em configuraes realizadas no banco de dados COIN_TBP, no esquema GEN, nas tabelas DEFINICAOSELECAOGERAL e COLUNASELECAOGERAL. Essas configuraes sero detalhadas abaixo.

Tabela DefinicaoSelecaoGeral

IDDEFINICAOSELECAOGERAL: O identificador das definies de configurao do componente Seleo Geral Java.

NUMCOLUNAPADRAO: O nmero da coluna representa a opo da combo Tipo de Procura que ser selecionada por padro na inicializao do componente. Esse nmero obedece notao Java de numerao, portanto para selecionar a primeira coluna deve-se informar o valor 0. Esse valor indica o campo NUMINDEX da tabela GEN.COLUNASELECAOGERAL.

BOLHABILITARFILTRO: Esse campo existe para compatibilizao das verses do componente. Nessa verso (1.0) o valor deve ser sempre 1.

NUMLISTA: Esse campo existe para compatibilizao das verses do componente. Nessa verso (1.0) o valor deve ser sempre 0.

DESCCONSULTABASE: Esse campo deve ser preenchido com a parte inicial da consulta a ser realizada no banco de dados. Ex: select idUsuario, descNomeUsuario from Usuario.

NOMEJNDIDATASOURCE: Nome JNDI do data source que dever ser utilizado para conexo com o banco de dados onde ser realizada a consulta. Se o banco de dados onde a consulta deve ser realizada for de cooperativa, o nome JNDI deve ser jdbc/BancoobDS.

BOLDATASOURCECOOPERATIVA: Esse campo indica se o banco de dados onde a consulta deve ser realizada de cooperativa.

Para facilitar, abaixo, segue um exemplo de script de insero de definio do Seleo Geral Java.

Scripts DefinicaoSelecaoGeral

-- Exemplo de insert da tabela GEN.DefinicaoSelecaoGeral. -- Nesse exemplo o data source de cooperativa. insert into GEN.DefinicaoSelecaoGeral values (6035, -- IDDEFINICAOSELECAOGERAL 0, -- NUMCOLUNAPADRAO 1, -- BOLHABILITARFILTRO 0, -- NUMLISTA 'SELECT * FROM USUARIO', -- DESCCONSULTABASE 'jdbc/BancoobDS', -- NOMEJNDIDATASOURCE 1) -- BOLDATASOURCECOOPERATIVA
Figura 2. Listagem SQL de insert na tabela GEN.DEFINICAOSELECAOGERAL usando data source de cooperativa.

-- Exemplo de insert da tabela GEN.DefinicaoSelecaoGeral. -- Nesse exemplo o data source DB2. insert into GEN.DefinicaoSelecaoGeral values (5151, -- IDDEFINICAOSELECAOGERAL 0, -- NUMCOLUNAPADRAO 1, -- BOLHABILITARFILTRO 0, -- NUMLISTA 'SELECT * FROM CTR.CTR_TRANSACAO', -- DESCCONSULTABASE 'jdbc/BancoobCtrDS', -- NOMEJNDIDATASOURCE

0) BOLDATASOURCECOOPERATIVA
Figura 3. Listagem SQL de insert na tabela GEN.DEFINICAOSELECAOGERAL usando o data source de DB2.

Tabela ColunaSelecaoGeral

IDCAMPO: Esse identificador gerado automaticamente. Dessa forma o script de incluso pode ter o valor default definido por padro para esse campo.

IDDEFINICAOSELECAOGERAL: Chave estrangeira da tabela GEN.DEFINICAOSELECAOGERAL. Essa chave conecta as colunas definio do componente Seleo Geral Java.

NOMECAMPO: Nome do campo que ser pesquisado no banco de dados. Esse parmetro case sensitive e dever ter a mesma grafia do metadado do banco de dados.

DESCMASCARA: Mscara que pode ser usada na formatao do campo Procurar Por. Essa mscara funcionar somente para a coluna selecionada.

BOLINCREMENTAL: Esse campo existe para compatibilizao das verses do componente. Nessa verso (1.0) o valor deve ser sempre 0.

NUMINDEX: Esse campo indica qual a posio que a coluna de pesquisa aparecer na combo Procurar Por. Esse campo deve ser informado com ateno, pois usa a notao Java. Portanto, a primeira coluna (o primeiro item da combo Tipo de Procura) deve ter o valor 0. Na configurao do componente, mais especificamente na configurao da combo Procurar Por, as opes sero ordenadas por esse campo.

VALLARGURACOLUNA: Valor que corresponde largura da coluna. Atualmente esse campo existe para compatibilizao das verses do componente. Nessa verso (1.0) o valor deve ser sempre 10.

BOLVISIVELPROCURA: Esse campo informa se a coluna visvel para a procura. Se esse campo tiver com o valor 0 ele no aparecer na combo de opes de pesquisa (combo Tipo de Procura).

BOLPESQUISARMASCARA: Esse campo informa se a pesquisa ser realizada por um valor formatado com a mscara definida no campo GEN.COLUNASELECAOGERAL.DESCMASCARA.

NUMCOLUNARETORNO: Esse campo existe para compatibilizao das verses do componente. Nessa verso (1.0) o valor deve ser sempre 0.

DESCPROCURAPOR: Esse campo o restante da consulta informada na tabela de GEN.DEFINICAOSELECAOGERAL. O valor informado no campo

DESCCONSULTABASE (tabela GEN.DEFINICAOSELECAOGERAL)


concatenado com o valor desse campo. A varivel da consulta case sensitive e deve ter mesma grafia que o metadado da tabela do banco de dados . Ela deve ser declarada entre chaves e marcada com cifro. (ex: ${variavel}). Dessa forma, o valor digitado no campo texto Procurar Por ser substitudo pela varivel e a pesquisa ser realizada. Abaixo apresentamos um exemplo de valor para esse campo. Ex: where idUsuario = ${idUsuario}.

CODTIPOALINHAMENTO: O cdigo do tipo de alinhamento define como a coluna ser alinhada na grid de resultados apresentados. Os alinhamentos possveis so: esquerda (valor 0), centralizado (valor 1), direita (valor 2).

CODTIPOALINHAMENTOCABECALHO: O cdigo do tipo de alinhamento define como o cabealho da coluna ser alinhada na grid de resultados apresentados. Os alinhamentos possveis so: esquerda (valor 0), centralizado (valor 1), direita (valor 2).

CODTIPOCOLUNAGRID: O cdigo do tipo da coluna serve para informar que tipo de dados ser apresentado na grid de resultados (texto, checkbox, etc). Nessa verso (1.0) o valor deve ser sempre 0.

CODTIPOFORMATOTEXTO: Esse cdigo serve para informar o tipo do campo de pesquisa na tela (caixa de texto Procurar Por). A validao ser configurada de acordo com o valor informado. Os valores possveis para esse campo so: SEMFORMATO = 0; NUMERICO = 1; MAIUSCULAS = 2; MINUSCULAS = 3; DATA = 4; SIMNAO = 5; VERDADEIROFALSO = 6; LISTAVALORES = 7.

CODTIPOSORT: Esse cdigo serve para informar o tipo das clulas da grid de resultados quando a ordenao for solicitada. A ordenao solicitada quando o usurio clica no cabealho da coluna. Os tipos possveis so: STRING = 1; NUMERIC = 2; DATE = 3; DATETIME = 4; TIME = 5.

DESCTITULO: O valor desse campo ser apresentado na combo de Tipo de Procura e no cabealho da grid de resultados. BOLVISIVEL: Esse campo indica se a coluna visvel ou no na grid de resultados. Dessa forma, se o campo estiver com o valor 1, uma coluna com os valores recuperados na pesquisa sero apresentados na grid de resultados. Caso o valor seja 0, o campo poder ser usado para pesquisa, mas no ser visualizado na grid de resultados.

Script ColunaSelecaoGeral

-- Exemplo de insert da tabela GEN.ColunaSelecaoGeral insert into GEN.ColunaSelecaoGeral values (default, -- IDCAMPO 6035, -- IDDEFINICAOSELECAOGERAL 'IDUsuario', -- NOMECAMPO null, -- DESCMASCARA 0, -- BOLINCREMENTAL 1, -- NUMINDEX 10, -- VALLARGURACOLUNA 1, -- BOLVISIVELPROCURA 0, -- BOLPESQUISARMASCARA

0, -- NUMCOLUNARETORNO 'where idUsuario = ${IDUsuario}', -- DESCPROCURAPOR 1, -- CODTIPOALINHAMENTO 1, -- CODTIPOALINHAMENTOCABECALHO 1, -- CODTIPOCOLUNAGRID 2, -- CODTIPOFORMATOTEXTO 1, -- CODTIPOSORT 'ID USURIO', -- DESCTITULO 1) -- BOLVISIVEL
Figura 4. Listagem SQL de insert na tabela GEN.COLUNASELECAOGERAL.

Usando o componente Seleo Geral Java


Aps realizar todas as configuraes necessrias para o funcionamento do componente, vamos iniciar a codificao da parte Flex. Abaixo apresentamos um trecho de cdigo onde instanciamos o componente e definimos os seus atributos.

<selecaoGeral:SelecaoGeralV2View tipoProcura="6035" numCooperativa="4280"> </selecaoGeral:SelecaoGeralV2View>


Figura 5. Listagem MXML com exemplo de uso do componente Seleo Geral Java.

Nesse trecho de cdigo definimos o valor do atributo tipoProcura para o valor do identificador da tabela GEN.DEFINICAOSELECAOGERAL. Se o componente estiver configurado para usar data source de cooperativa, ento o atributo numCooperativa poder ser informado. Dessa forma, a pesquisa ser realizada na base da cooperativa informada. Caso o nmero da cooperativa no seja informado, ento a consulta ser realizada na base da cooperativa que o usurio estiver logado. Como dissemos anteriormente, o componente Seleo Geral Java ser muito utilizado em telas do tipo CRUD. Assim, o trecho de cdigo da Figura 5 deve ser combinado com o componente ListaCadastroView.

Abaixo, nas Figuras 6, 7 e 8, veremos um exemplo dessa integrao. Perceba que a tela de incluso/edio/visualizao continua sendo implementada separadamente, bastando inform-la na tag <formularioCadastro>. <?xml version="1.0" encoding="utf-8"?> <ListaCadastroView xmlns="br.com.bancoob.componentes.cadastro.*" xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:ns1="br.com.bancoob.componentes.painellista.*" xmlns:tipoProcesso="br.com.sicoob.sisbr.smartConcept.modelagemNe gocio.modulos.tipoProcesso.*" xmlns:tipoProcesso1="br.com.sicoob.sisbr.tipoProcesso.*" xmlns:servico="br.com.bancoob.util.servico.*" xmlns:selecaoGeral="br.com.bancoob.sisbr.componentes.selecaoGera l.*" backgroundAlpha="0.0" borderStyle="solid" borderThickness="0" fecharFormularioAoIncluir="false" deveLimparPesquisa="false" width="700" height="500">

<painelLista> <selecaoGeral:SelecaoGeralV2View tipoProcura="5151" /> </painelLista>

<servicoExclusao> <servico:ServicoJava source="br.com.sicoob.sisbr.smartConcept.modelagemNegocio.servic os.TipoProcessoServico" bloquearOperacao="true" mensagemEspera="Excluindo os dados..."/> </servicoExclusao>

<formularioCadastro>

<tipoProcesso1:TipoProcessoEdicao/> </formularioCadastro>

</ListaCadastroView>
Figura 6. Listagem MXML com exemplo de integrao ListaCadastroView com Seleo Geral Java.

package {

import br.com.bancoob.componentes.painellista.PainelListaBanco; import br.com.bancoob.dto.ConsultaDto; import br.com.bancoob.dto.RequisicaoDTO; import br.com.sicoob.sisbr.smartConcept.modelagemNegocio.dto.ModelagemN egocioReqDTO; import br.com.sicoob.sisbr.smartConcept.modelagemNegocio.vo.TipoProcess oVO; import br.com.sicoob.sisbr.tipoProcesso.TipoProcessoSelecaoView; import mx.events.FlexEvent;

public class ManterTipoProcesso extends TipoProcessoSelecaoView {

//************** // Construtores: //************** public function ManterTipoProcesso():void { super(); include 'RegistroVO.as'; }

//************** // Eventos: //************** protected override function init(event: FlexEvent):void { super.init(event); } //*************************************** // Metodos Herdados: //*************************************** protected override function montarDtoExclusao(item:Object):RequisicaoDTO { var dto: ModelagemNegocioReqDTO = new ModelagemNegocioReqDTO(); var tipoProcesso : TipoProcessoVO = new TipoProcessoVO(); tipoProcesso.codigo = item.CODTIPOPROCESSO; tipoProcesso.nome = item.DESCTIPOPROCESSO; dto.dados.TipoProcesso = tipoProcesso; return dto; } } }
Figura 7. Listagem ActionScript com exemplo de integrao ListaCadastroView com Seleo Geral Java.

Figura 8. Tela de integrao do ListaCadastroView e Seleo Geral Java.

O componente Procurar Geral Java


O Procurar Geral Java um componente que facilita o desenvolvimento de funcionalidades que necessitam selecionar dados de forma mais criteriosa. Esse componente tambm conhecido como Campo Lupa. Ele caracteriza-se por um campo para digitao (que pode ser habilitado ou desabilitado), e um boto com a imagem de uma lupa. A funo desse componente pesquisar informaes atravs do identificador informado no campo para digitao. O resultado da pesquisa aparece ao lado do boto com a imagem de lupa. A Figura 9 e a Figura 13 mostram exemplos desse componente em funcionamento.

Figura 9. Exemplo de uso do componente Procurar Geral Java.

O componente Procurar Geral Java usa a infraestrutura do componente Seleo Geral Java, ou seja, todas as definies e colunas de definies que esto criadas para o componente Seleo Geral Java podem ser utilizadas pelo componente Procurar Geral Java. Para utilizar o componente Procurar Geral Java no seu caso de uso basta inserir o seguinte cdigo, informando o tipoProcura da consulta desejada (previamente cadastrada na tabela GEN.DEFINICAOSELECAOGERAL), o campoCodigo e o

campoDescricao.

<selecaoGeral:ProcurarGeralV2 id="procurarGeral" tipoProcura="5151" titulo="Procurar Geral" campoCodigo="CODTIPOPROCESSO" campoDescricao="DESCTIPOPROCESSO"/>


Figura 10. Listagem MXML com exemplo de uso do componente Procurar Geral Java.

Usando o componente Procurar Geral Java


O componente Procurar Geral Java tem dois atributos iguais ao do componente Seleo Geral Java. So eles: tipoProcura e

numCooperativa. Esses dois atributos tm as mesmas funes dos


atributos do componente Seleo Geral Java. Os outros dois atributos especficos do componente Procurar Geral Java sero detalhados abaixo:

campoCodigo: O campo cdigo referencia o nome do atributo do


objeto selecionado, ou seja, o nome da coluna chave primria da tabela pesquisada.

campoDescricao: O campo descrio, por sua vez, referencia o


nome do atributo do objeto selecionado que deve ser mostrado na tela.

Para entender o funcionamento desses dois campos vamos clicar no boto Lupa. A tela do componente Seleo Geral ir abrir, conforme a Figura 11.

Figura 11. Tela do componente Seleo Geral Java aberta a partir do componente Procurar Geral Java.

Aps o preenchimento do campo Procurar Por e do clique no boto Procurar, o componente Seleo Geral Java ir executar a consulta configurada e apresentar o resultado, conforme a Figura 12.

Figura 12. Tela do componente Seleo Geral Java apresentando os resultados da pesquisa.

Ao selecionar o item da grid de resultados e clicar no boto OK, o item selecionado ser includo na tela inicial do nosso exemplo. A imagem da Figura 13 mostra esse comportamento.

Figura 13. Tela principal do componente Procurar Geral Java apresentando um elemento selecionado.

Lista de componentes visuais

Rtulo Rtulo MultLine Campo Data Campo Hora Tipo Hora Texto Somente Maisculas Permitir Valores Negativos Aceitar Nulo Formato Tipo de Entrada Valor Casas Decimais Agrupar Dgitos Validar Obrigatrio Validar Email Validar Mensagem

Valor Mnimo Valor Mximo Navegar com tecla Enter Travar Digitao Casas Decimais Arredondamento de Valores Permitir Habilitar Validar Check Navegar com tecla Enter Permitir Habilitar Combo Label Item Opcional Validar Mensagem Validar Obrigatrio Travar Seleo Contedo Maisculo Somente Maisculas Identificador Item Navegar com tecla Enter Permitir Habilitar Inserir Item Opcional Procurar Item por Nome Procurar Item por Objeto Validar Is Selecionado Combo Booleana

Label Verdadeiro Label Falso Valor Selecionado Contador Permitir Habilitar Editor Texto Permitir Habilitar Input CNPJ Input CPF Mscara Rdio Permitir Habilitar Navegar com tecla Enter Rdio Grupo Bancoob Texto rea Permitir Habilitar Navegar com tecla Enter Somente Maisculas Validar Obrigatrio Validar Mensagem Lista Seleo

Pr Impresso Ttulo Sicoob Tree Validadores

Validador Campo Preenchido Validador CNPJ Validador CPF Validador Expresso Regular Validador Igualdade Campo Validador Intervalo Numrico

Boto Canvas Bancoob Canvas Validvel Tabela Paginada Barra Botes Formulrio Painel Filtro Painel Lista Advanced Data Grid Bancoob Alerta Calendrio Janela

Potrebbero piacerti anche