quarta-feira, 25 de julho de 2018

Nova funcionalidade para exportação de N tabelas estruturadas

Incluída funcionalidade para permitir a exportação de N tabelas estruturadas na aplicação AMTabEstrutExAVMB.exe.

A exportação gera um arquivo com extensão "tae" contendo todos os dados das tabelas estruturadas selecionadas. Esse arquivo “tae” é incluído no pacote e importado durante a instalação.

Essa funcionalidade permite realizar a importação de tabelas estruturadas associadas ao pacote mas sem associação com o catálogo do sistema. O carregamento das tabelas estruturadas ocorre da mesma forma que no catálogo, ou seja, são inseridos apenas os itens fixos das tabelas ou o nível zero da tabela caso a mesma não possua itens fixos.


segunda-feira, 16 de julho de 2018

Asten Processos: Novo componente para visualização de documentos

Foi criado um novo componente visual no Asten Processos para visualização de documentos.
As extensões compatíveis são:

  • pdf
  • odt (Open Document Text - documento de texto padrão aberto)
  • ods (Open Document Sheet - planilhas em padrão aberto)
  • odp (Open Document Presentation - apresentações (slider) em padrão aberto)
O visualizador também disponibiliza os seguintes recursos:
  • Paginação (Anterior e Próxima)
  • Modo apresentação (para arquivos ODP)
  • Tela cheia
  • Baixar arquivo
  • Zoom


O componente é nativo JavaScript portanto não necessita nenhum plugin adicional no navegador do cliente. O novo componente encontra-se acessível através do menu de componentes do modelador.


A configuração do componente é muito simples, ele apenas necessita a vinculação de uma variável binária não vetor. O posicionamento do componente seja pelo modelador absoluto como no responsivo ocorre normalmente como as demais ações existentes.


Visualmente, caso exista um documento na variável o editor irá exibi-lo.

Exemplo PDF:


Exemplo ODT:

Exemplo ODS:

Exemplo ODP:

quinta-feira, 12 de julho de 2018

Asten Processos - Melhorias visuais

Novas funções LUA para alteração de campos

Novas ações disponíveis para manipulação dos campos funcionais. As novas funções estão disponíveis através do insight (Ctrl + F), são elas:

  • changeActionLabel: permite alterar o rótulo de um campo
  • changeActionHint: permite personalizar o hint de um campo

changeActionLabel

Sintaxe da função: changeActionLabel(cod_acao, valor)
Abaixo encontra-se um exemplo de uma caixa de texto configurada no processo. Atualmente o nome informado no campo "Descrição do campo" é o valor que será adotado como rótulo no momento da exibição na web.


Após chamada a função abaixo a aplicação web irá sobrescrever o rótulo existente no modelador.

changeActionLabel(154161904, 'Informe seu nome completo')


Alguns tipos de componentes não serão afetados por essa sobrescrita, exemplo: rótulo, botão, estruturas HTML, entre outros.

changeActionHint

Sintaxe da função: changeActionHint(cod_acao, valor)
Possui a mesma finalidade a função changeActionLabel porém afetada a propriedade hint do campo.


Após chamada a função abaixo a aplicação web irá sobrescrever o rótulo existente no modelador.
Caso seja necessário apagar o conteúdo do hint basta passar o segundo argumento da função como vazio.

changeActionHint(154221058, 'Qualquer coisa é bem vinda <i class="fa fa-smile-o"></i>')


Novas funcionalidades para Grade Responsiva

Espaçamento

O objetivo é permitir a criação de blocos que atuem como espaçamento, permitindo assim a criação de lacunas que destinam-se a separar e alinhar os campos de formulário.
O espaçamento assim como os campos de formulário dentro da grade responsiva, possuem pontos de quebra que permitem para diferentes resoluções determinar se esse espaçamento estará visível ou não.
A criação desses blocos é controlado pelo próprio modelador de formulário, dependendo do container (linha, coluna, guia, etc) selecionado. Sendo assim a opção para criação do espaçamento só estará disponível se o container atender os requisitos para comportar o bloco de espaçamento.


Uma vez criado o bloco ele será representado dentro do container assim como os demais campos, todavia na pre-visualização é possível observar a alocação de espaço configurado através dos pontos de quebra do mesmo. 


É possível observar na imagem acima que o espaçamento foi configurado para estar visível apenas em altas resoluções, sendo assim no momento que estivermos em baixa resolução o mesmo permanecerá oculto.


Customização de Estilos

Permite personalizar questões como: espaçamento, alinhamento, altura dinâmica e mínima para os campos do formulário. Essas configurações podem ser encontradas através do botão CSS presente em cada campo no modelador de formulários responsivo (caso o campo tenha suporte).


Cada tipo de campo possui suporte a tipos diferentes de configurações, seguem abaixo a descrição de cada tipo:

Espaçamento

