Exportação para formato EXCEL utilizando Relatórios por Tarefa

Modificado em Wed, 09 Feb 2022 na (o) 10:18 AM

Resumo


Este artigo demonstra como funciona a geração de relatório em Excel, bem como as configurações do template para esta função, nos relatórios que estão sendo executados via tarefa.


Introdução


Com os relatórios para o formato de tarefa, a exportação para o formato EXCEL sofreu algumas alterações tanto na questão de configuração do relatório como na questão da tecnologia adotada para gerar em planilha. 


Antes era necessário ter instalado no mesmo local onde o SERVERAPP é executado, uma cópia do EXCEL da Microsoft, o que muitas vezes causava transtorno na questão das licenças adquiridas pela empresa. Então, a SOFTDATA, adquiriu uma ferramenta para ser integrada ao SGE que não mais necessita do vínculo com o EXCEL da Microsoft instalado, facilitando e dando mais praticidade ao uso das rotinas em tarefa. 


Esta biblioteca se integra ao SGE e não tem custo de distribuição para nossos clientes, ou seja, é isenta de royalties para o nosso aplicativo.



Configuração de Dispositivo de Saída


Para os relatórios que são executados via tarefa, a grande alteração é que não é mais necessário a template para gerar o conteúdo para excel. A template ainda é usada, mas deve ser utilizada nas situações onde o usuário quer montar a sua própria lista de campos que não seja a padrão emitida pelo SGE.


No momento da seleção do dispositivo de saída, deve-se escolher o "EXCEL" e dar o nome que gostaria ao arquivo a ser gerado:




Analisando o Arquivo Gerado


Depois de gerado o relatório neste formato, o SGE já abre automáticamente o EXCEL com a planilha criada, isto se na instalação local tiver associado qual aplicativo deva ser usado para a abrir a extesão do EXCEL, que pode ser tanto o aplicativo da Mircosoft como o de outro fornecedor de software (OpenOffice, por exemplo).



Por padrão, são gerados todos os campos do relatório em duas linhas principais:


  • Tipo Registro: 
  • Detalhe


O primeiro, "Tipo Registro", serve como cabeçalho padrão  e mostra a lista de campos com seus nomes internos e servirá para o usuário montar o seu template caso haja necessidade. Já o segundo, o "Detalhe", é o local onde são gerados os dados do relatório



Neste exemplo do CPL009, temos os seguintes campos na linha "Tipo Registro":


  • CPL009.GE_TEMP.CD_FILIAL    
  • CPL009.GE_TEMP.CD_FORNECEDOR    
  • CPL009.GE_TEMP.CD_TP_TITULO    
  • CPL009.GE_TEMP.NR_TITULO    
  • CPL009.GE_TEMP.CD_SERIE    
  • CPL009.GE_TEMP.TP_CATEG_TIT    
  • CPL009.GE_TEMP.DT_PAGAMENTO    
  • CPL009.GE_TEMP.CD_SEQUENCIA    
  • CPL009.GE_TEMP.CD_MOTIVO    
  • CPL009.GE_TEMP.CD_HISTORICO    
  • CPL009.GE_TEMP.DN_HISTORICO    
  • CPL009.GE_TEMP.CD_CONTA_COR    
  • CPL009.GE_TEMP.NR_CHEQUE    
  • CPL009.GE_TEMP.NR_BORDERO    
  • CPL009.GE_TEMP.NR_RETORNO    
  • CPL009.GE_TEMP.CD_TP_PAGAMENTO    
  • CPL009.GE_TEMP.VL_BAIXA    
  • CPL009.GE_TEMP.VL_DESCONTO    
  • CPL009.GE_TEMP.VL_DESPESAS    
  • CPL009.GE_TEMP.VL_JUROS    
  • CPL009.GE_TEMP.VL_MULTA    
  • CPL009.GE_TEMP.VL_CANCELAMENTO    
  • CPL009.GE_TEMP.VL_DEVOLUCAO    
  • CPL009.GE_TEMP.VL_ESTORNO    
  • CPL009.GE_TEMP.VL_PAGAMENTO    
  • CPL009.GE_TEMP.SG_MOEDA    
  • CPL009.GE_TEMP.SG_MOEDA_CONV    
  • CPL009.GE_TEMP.CD_VARIAVEL    
  • CPL009.GE_TEMP.CD_VARIAVEL1    
  • CPL009.GE_TEMP.DE_COMPLEMENTO    C
  • PL009.GE_TEMP.CD_GRUPO_REPORT    
  • CPL009.GE_TEMP.DE_GRUPO_REPORT    
  • CPL009.GE_TEMP.CD_GRUPO_REPORT1    
  • CPL009.GE_TEMP.CD_GRUPO_REPORT2    
  • CPL009.GE_TEMP.CD_BANCO


Gerando uma nova Template


Nos baseando na lista de nomes de campos do "Tipo Registro", podemos montar um novo template de relatório. Iremos escolher os seguinte campos:


  • CPL009.GE_TEMP.CD_FORNECEDOR    
  • CPL009.GE_TEMP.DE_GRUPO_REPORT    
  • CPL009.GE_TEMP.CD_TP_TITULO    
  • CPL009.GE_TEMP.NR_TITULO    
  • CPL009.GE_TEMP.CD_SERIE    
  • CPL009.GE_TEMP.TP_CATEG_TIT    
  • CPL009.GE_TEMP.DT_PAGAMENTO    
  • CPL009.GE_TEMP.VL_BAIXA


Para gerar o novo template criamos um novo arquivo através do OfficeSuite, ferramenta gratuíta semelhante ao EXCEL da Microsoft:



