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')


Nenhum comentário:

Postar um comentário