Permite definir em pixels o espaçamento no interior do container do componente visando facilitar o alinhamento desse com outros campos do formulário. As imagens abaixo ilustram a diferença visível ao se trabalhar com essas propriedades




Dimensões

Aplicável apenas aos componentes do tipo: tabela avançada e tabela vertical. Permite definir a altura do componente de forma dinâmica, dessa forma o componente irá se ajustar baseado na quantidade de dados em listagem e não mais estará restrito a uma altura fixa.


As propriedades de altura mínima e máxima tornam-se opcionais no momento que a propriedades "Altura automática" encontrar-se habilitada. Visualmente o resultado é o ilustrado nas imagens abaixo.


Flutuação

Aplicável aos componentes: caixa de verificação e rótulo. Permite alinhar o componente à direita (right) ou esquerda (left) dentro do seu container. 



Visualmente o resultado é o seguinte:






segunda-feira, 9 de julho de 2018

Asten Processos - Novas funções nativas LUA

Foram criadas duas novas funções nativas LUA, segue o detalhamento:

Função: Relatorio()
Objetivo: Permite via lua chamar um relatório (DLL) do sistema

Exemplos:

--cria um objeto de manipulação para o relatório informado
rel = Relatorio('prjRelLivroFiscal.dll')

--adiciona o parâmetro esperado pelo relatório, deverá ser informado o nome do parâmetro e seu tipo
--os tipos  aceitos para o parâmetro são: "integer", "float", "string", "date", "time", "datetime"
--a função irá retornar um objeto cuja chave Value deverá ser atribuída
rel.AddParam('TIPO_LIVRO', 'string').Value = 'P'

--outra forma seria
paramTipo = rel.AddParam('TIPO_LIVRO', 'string')
paramTipo.Value = 'P'

--caso o parâmetro seja um vetor basta atribuir a chave Value como tal:
rel.AddParam('TIPO_LIVRO', 'string').Value = {'T', 'P'}

--caso se queria recuperar um parâmetro previamente registrado utilizar a função GetParam
paramTipo = rel.GetParam('TIPO_LIVRO')
paramTipo.Value = 'P'

Foram disponibilizados dois métodos para geração do relatório, o primeiro resulta a gravação do binário do relatório em uma variável do processo e o segundo na gravação do binário do relatório em disco

--em variável
rel.ExecuteAndSaveToVar('nomeVariavel', 'nomeRelatorioSemExtensao')

--em variável com compactação
rel.ExecuteAndSaveToVar('nomeVariavel', 'nomeRelatorioSemExtensao', 1)

--em arquivo
rel.ExecuteAndSaveToFile('nomeDiretorio', 'nomeRelatorioSemExtensao')

--em arquivo com compactação
rel.ExecuteAndSaveToFile('nomeDiretorio', 'nomeRelatorioSemExtensao', 1)

Função: Zip()
Objetivo: Permite executar via lua rotinas de compactação das variáveis binárias do processo

Exemplo de compactação:

--cria um objeto de manipulação
zip = Zip()

--atribui as variáveis que serão compactadas
zip.AddVar('nomeVariavel_1').addVar('nomeVariavel_2')

--também é permitido carregar arquivos em disco
zip.AddFile('C:\\arquivo_1.txt'),AddFile('C:\\arquivo_2.txt')

--após todas as variáveis e arquivos forem informadas a compactação poderá ser efetuada
--duas funções disponíveis: CompressToVar e CompressToFile

--compacta os arquivos informados para a variável do processo
zip.CompressToVar('nomeVariavel', 'nomeArquivoSemExtensao')

--compacta os arquivos informados para um arquivo em disco
zip.CompressToFile('nomeArquivoEmDisco')

Exemplo de descompactação:

--cria um objeto de manipulação
zip = Zip()

--descompacta o conteúdo zipado de um variável para outra
zip.UncompressToVar('nomeVarOrigem', 'nomeVarDestino')

--descompacta o conteúdo de um arquivo zipado em disco para uma variável do processo
zip.UncompressToFile('nomeVariavel', 'nomeArquivoEmDisco')


PARABÉNS


PARABÉNS


quarta-feira, 4 de julho de 2018

Mudança de Setor - Analista Caren Possobom

Comunico que a partir de hoje a analista Caren Possobom fará parte da Equipe de Testes, sob a coordenação do Alexandre.

Caren, sucesso em seus novos desafios! Obrigada por todo o tempo e contribuições que realizastes junto ao Setor de Atendimento e nosso clientes!

Atenção: Quaisquer kanban/chamado que antes a Caren estava encaminhando, continuará sendo atendido pelas demais colegas aqui do atendimento. 

Desta forma, prezados desenvolvedores/analistas, dúvidas de kanbans, usem a ferramenta do kanban para devolver ou, necessitando enviar e-mail, enviem para atendimento@avmb.com.br que a equipe aqui presente fará as providências necessárias conforme as melhores disponibilidades no momento.

