Sergio Anacleto

*RESOLVIDO *- Na Impressão Passar Paramentro

7 posts in this topic

Ola Pessoal!!
     Através da dica do Adriano Boller, acessei [ Projeto / Style ] e estou realizando as devidas traduções para o Português do Preview, até ai tudo bem!!

Agora qual a minha dúvida, esta configuração ficará para todo o Projeto, mas porém preciso REGISTRAR algumas impressões, no meu caso não todas. O meu cliente precisa saber qdo foi impresso um determinado RELATÓRIO, pois bem, precisaria passar um parâmetro pra o Print Preview, pois ao Clicar (CLICK Print DOC)  ele fazer o devido IF, para verificar a origem da impressão, acredito que o melhor seria realmente um parâmetro tipo Id_Janela.
Desde já Agradeço a todos.

 

tela1.png

Share this post


Link to post
Share on other sites

Não daria pra usar uma variável GLOBAL? Tipo o conteúdo dela vai com a origem e depois de gerar o relatório limpa o conteúdo.

Share this post


Link to post
Share on other sites
16 horas atrás, Cassiano disse:

Não daria pra usar uma variável GLOBAL? Tipo o conteúdo dela vai com a origem e depois de gerar o relatório limpa o conteúdo.

Opa Cassiano, tentei mas não foi possível pois é como se fosse um "componente externo" ou seja não reconhece nenhuma variável global!!

Share this post


Link to post
Share on other sites

Teria como vc fazer via troca de arquivo, banco de dados ou memória, o princípio é o mesmo, testei aki com via memória e funciona em termos... mas é arriscado pq o conteúdo da memória pode mudar, o mais garantido seria troca de arquivo e/ou campo no banco de dados.

Talvez tenha outra forma, mas como sou iniciante não achei.

Via memória vc passa o conteúdo pra memória da seguinte forma:

// antes de imprimir
ToClipboard( sVariavel )

// No Internal Component do Print preview pra capturar vc faz assim:
IF ClipboardFormat(cfText) THEN
	Info(Clipboard()) // q fiz mostrar um info com o conteúdo passado anteriormente.
END

Essa forma é arriscada pq se no meio do processo o usuário deixar o Print Preview aberto abrir um  navegador ou editor e pressionar um CTRL+C em algo, já ferra, coloquei aki mas pra efeito didático.

O melhor ao meu ver (caso não tenha outra alternativa) seria campo no BD ou via troca de arquivo tipo criar um arquivo INI com uma chave pra ter a informação q vc quer.

Ai antes de imprimir vc seta o arquivo INI e lá no Print Preview, caso precise da informação Lê o arquivo INI. Se for campo no BD seria setar o campo e ler ele depois.

Essa forma parece mais segura.

Share this post


Link to post
Share on other sites

Pois então pensei nisso tbm... Mas como vc disse, é arriscado temos 16 usuários ao mesmo tempo.... mas vou usar uma alternativa de montar uma janela de impressão e ali faço como desejo... mas valeu... 

OBG!!

1 person likes this

Share this post


Link to post
Share on other sites

Talvez não tenha entendido muito bem a sua necessidade e também nunca importei para o projeto o print preview, mas da maneira tradicional, passando o parâmetro pelo iPrintReport e no relatório tratar o parâmetro para saber se registra ou não, poderia lhe auxiliar em algo?

iPreview()

iInitReportQuery(RPT_ContasReceber_Cliente,gsCNPJAtivo,EDT_DataInicial,EDT_DataFinal)

iPrintReport(RPT_ContasReceber_Cliente,EDT_DataInicial,EDT_DataFinal)

 

1 person likes this

Share this post


Link to post
Share on other sites

///linha de código da impressão

iEndPrinting() // Apos
IF iDocumentPrinted() = True THEN   // Registra se foi o não impresso...

      Info("Impresso")

else
      Info("Nãoooo Impresso")
END

2 people like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now