É necessário gerar 2 linhas no mínimo com as TAG onde estarão as informações. 

  • #Cabecalho
  • #Detalhe


Na linha da TAG que tem o #Cabecalho, deve-se informar a descrição em cada coluna que o usuário vera a informação. Aqui deve-se descrever com mais clareza o que irá significar a coluna para facilitar o entendimento do usuário.


Já na linha da TAG que tem o #Detalhe, deve-se informar o nome do campo onde o dado será gerado. Por isto é importante gerar o formato padrão do SGE primeiro, fazer uma análise no nomes dos campos e depois desenvolver o novo template. Sem saber o nome dos campos que se deseja gerar o dado, não é possível gerar o template.


A primeira coluna do Excel (Coluna A) é utilizado pelo SGE para saber em que TAG do relatório deverão ser geradas as células. No momento da emissão do relatório a coluna da TAG será "escondida" na planilha, e a planilha inicia a partir da coluna B. Somente uma linha de cada TAG poderá ser utilizada no template.


Abaixo esta uma visão mais fácil exemplificando o que mencionamos acima:



Após gerar a template nova é importante salvar na pasta padrão de templates dentro da estrutura do WSGE:



No nosso exemplo, salvamos como cpl009_template_02.xlsx.


Agora temos duas formas de utilizar a template nova:

  1.  Informar manualmente no campo Template o caminho completo e nome na seleção do Dispositivo de Saída;
  2. Cadastrar a template nova através da rotina GEM198. 


Para a utilização do usuário final, a segunda opção é mais prática. A primeira opção torna-se mais rápida quando se esta desenvolvendo a template.


Para a primeira opção, basta informar o caminho completo da template conforme abaixo:



Já para a segunda opção, antes é necessário entrar na rotina GEM198 - Templates para Relatórios EXCEL.



Fazendo o cadastro desta forma, o usuário facilmente poderá apenas selecionar em uma lista a template que gostaria de usar. Note que é possível ter quantas templates quiser por programa do SGE. Na lista abaixo, detalhamos cada campo na tela desta rotina:


  • Programa: Neste campo deve-se informar o nome do relatório (nome do programa) no qual deseja-se cadastrar os templates;
  • Código: Neste campo deve-se informar um código para identificação do template;
  • Template Excel: Neste campo deve-se informar o endereço e nome do template. Sugerimos que os templates sejam armazenados em uma pasta específica para esta finalidade para evitar que algum usuário apague os templates caso os mesmos sejam disponibilizados na pasta de temporário. Acionando o botão F4, será aberto uma tela de pesquisa para facilitar a procura do arquivo.
  • Padrão: O sistema permite a criação de vários templates para o mesmo relatório, permitindo também a seleção da template. No entanto o sistema também permite marcar um template como padrão (default). Nestes casso o template marcado como Padrão será utilizado como default na tela de Configuração de Saída.


Feito isto, estamos prontos para acessar a rotina CPL009 e emitir o relatório em formato EXCEL.



Lembrando que estando no campo de Template, é possível acionar o F4 onde será aberto uma lista de templates para a escolha do usuário. 


E o resultado final, baseado na template gerada anteriormente será conforme abaixo:




TAG Adicionais


Em alguns relatórios, quando emitidos no formato padrão do SGE, o arquivo pode conter algumas outras TAG´s. Isto irá variar de acordo com o relatório.


Elas podem ser usadas ou não no relatório template novo a ser criado, dependendo da utilidade no desenvolvimento para a visão do usuário.


Estas TAG´s adicionais podem ser encontradas na coluna "Tipo Registro". Abaixo esta o exemplo de TAG diferentes obtidas através do arquivo padrão gerado pela rotina FCL020 - Fluxo de Caixa Detalhado.



Observe que na coluna Tipo de Registro, existe 2 tipos diferentes de TAG´s:


  • 10_DetalheDia;
  • 20_TotalDia;              


Para gerarmos uma template nova baseada nesta, teríamos que usar as duas TAG ou somente a 10_DetalheDia, dependendo da necessidade da informação do usuário.



Abaixo no detalhe do coluna para ser melhor visualizado:


Abaixo temos o resultado da execução do FCL020 selecionando a nova template criada:




Máscaras


É possível definir uma máscara para a célula no template, para isto deverá ser utilizado o label #Mask, qualquer máscara utilizada pelo Excel será aceito neste momento.


Abaixo esta um exemplo de um template criado do FCL020, formatando o campo DATA:



No mesmo template, é inserido uma máscara no campo de valor:


Abaixo mais alguns exemplos de máscara:

  • FCL020.GE_TEMP.VL_FLUXO #Mask: #.##0,00 

Descrição da máscara: Gera uma célula para mostrar o campo FCL020.GE_TEMP.VL_FLUXO  no formato numérico com duas decimais.


  • FCL020.GE_TEMP.VL_SALDO_DIA #Mask: #.##0,00;Vermelho-#.##0,00

Descrição da máscara: Gera uma célula para mostrar o campo FCL020.GE_TEMP.VL_SALDO_DIA  no formato numérico com duas decimais, sendo que os valores negativos serão apresentados em vermelho.


Para maiores detalhes sobre formatações de máscara consulte a ajuda do Excel.



Formatações de Células


Todas as formatações definidas nos templates serão mantidas no momento da geração da planilha pelo SGE. Para que isto seja possível TODAS as linhas da coluna deverão ser formatadas e não apenas a célula onde é informado o campo a ser utilizado. 


Com base em formatações é possível a criação de templates bem elaborados, sem a necessidade de formatação após a geração da planilha por parte do usuário final.


Exemplo do resultado de um template formatado:







Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo