Dicas de Genexus - Continuação

Continuando as dicas rápidas publicadas em: http://bolivarbutzke.blogspot.com.br/2012/03/dicas-de-genexus.html
 
20 Como criar um confirm para web em genexus?

Adicione no evento Start da web panel o JS confirm ao botão/variável bitmap de uma grid... exemplo:
&VariavelGrid.JSEvent('onclick',"confirm('Realmente deseja...?')")

21 Add favicon Genexus

Na master page -> Evento Start -> Add: Form.HeaderRawHTML = '<link rel="shortcut icon" href="Imagens/sgp.ico" type="image/x-icon" />'

22 XML inválido ao usar o Fusion Charts?

Verificar se possui algum caracter especial no gráfico, acentos no caption, nos eixos etc, se tiver, remova ou coloque o código html correspondente, muitas vezes é este o problema.

23 Como exportar dados para o Excel usando variável do tipo ExcelDocument?

Exemplos prontos nos links abaixo:

  1. http://www.genexando.com/2009/08/excel-no-genexus.html
  2. http://treinamentodash.blogspot.com.br/2008/05/upload-de-arquivos-e-leitura-de-arquivo.html


24 Como configurar o Genexus para incluir ou não a tag compatibilidade internet explorer < meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" > em todas as páginas da aplicação?

Nas propriedades do Gerador (Preferências->Gerador->xxx) tem uma propriedade chamada Internet Explorer Compatibility Mode
Bote ou tire conforme sua vontade e verifique as mudanças em layouts (css, js) no IE.
Se essa meta tag tivesse um "name" dava pra modificar assim: Form.MetaEquiv.RemoveItem('nome')
Obs.: as vezes precisa fazer alguma alteração em transações pra gerar novamente... atualizar de fato.

25 Como trazer um objeto do modo Design para Produção no Genexus 9?


  1. Menu Build->Impact Objects
  2. Clique Botão Tag All
  3. Clique botão Copy Tagged
  4. Feito.

Qualidade / PGQP - Cursos Grátis SEBRAE / FNQ

Essa semana fiz um curso online, grátis, e gostei bastante. O conteúdo é bem organizado e as informações são muito importantes para melhorar nossas empresas.


Além deste curso, Primeiros Passos para a Excelência, que recomendo fortemente a todos os gestores de mepresas, existem outros cursos relacionados a PGQP, acesse http://fnq.org.br/site/458/default.aspx

Link do próximo curso que estarei fazendo, site do PGQP: http://www.mbc.org.br/mbc/pgqp/hot_sites/sa2011/index.php?pagina=capacitacao_sensibilizacao&Itemid=437

Otimização e Desenvolvimento de Ferramentas para BioInformática: Pipelines Metagenômicos, com Raquel Dias

13º Fórum de Informática SETREM - Anotações da segunda noite, trabalho de mestrado de Raquel Dias.

Atividades de um "Informata" na Biologia.
Raquel é formada em Biologia e está fazendo mestrado em Computação.
Laboratório de Alto Desempenho - PUCRS
Raquel.dias.001@acad.pucrs.br
www.lad.pucrs.br

Otimizações quantitativas
Processamento paralelo e distribuído
Otimização qualitativa
 - altera a estratégia para encontrar uma solução

APLICAÇÕES DE TI NA BIOLOGIA

Genética
 - Bases de dados (NCBI, GenBank)
 - Pós-Processamento Genômico
 - Pós-processamento metagenômico
 - Análise filogenética
 - Simulações evolutivas

Bioquímica
 - Bando de dados de proteínas (PDB)
 - Modelagem molecular
 - Visualização de proteínas
 - Dinâmica molecular (reações enzimáticas)

ÁREA DO TRABALHO DE MESTRADO DA RAQUEL

Metagenômica
 - Sequenciamento genético
 - Abordagens
   - Metatranscriptônicas
   - Sequenciamento baseado no gene 16S

Inicialmente são coletadas amostras ambientais, após estas amostras passam por um sequenciador (hardware - verifica pelo PH da amostra em um solvente - pega letra por letra) que gera um TXT com os dados genéticos.
Após o sequenciamento é necessário a análise dos dados genéticos para descobrir de que organismos são as sequencias genéticas encontradas, para isso utiliza-se bases de dados como NCBI.
Também é feito uma análise filogenética verificando mutações e comparando com outros organismos da mesma amostra etc.

Illumina: Sequenciamento em larga escala

Como melhorar estas etapas necessárias para analisar os dados genéticos?

 - Dados de entrada: bases nucleotídicas, várias amostras.

 - Pós-processamento metagenômico.

 - Pipelines metagenômicos: Mothur, RDP, Galaxy, MEGAN, RAST, PANGEA.

 - Versões offline são de código-aberto, PANGEA é um dos mais completos, por isso foi escolhido para o trabalho.

 - Linguagem PERL é ótima para trabalhar com strings/textos, então foi escolhida para manipulação das sequencias genéticas.
 - C foi escolhido para cálculos, processamentos.
 - Java para visualização dos dados.

Etapas - fases de processamento
1. Entrada de dados
1.1 Filtro de qualidade das sequencias genéticas

2. Métodos de Classificação de Espécies utilizados paralelamente para chegar ao resultado:
 - BLAST
 - RDP
 - SOAP2

3. Comparação dos resultados encontrados pelos 3 métodos para chegar a consenso.

4. Pós-processamento: análise e resumo dos resultados para apresentação ao usuário.

Otimizações execução
 - Paralelização do algoritmo BLAST que é o mais demorado e completo, distribui a execução em várias máquinas/processadores.

Melhorias
 - Resultados exibidos de forma mais clara, com mais dados, náo apenas o código do banco de dados.

Resultados
 - 500x mais rápido a execução
 - 125x mais rápido leitura dados NCBI
 - Aumentou o nível de certeza dos resultados

Atividades pendentes
 - publicação: BMC Bioinformatics

Exemplo apresentado: GenomaQuest - online, modificação do PANGEA.

Interoperabilidade Windows Linux, com André Rushel

13º Fórum de Informática - Anotações da primeira noite.

A abertura da noite foi feita por Fábio Hara, de forma remota, comentando sobre o trabalho do André Rushel.

André é, atualmente, MVP, Most Valuable Professional da Microsoft, palestrou nesta noite sobre ‘Interoperabilidade de Servidores: Microsoft e o Mundo OpenSource’.

Seguem anotações:
  • http://www.microsoftvirtualacademy.com - Muitos treinamentos grátis, dica do Fábio.
  • http://lwn.net/ - Software livre, notícias etc.
  • Debian-Interix.net - Tem a ver com o SUA, não sei quem copiou de quem.
  • http://suacommunity.com/ - SUA, Linux no Windows, comandos etc.
  • VDI - Virtual Desktop Infrastructure
  • MDT - Microsoft Deployment Toolkit -> Migrar Windows XP para 7 por exemplo, instala drivers, copia arquivos, ingressa no mesmo domínio etc. Grátis.
  • MAP - Utilizado para fazer inventário hardware via rede, gera um arquivo XLS, grátis, para windows w linux.
  • ACT - Application Compability Toolkit, colocar aplicações para rodar em modo de compatibilidade, permissão de administrador... tutorial do ACT.
  • Seamless (RDP?) - utilizado para acessar apenas determinada aplicação remotamente, sem precisar acessar toda a área de trabalho, roda em Windows/Linux.
  • Hyper-V 3 
    • Live Migration (SMB 3.0): muito bom, tem um vídeo da migração de um servidor de uma máquina para outra sem parar os serviços.
    • Replication - fazer cópia de uma máquina virtual...
  • SysInternals - ferramentas top grátis, de um russo...
    • Disk2vhd - transforma máquina física para virtual
    • ZoomIt - ferramenta para dar zoom...
    • AviCode - verifica erros desenvolvimento
  • Windows To Go - Windows no pendrive, postagem do André.
  • Programa MSP - Estudantes - Microsoft Student Partners
  • Problemas: Não tem Azure no Brasil? Sistemas lentos? tem que verificar. Citrix é melhor? parece que sim, mas bem mais caro também.  
Em resumo, foram as minhas anotações....  com alguns links adicionados, breve pesquisa no Google :)

[Atualização - 2012-07-06]

Hoje recebi um e-mail da Microsoft com o certificado pela participação deste evento, legal.


Dicas de Genexus


Bom, achei isso ai no bloco de notas, são minhas anotações dos primeiros dias utilizando Genexus.

Atalhos Mais Usados
  • CTRL+K = define atributo como chave
  • CTRL+D = define atributo Descritor, maior carga semântica, utilizado em filtros etc
  • CTRL+L = insere novo nível
  • F4 para ver propriedades do objeto selecionado
  • CTRL+O = abrir/buscar objetos
  • CTRL+A = buscar atributo
  • F12 = abrir um objeto selecionado ou que o marcador esteja
  • F5 = Run Developer Menu
  • CTRL + Q = comentar código
  • CTRL + SHIFT + Q = descomentar código

1 Como criar índice de usuário?
  1. Acesse a tabela que deseja criar o índice
  2. Na parte de baixo, selecione Indexes
  3. Clique botão direito e selecione Add Index
  4. Botão direito no novo índice e adicione os atributos

2 Como criar um domínio diretamente em uma transaction?

Basta colocar nome= na frente do tipo de dados.
  1. Nome= Character(20)
  2. Id = Numeric(4.0)
3 Como resolver o Erro: No aplications found. Em Smart Devices?
  1. Criar um Dashboard e adicionar um Item para invocar a Work With que quer executar.
  2. Altere as propriedades do Item: descrição, imagem...
4 Como configurar ADS no Android, colocar seu ID Publisher?
  1. Acesse http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Ads+%28Advertising%29,
  2. Siga os passos descritos no site.
