1 - Visão Geral
Nas últimas atualizações de nossa ferramenta de desenvolvimento, foi melhorado consideravelmente a geração de relatórios (ferramenta DATAFLEX Reports - sigla com arquivo de extensão .DR). Aproveitamos esta melhoria e implementamos o conceito de tarefa no SGE, primeiramente para a melhorar a aparência e a praticidade dos relatórios e depois o processamento das rotinas que demandavam mais tempo.
2 - Requisitos
Para que o sistema gere tarefas é necessário que atenda os dois requisitos abaixo:
- A rotina/relatório deve estar convertido pela SOFTDATA para o novo conceito;
 - O sistema deverá estar devidamente configurado de acordo com os passos descritos nos próximos tópicos.
 
3 - Configurando o Sistema
3.1 - SERVERAPP.exe e EXECAPP.exe
- ServerApp.exe - Este programa é um robô que monitora as tarefas geradas em uma tabela do banco de dados para geração dos relatórios;
 - ExecApp.exe - Esse programa é o que executa a tarefa encontrada no monitoramento do ServerApp.
 SchedulerApp - Esse programa monitora tarefas agendadas e solicita ao ServerApp para executa-la conforme programado no agendamento MNM051
Observações:
- O programa ExecApp.exe deve ser configurado no servidor para executar automaticamente sem a necessidade de ação do usuário (UAC Windows);
 Os 3 programas devem ser colocados dentro da pasta \WSGE\Programs.

3.2 - Criar pastas necessárias
As pastas abaixo devem existir na estrutura WSGE conforme abaixo:
- \WSGE\Reports\Cache - Essa pasta servirá para armazenar os arquivos temporários para geração dos relatórios;
 - \WSGE\Reports - Essa pasta servirá para armazenar os arquivos fontes de relatórios.
 
Após criar as pastas, copiar o arquivo com extensão ".DR" do relatório na pasta \WSGE\Reports. Exemplo: FTL053.dr; IML001.dr, etc...
Observação: Os arquivos com extensão .DR serão liberados aos clientes a medida que as rotinas forem sendo convertidas.
3.3 - Configurando MENU.ini
Deverá ser configurado os parâmetros abaixo no arquivo MENU.INI, que se encontra na pasta WSGE\Programs.
- #DIRETORIO CACHE TAREFA: .\Reports\Cache
 - #DIRETORIO DESTINO TAREFA: .\Reports
 
3.4 - Registrando o OCX do Dataflex Reports
Por favor siga os procedimentos da solução clicando aqui.
3.5 - Parametrizar a tela MNM050

- Caminho do Server - Nesse campo deve-se indicar o local do arquivo SERVERAPP.EXE;
 - Workspace - Nesse campo deve-se indicar o local do arquivo SgeWeb.ws;
 - Intervalo de execução - Informar valor em segundos, lembrando que esse intervalo não pode ser 0;
 - Historico de Tarefa - Permite que seja controlado a quantidade de tarefas a serem salvas no sistema e como arquivo na pasta .\Reports\Cachê. Neste caso o parâmetro é global, então ele define a quantidade estipulada para cada rotina que usa o metodo de tarefas.
 - Parâmetro Iniciar Automaticamente - Esse parâmetro deve estar desmarcado sempre, este parâmetro foi criado para questões internas da SOFTDATA;
 - Parâmetro Parar em caso de erro - Como o próprio nome diz, se esse parâmetro estiver marcado irá parar o SERVERAPP caso ocorra um erro.
 
OBS: Ao definir o parâmetro Histórico Tarefa, certifique-se que nenhuma rotina em que ele afetará, é necessario ter mais arquivos do que o definido no MNM050, caso ao contrario utilize a configuração individual através da rotina MNM010, que permite limitar os arquivos e tarefas geradas, apenas na rotina escolhida.

4 - Testando a emissão do relatório
Por favor siga os procedimentos abaixo:
- 1 - Coloque o ServerApp.exe para rodar no servidor clicando duas vezes sobre o programa;
 - 2 - Entre no WSGE e executar em vídeo ou em arquivo o relatório convertido;
 - Se desejar poderá entrar na pasta \WSGE\Reports para obter o arquivo gerado.
 
5 - Telas do sistema para o gerenciamento do controle de tarefas
MNM048 - Acompanhamento de Tarefas
Essa tela tem o objetivo de apresentar os dados referente as tarefas executadas para um determinado período, programa, usuário e status;
![]() MNM048 - Acompanhamento de Tarefas  | 
- Campo "Data" - Informe esse campo para definir o intervalo de datas da consulta;
 - Campo "Programa" - Informe esse campo para filtrar as tarefas para o programa informado;
 - Campo "Usuário" - Informe esse campo para filtrar as tarefas para o usuário informado;
 - Campo "Status" - Informe esse campo para filtrar as tarefas com o Status selecionado;
 - Campo "Mensagem" - Apresenta detalhes da execução da tarefa selecionada na lista;
 - Através dos botões de eliminação é possível eliminar um ou mais registros da lista;
 - Através dos botão "Detalhes" abrirá a tela abaixo;
 
Botão "Detalhes" - MNM048
Essa tela apresenta dados referente a execução da tarefa.
Aba Detalhes
- O Botão "Cancelar Tarefa" permite cancelar a tarefa durante sua execução;
 - O Botão "Arquivo" permite a abertura do arquivo PDF gerado na tarefa.
 
![]() Aba Detalhes  | 
Aba Parâmetros
Nessa aba é possível visualizar os parâmetros informados na rotina executada, no exemplo abaixo está sendo apresentado os parâmetros informados na rotina FTL053 - Histórico de Faturamento por Cliente;
![]() Aba Parâmetros  | 
Aba Multiseleção
- Nessa aba é possível visualizar os parâmetros selecionados em multiseleção;
 - Coluna Parâmetro - Indica o parâmetro da multi seleção, por exemplo "Seleionar Filial";
 - Coluna Valor - Indica o valor do parâmetro acima, por exemplo "Sim";
 - Coluna Código - Indica o valor selecionado, por exemplo na Código 1 da tela Seleção de Filiais;
 - Coluna Descrição - Indica a descrição do código selecionado;
 
![]() Multiseleção  | 
Aba Configuração de Saída
Nessa aba é possível visualizar os parâmetros informados na configuração de saída da tarefa executada:
![]() Aba Configuração de Saída  | 
Aba Erros
Nessa aba é possível visualizar os que ocorreram durante a execução da tarefa;
![]() Aba Erros  | 
MNM049 - Acompanhamento de Tarefas em Execução
- Essa tela permite a consulta de todas as tarefas em execução, permitindo também filtrar por Status;
 - Botão "Parar Atualização" - Esse botão permite que você pare a atualização da lista de tarefas, após clicar nesse botão o mesmo irá mudar para "Continuar Atualização" e ao clicar nele o mesmo retoma a atualização da lista;
 - Botão "Detalhes" - Esse abrirá as mesmas telas descritas no tópico Botão "Detalhes" - MNM048;
 
![]() MNM049 - Acompanhamento de Tarefas em Execução  | 
6 - Configurando a altura da margem superior e inferior no relatórios em DR
Caso surja a necessidade de alterar a altura das margens superior e inferior, deve-se configurar os parâmetros abaixo:
#MARGEM REPORTS SUPERIOR: XXXX
#MARGEM REPORTS INFERIOR: YYYY
Onde X e Y iniciam na coluna 27 e são definidos na unidade de milímetros.
As configurações são usadas tanto a nível geral (MENU.INI na pasta PROGRAMS) como a nível de rotina (relatório a ser utilizado). Será utilizada a seguinte lógica para determinar os valores a serem utilizados:
- Pesquisa no arquivo CFG da rotina de relatório. Se existir o parâmetro, o mesmo será usado.
 - Caso não encontre o parâmetro no arquivo CFG da rotina de relatório, será pesquisado no arquivo MENU.INI. Se encontrar, o valor será utilizado.
 - Se não encontrar parâmetros nas pesquisar acima, será utilizada a margem definida internamente no DR.
 
1º Exemplo de parametrização:
MENU.INI
#MARGEM REPORTS SUPERIOR: 15
#MARGEM REPORTS INFERIOR: 15
Neste caso todos os relatórios terão as margens com 15 milímetros.
2º Exemplo de parametrização:
FTL053.CFG
#MARGEM REPORTS SUPERIOR: 5
#MARGEM REPORTS INFERIOR: 5
MENU.INI
#MARGEM REPORTS SUPERIOR: 15
#MARGEM REPORTS INFERIOR: 15
Neste exemplo, ao executar o relatório FTL053 será utilizado a altura de 5 milímetros. Para os outros relatórios, será utilizada a altura de 15 milímetros, definida no arquivo MENU.INI.
7 - Configurando o logotipo em relatórios
Caso surja a necessidade de alterar o logotipo que é apresentado nos relatórios, usar o seguinte arquivo de imagem:
WSGEe\AppHtml\Images\LogoEmpresaRelatorio.png
8 - SchedulerApp
O SchedulerApp possui um arquivo .exe localizado na pasta WSGE\Programs, e deve ser executado em conjunto com o ServerApp.
 Sua função é verificar se há tarefas agendadas no sistema, como por exemplo o processo de Preço Médio (CEP003).
 Além disso, o SchedulerApp também pode executar tarefas criadas com comandos SQL. 
Em resumo, o SchedulerApp é o responsável por solicitar ao ServerApp a execução de todas as tarefas agendadas na rotina MNM051 que estejam com a situação igual "Ativo". 

Equipe HelpDesk SOFTDATA
Este artigo foi útil?
Que bom!
Obrigado pelo seu feedback
Desculpe! Não conseguimos ajudar você
Obrigado pelo seu feedback
Feedback enviado
Agradecemos seu esforço e tentaremos corrigir o artigo






