<< Click to Display Table of Contents >> Navigation: Exportando Para Web > Integração com aplicações web |
O TaskReport permite duas maneiras de executar os relatórios no navegador web
1 - Empresas (softhouse) que possuem uma aplicação web (não importa em qual linguagem o sistema foi desenvolvido), e deseja executar a partir da sua aplicação os relatórios criados e publicados na web
Nesse cenário, voce utiliza o taskreport desktop para criação do relatório, e uma vez, pronto, voce publica o relatorio, enviando para o seu servidor web os arquivos correspondentes (rtm, xml)
a partir da sua aplicação, voce irá gerar um insert na tabela taskreportweb_token, e abrir uma pagina (nova guia ou frame dentro da sua aplicação) passando como parametro o token gerado, e o id do relatório
como o token e gerado pela sua aplicação, o relatório e executado de forma segura, pois mesmo que o usuario final capture essa url, ele não irá conseguir executar novamente o relatorio, por fora do seu sistema.
pois o token, e temporário, nesse modo, não existe autenticação no servidor web de relatórios, pois o próprio token gerado servirá como autenticação.
Da mesma forma que a versão desktop permite que sejá acionado relatorios em diversos ponto da sua aplicação, na integração com a versão web, será feita da mesma forma,
a diferença básica, e que o relatório não é executado por funções existentes na dll, e sim por troca de informações na tabela de token.
2 - Empresas (softhouse) que possuem uma aplicação desktop, e deseja que alguns relatórios, seja disponibilizado para execução pela web.
Nesse cenário, você precisa disponibilizar o acesso a alguns relatórios (normalmente relatórios estatísticos, gerenciais) para um ou mais usuários.
Nesse modo, voce precisa que ao acionar o endereço do servidor web, seja solicitado um login e senha, e de acordo com o usário logado, exiba a lista de relatórios que o mesmo tem pemissão.
Aqui normalmente somente alguns relatórios irá ser publicado na web, pois relatórios operacionais, como emissão de nota, boletos, recibos, contratos,etc,
serão executados diretamente pela sua aplicação desktop, usando a integração normal via taskreport.dll
exemplos de integração
executar relatório pelo ID
gere um identificador único (guid, ou número randômico)
pegue o valor gerado e gere um insert na tabela TASKREPORTWEB_TOKEN
ex: IMPRIMIR O RELATORIO COM ID 6 SOMENTE 1 VEZ.
insert into TASKREPORTWEB_TOKEN(token,idreport,PRINTQUANTITY)
values ('4FE2D69E-2349-41E0-9590-5B29D1A8E3D0',6,1)
após o insert, abrir uma página com o endereco do servidor web passando o parametro do token gerado
ex1:
http://relatorio.sitecliente.com.br:9090/?token=4FE2D69E-2349-41E0-9590-5B29D1A8E3D0
ex 2: LISTA TODOS OS RELATORIOS DO MODULO PARA QUE O USUARIO POSSA ESCOLHER O RELATORIO, E ENTAO IMPRIMIR
gere um novo GUID
insert into TASKREPORTWEB_TOKEN(token,MODULENAME,PRINTQUANTITY)
values ('4FE4569E-5487-41E0-5890-5B2571A855D0','FINANCEIRO',1)
http://relatorio.sitecliente.com.br:9090/?token=4FE4569E-5487-41E0-5890-5B2571A855D0
OBS: o endereço
relatorio.sitecliente.com.br pode ser substituido pelo ip válido do servidor web
se seu cliente possuir um site, voce pode criar um dns no gerenciador do site dele (mesmo que ele esteja hospedado em outro local)
e nesse dns, apontar para o ip (válido) do servidor do cliente.
se seu cliente não possuir um dominio, você pode fazer isso no dominio da sua softhouse
ex:cliente1.sistesuaempresa.com.br
para cada cliente voce cria um dns apontando para o ip do cliente.
em último caso (o mais deselegante de todos), você pode usar um gerenciador de dns, como no-ip, vode pode usar essa solução,
se o seu cliente não possua um ip fixo.
campos da tabela de token, a tabela de token so é usada no modo 1 explicado acima.
TOKEN |
campo chave da tabela, deve ser gerado um valor unico, sugerimos gerar um GUID,
|
MODULENAME |
se informado, vai listar os relatorios do módulo
|
IDREPORT |
se informado, vai executar o relatorio pelo ID, pelo menos o MODULO ou ID deve ser informado.
|
PARAMETER |
informe os parametros de filtro iniciais, utilize como base o nome dos PARAMETROS criados no relatorio, com seu valor subsequente
|
informe o email, isso será usado como valor inicial para email destino, quando o usuario gerar o relatorio, e clicar no botão de enviar email
|
|
EXTENSION |
extensão do arquivo gerado para envio de email podendo ser PDF, XLS, DOC caso não seja informado, será assumido PDF
|
EMAILSUBJECT |
assunto do email, também será usado como texto inicial ao enviar o email.
|
EMAILBODY |
corpo do email, mesmo funcionamento do campo assunto
|
AUTOMATICSENDER |
envia para o preview automaticamente, não solicitando os dados de filtro, informe 1, so use esse campo, se voce passou todos os parametros de filtros
|
PRINTERNAME |
nome da impressora, isso so pode ser utilizado caso o taskreport server, esteja rodando no servidor local do cliente, e o servidor tenha acesso a impressoras da rede local e voce deseja que ao imprimir, seja enviado direto para uma impressora da rede. so use se voce possui uma aplicação web, mas o servidor do cliente está local, dessa forma voce pode redirecionar um relatório para uma impressora específica.
|
PRINTQUANTITY |
indica a quantidade de vezes que o token poderá ser utilizado para imprimir o relatorio, caso não seja informado será assumido 1 uma vez executado, ele decrementa essa colunca, ao chegar em 0 (zero) o token e excluído automaticamente da tabela
|
MONDAY |
os campos de segunda a domigo, se informado 1, indica que o relatorio dessa tabela será referente a um relatorio que deverá se executado de forma programada para utilizar o recurso de agendamento, voce deve la no taskreport na opção de exportar relatório, na guia configuração do sevidor, marcar o campo ativar agendamento uma vez feito isso, envie o novo taskreportserver.ini para o servidor web. quando essa chave está ativa, o taskreportserver ficará monitorando essa tabela em busca de registros de relatorios, ao encontrar, o mesmo será gerado e enviado por email portanto alem de informar o dia da semana, deverá também informar todos os campos de email, e os parametros de filtro corretos. pois como o relatorio e disparado de forma automática, não pode existir nenhuma solicitação de filtro para o usuário.
|
TUESDAY |
se vai enviar na terça
|
WEDNESDAY |
se vai enviar na quarta
|
THURSDAY |
se vai enviar na quinta
|
FRIDAY |
se vai enviar na sexta
|
SATURDAY |
se vai enviar no sabado
|
SUNDAY |
se vai enviar no domingo
|
TIMESHIPPING |
hora de envio ex 22:00
|
STARTDATE |
data inicio do envio
|
ENDDATE |
data final do envio
|
SCHEDULE |
informe 1, indicando que o registro e de agendamento, e por esse campo que é feito a localização, se informado 1, voce deve informar tambem o dia, data inicio, data final e a hora nos campos correspodentes
|
LASTRUN |
data e hora da ultima execução (quando em agendamento)
|
USE_PASSWORD |
informe 1 caso o token seja executado, mas deseja que o taskreport verifique se o mesmo tem permissão para execução
|
ADMIN_REPORT |
informe 1 para que seja acionado a tela para configuração dos usuários (cadastro de grupos/usuarios/liberacao de relatorios) nao usar em conjunto com o USE_PASSWORD
|
ADMIN_USER |
nome do usuario administrador, usar em conjunto com o ADMIN_REPORT
|
ADMIN_PASSWORD |
senha do administrador, usar em conjunto com o ADMIN_REPORT
|
USER_GROUP |
informe o nome do GRUPO DE USARIOS, que ao executar o relatorio, sera verificado se o relatorio em execução pode ser executado pelo GRUPO informado
|
IDCLIENTE |
o taskreport permite separa relatorios de uma mesma base de dados para clientes diferentes ex: voce tem uma aplicação web, com varios relatórios padrôes, que são relatorios que podem ser utilizado por qualquer cliente, porem tem relatórios que são expecíficos de alguns clientes. aqui nessa coluna voce deverá passar o IDCLIENTE, esse mesmo valor informado em uma coluna de mesmo nome, la na tela de exportação dos relatorios.
relatorios personalizados, sao salvos no servidor em uma subpasta dentro da pasta RTM com mesmo nome da coluna IDCLIENTE ex tomando como exemplo o servidor web foi instalado na pasta c:\taskweb
o relatorio sera carregado da seguinte pasta c:\taskweb\rtm\cliente001\00050.rtm
|
EMAIL_SOURCE_SERVIDOR |
usado no envio automatico do email, ex smtp.gmail.com
|
EMAIL_SOURCE |
usado no envio automatico do email, ex emailcliente@gmail.com
|
EMAIL_SOURCE_SENHA |
usado no envio automatico do email,
|
EMAIL_SOURCE_PORTA |
porta do envio de email
|
EMAIL_SOURCE_SSL |
ssl informe 1,2,3 (voce deverá testar um desses valores o envio do email) normamente o valor 3 (automatico) e o que funciona com a maioria dos servidores de email
|
WHATSAPP_FONE |
se informado o fone, ao exibir o relatorio, será ativado uma guia para envio do relatorio pelo whattsapp
|
WHATSAPP_TEXT |
se informado o fone e o texto, ao exibir o relatorio, será ativado uma guia para envio do relatorio pelo whattsapp
|
PATHFILE |
os relatórios são sempre salvos em uma pasta de cache, queé excluido ao finalizar o relatorio, se voce deseja manter uma copia salva do relatorio em outro local e so informar aqui o caminho completo (path e nome do arquivo) após a criação do relatório, o arquivo será copiado para o caminho informado. caso seja informado, o taskreport também irá usar esse arquivo para enviar para o email, e não o relatorio criado automático na pasta de cache. usando esse campo, voce pode personalizar o nome do arquivo.
|
AUTOMATICEMAILSENDER |
informando 1, ao gerar o relatorio, ele será enviado aumaticamente pelo email ele é usado quando o usuário gera o relatorio, e ja tem na tabela de token todos os parametros para geracao de relatorio, como envio voce precisa informar o ID do relatorio, parametros de filtro, e todos os campos de email. não confundir com os relatorios que são enviados por email por agendamento, que não precisa desse campo, pois relatórios agendados sempre vão ser enviados por email idependente dessa coluna.
|
HIDEFILETYPE |
informe 1 para ocultar a opcao de escolher o tipo de arquivo na tela de filtro pelo usuario final.
|