5 Como criar/congelar uma versão da KB?
  1. Abrir Menu View->Versions
  2. Clique botão direito e selecione Freeze (congelar)
  3. Dê um nome, de preferência com a Data ou algum sequencial.
6 Como criar uma nova base de dados (limpa) com objetivo de manter a versão da antiga congelada também?
  1. Em Knowledge base navigator->Preferences->(DataStore do seu Environment)->Edit Connection
  2. De outro nome para o banco de dados e clique em Create DataBase
  3. Menu Build->Create Database Tables
7 Quando as alterações do CSS não estiverem fazendo efeito na aplicação, como resolver?
  1. Build all: o Gx copia algumas coisas do tema dentro da app, não adianta alterar os estilos apenas, precisa gerar novamente.
8 Como ordenar um for Each?
  1. Crescente: For Each Order Campo1, Campo 2 ... EndFor
  2. Decrescente: For Each Order (Campo1), (Campo 2) ... EndFor
9 Como saber onde um atributo ou objeto qualquer é utilizado?
  1. Para buscar o atributo, atalho CTRL+O, abra o que deseja analisar.
  2. Clique botão direito mouse sobre a aba (o nome do objeto) e selecione References (No GX9 era Cross ou algo assim)
10 Voltar versão de um objeto?
  1. Botão direito nele (aba com nome...) e selecione history, poderá comparar versões e voltar para determinada data...
11 Como ver a navegação de um procedimento com for each, saber quais tabelas do banco serão navegadas?
  1. Botão direito nele (aba com nome...) e selecione View Navigation.
12 Como evitar um Break ao ter laços aninhados que tem a mesma tabela base?
  1. Crie uma Sub Rotina: Sub 'Nome Rotina' ...coloque aqui o laço aninhado (For Each)... EndSub
  2. Chame essa rotina: Do 'Nome Rotina'  
  3. Obs.: Crie sempre as sub rotinas no final do Procedimento, abaixo de onde está usando...
13 Como colocar Condições em Regras/Condições?
  1. Em Regras (Rules) use If: Par1 = &Par1 If Insert;
  2. Em Condições, use When: Par1 = &Par1 When Not &Par1.IsEmpty();
14 Como abrir uma popUp de seleção em uma grid?
  1. Primeiro será necessário criar sua tela de pesquisa.
  2. Importante: Rules -> Parm -> Parâmetros precisam ser InOut!
  3. Na tela, add rule: Prompt(NomeTelaSelect, CampoChaveGridSubNivel);
15 Como fazer uma variável aceitar receber valor em uma Transaction?
  1. Utilize o Accept(&variavel); nas Rules
16 Problema: campo numérico no banco com alguns valores NULL, você quer fazer um foreach ou somar ou trabalhar apenas com os dados dos registros onde este campo é NULL, você já tentou utilizar isEmpty() e também  = Null(campo) e não funcionou? Passei por isso, achei  a solução no método de testes/erros/acertos... usando a função isNull deu certo, conforme abaixo:
  1. &Horas = SUM(Horas, isNull(CampoCodigoXXX))

17 Como configurar o Genexus pra pegar licenças na rede? Certo dia na empresa fiquei sem licença pra trabalhar, outro dia acabei vendo um erro ao reorganizar a base de dados... tudo questão de escolher uma máquina na rede com as licenças disponíveis, abaixo o erro que me ocorreu e na sequencia a solução.

error: GeneXus .NET Generator:
Error starting remote protection, using mgtsrv04 server:
Not authorized
error: Error in reorganization
  1. Vá até a pasta onde o executável do Genexus está (clique botão direito sobre o atalho e selecione "Abrir local do Arquivo"
  2. Procure um arquivo chamado "GxLMgr" que é o Gerenciador de Licenças do Gx e abra ele
  3. Selecione a máquina na rede, pode verificar se todas as licenças da máquina já estão em uso, se não estiverem é só voltar para o Genexus (no caso de erro semelhante ao meu), ou fechar e abrir de novo o GX que ele já vai pegar certinho o servidor de licenças agora.
  4. Obs.: No caso do erro acima precisa licença para o gerador, não para o Gx, são coisas diferentes.
18 Como fazer para poder editar registros diretamente em uma grid que está em uma web panel?
  1. Precisa criar variáveis baseadas nos atributos que se deseja atualizar
  2. Adicione as variáveis na grid
  3. Colocar a propriedade Read Only = No nessas variáveis -> colunas da grid (vem default)
  4. Coloque um botão com evento de percorrer as linhas da grid e atualizar os registros
  5. O evento do botão vai usar For Each Line In GrdDados
19 Como fazer que ao fechar uma popup a página de baixo/que chamou seja atualizada?
  1. Ao i nvés de chamar tela.PopUp() usar uma variável Window
&Window.Object = HSGP073.Create(&DemCodigo, SolCodigo)
&Window.Autoresize = True
&Window.Open()
Refresh