Para tal, nós precisamos setar certos valores nos parâmetros de impressão antes de rodar o relatório.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Variables
PrintJobSettings    printJobSettings;
ReportRun           myReportRun;
 
...
 
// Recuperando os parâmetros do relatório
printJobSettings = myReportRun.printJobSettings();
 
// Configurando nossos parâmetros
printJobSettings.setTarget(PrintMedium::File);
printJobSettings.preferredTarget(PrintMedium::File);
 
printJobSettings.format(PrintFormat::PDF);
printJobSettings.preferredFileFormat(PrintFormat::PDF);
 
printJobSettings.fileName("c:\\attachment.pdf");
 
// Salvando os valores
myReportRun.unpackPrintJobSettings(printJobSettings.packPrintJobSettings());
 
// Rodando o relatório
myReportRun.run();

Antes de rodar o relatório, podemos configurar os valores da query:

1
2
3
4
5
6
7
8
query = myReportRun.query();
qbds = query.dataSourceNo(1);
 
qbds.range(1).value(_custTable.CustAccount);
qbds.range(2).value("");
qbds.range(3).value(queryvalue(NoYes::Yes));
 
myReportRun.run();

Nota: Para usar uma impressora PDF como o “PDFCreator”, simplesmente configure o nome do dispositivo como:

1
myReportRun.deviceName("PDFCreator");

Fonte: http://olondono.blogspot.com.

[]s
Pichler