Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LHR

Quickreport

Recommended Posts

Eu novamente :mellow:

Tentei pesquisar antes de vir perguntar, mas realmente nao consegui realizar essa tarefa.

Meu problema é o seguinte:

Possuo um relatório de Quickreport, que será dado o Preview e entao quando a pessoa clicar em IMPRIMIR, ele vai automaticamente (sendo como uma segunda impressão), trocar a impressora (escolher a impressora que gera PDF's) e mandar imprimir tambem.

Eu consegui fazer a seleção de impressora e tudo mais.

Porem nao consigo fazer com que ele imprima essa segunda vez.

O código está assim:

 

procedure TFrmRelConsertoRel.QuickRep1AfterPrint(Sender: TObject);
var
	impressoras : TStrings;
	cont, printindex : integer;

begin
  impressoras := Printer.Printers;
  For cont:=0 to impressoras.Count-1 Do
	If impressoras[cont] = '\\servidor\PDFCreator' then printindex:=cont;

  while QuickRep1.QRPrinter.Status <> mpBusy do
  begin
	with QuickRep1.PrinterSettings do
	  if PrinterIndex <> printer.printerIndex then
		PrinterIndex := printindex;

	QuickRep1.QRPrinter.Print;	///PROVAVEL ERRO, ESTÁ AQUI?!

  //enviaemail;
  end;
end;

No entanto não estou conseguindo.

O que pode estar errado?

 

Obrigado desde já.

Até mais!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade ele nao imprime a segunda vez.

Apenas a primeira.

Ae tentei agora fazer o seguinte, colocar isso no BeforePrint:

impdefault:=QuickRep1.PrinterSettings.PrinterIndex;

  impressoras := Printer.Printers;
  For cont:=0 to impressoras.Count-1 Do
	If impressoras[cont] = '\\servidor\PDFCreator' then printindex:=cont;

	with QuickRep1.PrinterSettings do
	  if PrinterIndex <> printer.printerIndex then
		PrinterIndex := printindex;

	 QuickRep1.QRPrinter.Print;

E isso no AfterPrint:

 

QuickRep1.PrinterSettings.PrinterIndex := impdefault;
  QuickRep1.QRPrinter.Print;

Ae dessa forma, ele imprime na impressora secundária apenas, e dá um erro de EXCEPTION ADRESS...etc

Complicado =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava lendo seu problema aqui e pensei no seguinte... não seria mais interessante você controlar o evento de impressão num botão em separado, desabilitando a impressão direta do quickreport e colocando neste botão (que poderia ser um form para impressão desde relatório específico) os comandos para imprimir nos dois formatos, retirando isto de dentro dos eventos do quickreport? Seria algo do tipo:

 

1) Preview

2) Clica no botão especial

3) Imprime com impressora 1;

4) Seleciona impressora 2;

5) Reimprime com impressora 2

 

Não sei se existe maneira de você imprimir direto em 1 só clique dentro do quickreport em duas impressoras.. lembro que em casos assim eu usava, num passado distante, o Fortes Report... e nele eu habilitava os filtros e a pessoa imprimia o mesmo relatório nos formatos que quizesse, dispensando uma impressão como esta que quer fazer...

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.