| ID | Asunto | Fecha | Nick | |
| 41245 | asignar nombre de documento a cola de impresion desde crystal report | 12/05/08 16:18 | mik-el | |  |
Quiero verificar que el documento que mande a la impresora con rpt.PrintToPrinter realmente se haya generado y se este imprimiendo.
Con la libreria de System.Printing.dll del framework 3.0 estoy recuperando la cola de impresión y los jobs que tiene la cola. El Problema es que todas las impresiones desde Crystal Reports salen con el nombre "Document". Como puedo hacer para ponerle nombre al reporte.
Estoy haciendo esto RPT.SummaryInfo.ReportComments = SOLI & " " & REPORTE_NOMBRE RPT.SummaryInfo.ReportTitle = SOLI & " " & REPORTE_NOMBRE RPT.SummaryInfo.ReportSubject = SOLI & " " & REPORTE_NOMBRE RPT.SummaryInfo.ReportAuthor = SOLI & " " & REPORTE_NOMBRE
RPT.PrintOptions.PrinterName = IMPRE
If REPDIR = True Then If Vista = "I" Then 'Tengo que encontrar el Printqueue para poder buscar dentro de ella si ya se genero el reporte PQT(0) = EnumeratedPrintQueueTypes.Local PQC = LPS.GetPrintQueues(PQT) PQ = Nothing For Each PQ In PQC PQ.Refresh() If PQ.FullName = IMPRE Then 'ya tengo la Printqueue que necesito, no tengo que hacer nada más Exit For End If Next If PQ.FullName <> IMPRE Then 'No se encontro la impresora que se necesita o el nombre de la impresora 'no esta correctamente definido en la PC MENSAJE = "#|Error de nombre de impresora" STATUS_IMPRESION = "E" Exit Sub End If 'Mando a generar el reporte a crystal reports y tengo que verificar que el reporte se genere Dim NUM As Integer num = PQ.NumberOfJobs RPT.PrintToPrinter(1, False, 0, 0) 'Aqui tenemos que verificar si el documento ya esta siendo quenerado en la cola. Dim INICIO As Date = Now Dim diff As TimeSpan PJC = PQ.GetPrintJobInfoCollection PJ = Nothing Do While 1 = 1 diff = Now - INICIO If diff.TotalSeconds >= 300 Then 'Se cumplio el tiempo de espera y no se ha generado el reporte Exit Do End If PQ.Refresh() For Each PJ In PJC If InStr(SOLI, PJ.Name, CompareMethod.Text) <> 0 Then Exit Do End If If InStr(SOLI, PJ.JobName, CompareMethod.Text) <> 0 Then Exit Do End If Next If PQ.NumberOfJobs <> NUM Then 'Ya se genero el documento Exit Do End If Loop
|