Visual Basic - VB6 con Crystal Report 9 ( Original y Duplicado )

Life is soft - evento anual de software empresarial
 
Vista:

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por Claudio (29 intervenciones) el 26/03/2021 15:53:11
Hola gracias a todos de antemano, tengo una aplicación en VB6 con crystal report 9 , y lo que quiero hacer es imprimir 2 copias con el report.PrintOut false,2 pero que en la primera copia salga ORIGINAL y en la segunda copia salga DUPLICADO.
Hay alguna forma de hacerlo ?
Aca pongo un ejemplo sencillo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Option Explicit
 
Dim Report          As CRAXDRT.Report
Dim CRapp           As New CRAXDRT.Application
Private WithEvents oSection As CRAXDRT.Section
Dim Pic1            As OLEObject
Dim i               As Integer
 
 
Private Sub Form_Load()
 
    Set Report = CRapp.OpenReport(App.Path + "\report1.rpt")
    Report.PrintOut False, 2
 
End Sub


------------------------------------------------------------------------------------------

O en su defecto que el viewer me muestre dos copias ( que no se como hacerlo )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Option Explicit
 
Dim Report          As CRAXDRT.Report
Dim CRapp           As New CRAXDRT.Application
Private WithEvents oSection As CRAXDRT.Section
Dim Pic1            As OLEObject
Dim i               As Integer
 
 
Private Sub Form_Load()
 
    Set Report = CRapp.OpenReport(App.Path + "\report1.rpt")
    CrystalActiveXReportViewer1.DisplayToolbar = True
    CrystalActiveXReportViewer1.ReportSource = Report
    CrystalActiveXReportViewer1.ViewReport
    (aca no se como hacer dos copias , si lograra hacer 2 pagina lo manejo con el nro de pagina)
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de gilman
Val: 596
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por gilman (325 intervenciones) el 27/03/2021 09:25:06
Me da que la única forma de hacer eso es usar dos reports, uno para el original, y otro para el duplicado, serían básicamente iguales salvo que en el duplicado pondrías la marca de DUPLICADO, o bién le pases un parámetro la primera vez valiendo NULL y la segunda con el valor a 'DUPLICADO' y pongas el parametro donde deba aparecer.
Otra forma, quizás mas compleja, es usar el mismo report, pero que obtenga los datos por duplicado, una con un campo a NULL y otra con ese campo a DUPLICADO , la ventaja de este método es que te permitirá tener un solo report para su mantenimiento, y además podrías mostrarlo en el reportviewer, aunque no le veo mucho sentido a esto último, salvo para hacer la impresión desde el viewer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por Claudio (29 intervenciones) el 27/03/2021 22:44:34
Gracias por tu ayuda Gilman , lo tengo echo como la primera opcion y el texto original/duplicado lo paso como formula , pero es un cliente medio jodido y no quiere dos ventanas , la segunda opcion no la entendi , usar el mismo reporte que obtenga los datos por duplicado.
Tendras algun ejemplo como para verlo ?
POrque si queda en la misma ventana con 2 pagina (la primer pagina original y la sengda pagina duplicado) es la que me serviria .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 596
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por gilman (325 intervenciones) el 28/03/2021 09:14:51
Supongamos que la select de carga de datos en el rpt es
1
2
SELECT LISTACAMPOS FROM TABLAS
WHERE TABLAS.CAMPOS = VALORES
Entonces:
1
2
3
4
5
SELECT '' TIPO, LISTACAMPOS FROM TABLAS
WHERE TABLAS.CAMPOS = VALORES
UNION
SELECT 'DUPLICADO' TIPO, LISTACAMPOS FROM TABLAS
WHERE TABLAS.CAMPOS = VALORES
te devolverá los registros duplicados, ordena primero por el campo TIPO y luego por el resto de campos que tengas en tu ordenación
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por Claudio (29 intervenciones) el 29/03/2021 14:10:40
Gracias GIlman esta semana pruebo y te cuento !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de gilman
Val: 596
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

VB6 con Crystal Report 9 ( Original y Duplicado )

Publicado por gilman (325 intervenciones) el 29/03/2021 14:35:09
En vez de ordenar, se me ha ocurrido que mejor agrupes por el campo TIPO, y pongas un salto de página en el pie de grupo salvo en último píe de grupo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar