P_ExecutaModulos

<< Click to Display Table of Contents >>

Navigation:  Funções da DLL >

P_ExecutaModulos

Public Declare Function P_ExecutaModulos Lib "TaskReport.dll" (ByVal NomeDoModulo As String, ByVal GrupoUsuarios As String, ByVal Filtro As String, ByVal InformacaoAdicional As String, ByVal ArquivoINI As String) As Boolean

 

função auxiliar

 

Public Sub TR_ExecutaModulos(ByVal NomeDoModulo As String, Optional ByVal GrupoUsuarios As String = "", Optional ByVal Filtro As String = "", Optional ByVal InformacaoAdicional As String = "", Optional ByVal ArquivoINI As String = "")

 

 

 

Essa função será a mais utilizada na sua aplicação,  ela é utilizada para executar um relatório, ou chamar uma lista de relatórios cadastros em um módulo,

e sem dúvidas a mais complexa, devido a variação de comportamento dos parametros passados. Siga com atenção as dicas abaixo,!

Parametros:

 

NomeDoModulo: tem vários comportamentos, depedendo de como a informação e passada,

 

Se passado o texto entre ( )

EX1: TR_ExecutaModulos  “(VENDAS),(NOTAS)”

EX2: TR_ExecutaModulos “(VENDAS)”

Ao executar será mostrado uma tela com uma lista dos relatórios que foram cadastrados no modulos informado, se apenas 1 relatório existir no módulo, a tela para seleção de relatórios não será mostrada, executando assim o relatório diretamente.

 

Se passado o texto entre { }

EX1: TR_ExecutaModulos “{10}”

EX2: TR_ExecutaModulos “{APELIDO}”

No primeiro exemplo será executado o relatório de ID =10, esse e o codigo sequencial dos relatórios criadoS, e pode ser visualizado na coluna ID no explorer, e único para cada relatório, porém um relatório criado na sua base de dados, e exportado para o cliente poderá não receber o mesmo ID, isso porque a quantidade de relatórios existentes no ambiente de desenvolvimento pode não ser a mesma existente no banco do cliente, passe o ID caso voce tenha controle sobre essa informação.

 

No segundo exemplo será executado o relatório onde foi definido o apelido ou identificação, definida la na tela do controle de acesso, opção Identificar Relatorio. Vamos tomar como exemplo com base sempre na impressão do relatorio com id=10

EX3: TR_ExecutaModulos “{10|1}”

O segundo parametro 1 indica o destino do relatório

Os valores possíveis são:

 

1 - Escolher destino no momento da impressão

 Será mostrado uma tela para que o usuário escola onde deseja imprimir o relatório, sendo possivel em video, tela ou em arquivo, ou email

 

clip0029

 

EX3: TR_ExecutaModulos “{10|1}”

 

2-Enviar direto para o video

 Enviando para o video o usuário ainda poderá salvar o relatorio em arquivo, ou enviar por email.

EX3: TR_ExecutaModulos “{10|2}”

 

3-Impressora

 Envia para uma impressora, você deverá informar o nome da impressora capturando isso da interface do seu sistema.

EX3: TR_ExecutaModulos “{10|3|EPSON LX300}”

   

 

4-Selecionar impressora

 Será listado as impressoras instaladas no windows, com opção de seleção, o taskreport sempre ira posicionar na ultima impressora utilizada no ultimo relatório impresso.

Isso e util para que seu relatório seja sempre enviado para impressora, e não para o video, porém caso na máquina do usuário tenha uma impressora virtual para salvar o arquivo em PDF, ele poderá gerar um pdf e visualizar o arquivo. Nesse caso deve-se remover esse tipo de impressora no equipamento do usuário.

 

 

clip0030

 

 

EX3: TR_ExecutaModulos “{10|4|}”

 

 

 

5-Impressora Fixa

         Opção redundante, mesmo funcionamento da opção 3, foi mantida para evitar problemas com versões antigas do taskreport, que podem eventualmente estar usando esse valor.

 

6-Impressora padrão do windows

 Captura e envia automaticamente para impressora padrão do windows.

EX3: ExecutaModulos “{10|6| }”

 

 

7-Arquivo

 Salva o relatorio em um arquivo no caminho informado.

EX3: ExecutaModulos “{10|7|C:\SISTEMA\ARQUIVO.PDF}”

São aceitos arquivos com as extensões: BMP, PDF, RTF, XLS, JPG, TXT, RAF, HTML

 

A extensão RAF e um formato especial lido apenas pelo taskreport, atravez da função P_AbreRelatorioArquivado, esse tipo de arquivo não poderá ser aberto por outro aplicativo, isso é util para relatórios confidenciais, onde você impede a visualização do seu conteudo por aplicativos externos.

 

8- Email

 Salva um arquivo PDF (sempre pdf!) e já chama tela para envio do email

EX3: ExecutaModulos ”{10|8|fulano@email.com.br|assunto|mensagem}

 

obs: a partir da versão 7, foi incluido a possibilidade de informar tambem o assunto e a mensagem inicial, esses dados servirá como valor inicial para a tela de envio de email abaixo, podendo o usuario final alterar

esses dados antes do envio.

 

clip0031

Demais parâmetros da função TR_Executamodulos

GrupoUsuarios  - se não informado irá ser enviado a variável vgPWGrupo, que será utilizada para verificar se o usuário tem permissão para executar o relatório.

Filtro – esse parâmetro você irá passar os filtros do relatório, concatenando o nome do campo usado no filtro (expressão where da consulta) com o valor do campo

Ex: TR_ExecutaModulos “{10|8|fulano@email.com.br}”, vgPwGrupo, “NUMPEDIDO|” & EDTNUMPEDIDO.TEXT & ”|CODLOJA|” & EDTCODLOJA.TEXT & “|”

Nesse exemplo, será executado o relatorio ID 10, passando os filtros necessários e já chamando a tela pra confirmacao do envio do email.

O taskreport quando le o relatório vai verificar se existe algum filtro com mesmo nome passado nesse parametro, os campos de mesmo nome ele irá capturar o valor e transportar para filtro.

Uma alternativa ao envio de email e a função P_ExecutaEmail

Dessa forma você poderá por exemplo estando em uma tela de pedido passar o valor do pedido atualmente em uso, como filtro inicial do relatório, enviando assim que seja necessário por parte do usuário informar novamente os filtros antes da impressão.

Passe o maximo de campos que você puder, dessa forma qualquer relatório que for chamado do modulo em questão poderá utilizar-se de algum filtro vindo da sua aplicação, não se preocupe quanto a ordem desses campos, pois a pesquisa e feita sempre com base nos filtros do relatorio, e para cada filtro e feito a comparação em todos os parametros enviados.

 

InformacaoAdicional – Mesmo conceito da função P_AbreGerador, portanto mantenha um padrão e passe valores iguais em ambas as funções.

ArquivoINI – já explicado nos comandos anteriores