terça-feira, 3 de julho de 2018

Mudanças no módulo de Relatórios SIM/SIE

Segue resumo das alterações realizadas sobre o módulo de relatórios do SIM/SIE. As quatro alterações descritas abaixo trabalham em conjunto visando reduzir o impacto dos relatórios sobre o sistema e o banco de dados.

As alterações abaixo impactam em todo o módulo de relatórios do sistema. Caso sejam detectados problemas favor reportar diretamente via email.

1. Execução de relatórios em banco espelho

Foi criada uma nova configuração na qual permite executar as consultas de um relatório em um banco que espelha a base de homologação/produção do cliente. Essa configuração tem por objetivo reduzir o volume de operações pesadas sobre o banco principal, redirecionando as consultas dos relatórios com pior desempenho para um banco que realiza a replicação de dados do produção. A configuração do banco espelho é realizada nos parâmetros do SGCA e ativada individualmente por relatório.


Os relatórios devem ser configurados individualmente pois o espelhamento pode implicar em restrições de dados aos dados, o que impede a execução de alguns relatórios.

Na PMP por exemplo, o espelhamento criado recentemente impede o acesso à colunas LOB. Nesse caso os relatórios contendo instruções SQL com acesso à colunas CLOB e BLOB não poderão ser habilitados para execução na base espelho.


2. Coleta de estatísticas

Todos os relatórios do sistema passam a coletar dados referente aos tempos de execução e tamanho médio gerado. Essa alteração se aplica à relatórios nativos (DLLs), relatórios RTF, relatórios XLS/XLSX, consultas e scripts. Os tempos de execução tem por objetivo alertar o usuário quanto ao custo de processamento do relatório antes da emissão do mesmo.


O tempo médio de execução é calculado automaticamente a cada processamento dos relatórios. Os tempos também são utilizados no novo recurso de execução em segundo plano e para armazenamento automático de relatórios com baixa performance.


3. Execução em segundo plano

Os relatórios nativos do sistema (DLLs) agora podem ser gerados em segundo plano, não sendo mais necessário aguardar o término do mesmo na tela de parâmetros. O processamento em segundo plano é sugerido ao usuário sempre que o tempo médio de execução do relatório exceder o tempo limite configurado.


Por padrão o tempo limite é 10 segundos, podendo ser configurado conforme a necessidade de cada instituição. A execução em segundo plano não é sugerida ao usuário enquanto o relatório não possuir estatísticas (pelo menos uma execução). Quando houver o término do processamento em segundo plano o relatório ficará disponível ao usuário na nova guia do GCA "Relatórios Solicitados".

Essa guia apresenta os relatórios executados em segundo plano nos últimos 7 dias, sendo exibida a partir do momento que o primeiro relatório é gerado nesse modo.



4. Recuperação de relatórios gerados no passado

Sempre que um relatório executar em segundo plano ou tiver seu tempo de execução considerado elevado (acima do tempo limite configurado), o mesmo será armazenado automaticamente e poderá ser recuperado sem a necessidade de novo processamento.


O sistema levará em conta o usuário que emitiu o relatório e quais foram os parâmetros de entrada utilizados. Se houver um relatório já gerado com esses critérios, o sistema irá sugerir o carregamento do mesmo. Havendo mais de um relatório com os mesmos critérios será sugerido o carregamento do último.

Os relatórios armazenados não possuem validade, permanecendo disponíveis para recuperação por tempo indeterminado. O usuário sempre poderá realizar a emissão do relatório em tempo real, não sendo obrigado a utilizar aquele já gerado no passado.

segunda-feira, 2 de julho de 2018

O Jeito Harvard de ser Feliz

O segredo feliz para trabalhar melhor” é uma das palestras de maior sucesso do TED, com mais de sete milhões de visualizações, e é esta pesquisa de Shawn Archor sobre a felicidade que originou o livro "O Jeito Harvard de ser Feliz". 

O sucesso não traz a felicidade. A felicidade traz o sucesso. 

Essa obra se divide em três partes: Psicologia Positiva (fala sobre o benefício da felicidade na prática, seja no campo pessoal ou profissional), os Sete Princípios (sete padrões funcionais específicos e comprovados de sucesso e realização) e o Efeito Propagador (quando começamos a capitalizar o benefício da felicidade aplicando os sete princípios na própria vida, as mudanças positivas se propagam rapidamente, aumentando o grau de felicidade das pessoas ao nosso redor).

Todo mundo acha que precisa conseguir isso e aquilo pra ser feliz. "Assim que eu tiver sucesso, tudo vai se encaminhar na minha vida, vou poder relaxar aproveitar". E se você soubesse que já pode relaxar e aproveitar agora? Aliás, que você deve fazer isso agora se quiser alcançar o máximo? "O Jeito Harvard de Ser Feliz" vai te provar que primeiro vem a felicidade, depois o sucesso.