IR DIRETO PARA A IMPRESSORA CRYSTAL REPORTS

JCM0867 03/09/2015 12:15:07
#450952
Olá pessoal.

Uso o crystal reports 13.0.14

Tenho seguintes comandos:

...
cryRpt.Load(RaizSistema + [Ô]\Reports\[Ô] + RelatorioImpressao)
CrystalReportViewer1.ReportSource = cryRpt
...

só que assim ele abre antes o relatório na tela, aí tem que clicar em imprimir
Independente de mostrar o relatório da tela ou não, já fosse direto pra impressora

acredito que tem que mudar essa linha [Ô]CrystalReportViewer1.ReportSource = cryRpt[Ô]

tem como?
NICKOSOFT 03/09/2015 13:07:08
#450954
em C#, mas já ajuda
fonte: http://www.codeproject.com/Articles/12280/Choosing-a-printer-when-printing-from-Crystal-Repo
  
//Open the PrintDialog
this.printDialog1.Document = this.printDocument1;
DialogResult dr = this.printDialog1.ShowDialog();
if(dr == DialogResult.OK)
{
//Get the Copy times
int nCopy = this.printDocument1.PrinterSettings.Copies;
//Get the number of Start Page
int sPage = this.printDocument1.PrinterSettings.FromPage;
//Get the number of End Page
int ePage = this.printDocument1.PrinterSettings.ToPage;
//Get the printer name
string PrinterName = this.printDocument1.PrinterSettings.PrinterName;

crReportDocument = new ReportDocument();
//Create an instance of a report
crReportDocument = new Chart();
try
{
//Set the printer name to print the report to. By default the sample
//report does not have a defult printer specified. This will tell the
//engine to use the specified printer to print the report. Print out
//a test page (from Printer properties) to get the correct value.

crReportDocument.PrintOptions.PrinterName = PrinterName;


//Start the printing process. Provide details of the print job
//using the arguments.
crReportDocument.PrintToPrinter(nCopy, false, sPage, ePage);

//Let the user know that the print job is completed
MessageBox.Show([Ô]Report finished printing![Ô]);
}
catch(Exception err)
{
MessageBox.Show(err.ToString());
}
JCM0867 03/09/2015 14:32:10
#450959
coloco:
cryRpt.PrintToPrinter(1, True, 1, 1) ou cryRpt.PrintToPrinter(1, False 1, 1)

dá esse erro:
An unhandled exception of type [ô]CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException[ô] occurred in CrystalDecisions.CrystalReports.Engine.dll

Additional information: Valores de parâmetro ausentes.
NILSONTRES 03/09/2015 15:52:00
#450967
cryRpt.Load(RaizSistema + [Ô]\Reports\[Ô] + RelatorioImpressao)
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.PrintReport()
F001E 03/09/2015 17:27:50
#450972
Abandonei o Crystal Reports agora vou de iTextSharp. Para montar os relatório é como programar em Clipper GoTo(x,y) mas pelo menos não da pau quando muda de versão do VS ou até mesmo do Windows.
JCM0867 03/09/2015 17:51:02
#450973
NILSONTRES
Citação:

:
cryRpt.Load(RaizSistema + [Ô]Reports[Ô] + RelatorioImpressao)
CrystalReportViewer1.ReportSource = cryRpt
CrystalReportViewer1.PrintReport()


Esses comandos eu conheço e roda bem

a terceira linha dá erro:
Valores de parametros ausente

Só que esses comandos fora a ultima linha é o que eu sempre usei, só que eu gostaria de imprimir direto sem passar pela pré visualização na tela.

Citação:

:
Abandonei o Crystal Reports agora vou de iTextSharp. Para montar os relatório é como programar em Clipper GoTo(x,y) mas pelo menos não da pau quando muda de versão do VS ou até mesmo do Windows.


eu nunca tive problemas com crystal, uso ele a mais 12 anos, só não estou achando o comando correto para imprimir direto na impressora
lembro que no Crystal 8.5 tinha um comando pra isso lá no VB6, só que agora é um pouco diferente no VBNET+Crystal 13
NILSONTRES 03/09/2015 18:44:42
#450976
Citação:

a terceira linha dá erro:


CrystalReportViewer1.PrintReport()
Exatamente nela é que chama o relatório direto sem pre visualização.
Esse é o comando que imprimi direto, embora eu não carrego da mesma forma sua, eu compilo junto.
JCM0867 07/09/2015 10:51:27
#451107
mais alguma dica já que CrystalReportViewer1.PrintReport() não funciona devido meu método de programação?
VINNIFERRAZ 08/09/2015 13:05:47
#451130
crystalreports crtotalvendas = new crystalreports ();
crtotalvendas.Refresh();
crtotalvendas.PrintToPrinter(1, true, 0, 0);
é em c#
eu ja fiz assim e funcionou normalmente usando um ds não tipado
JCM0867 09/09/2015 22:52:34
#451199
Já deram essa solução acima

coloco:
cryRpt.PrintToPrinter(1, True, 0, 0) ou cryRpt.PrintToPrinter(1, False, 0, 0)

dá esse erro:
An unhandled exception of type [ô]CrystalDecisions.CrystalReports.Engine.ParameterFieldCurrentValueException[ô] occurred in CrystalDecisions.CrystalReports.Engine.dll
Additional information: Valores de parâmetro ausentes.
VINNIFERRAZ 10/09/2015 09:45:11
#451210
sim eu vi, mas a solução tinha false 1 1 ou true 1 1
esse erro ai é algum parametro que não está sendo passado no momento da impressão direta, o crystal report nao vai imprimir o nome do parametro na folha, só imprime se tiver o dado. Só pode ser isso, pq o comando é esse mesmo
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas