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.