none
Problema Crystal Reports - Cabecera A con su Detalle A y quiero Cabercera B con su Reporte B RRS feed

  • Pregunta

  • Buenas tardes amigos, estoy trabajando un reporte usando Crystal Reports y Visual 2012 C#.

    tengo mi seccion cabecera

    direccion, nombres, dni

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

    luego mi seccion detalle

    001 juan S/.10 

    002 Luis S/.15

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

    luego quiero que aparezca el total S/. 25

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

    luego Tipo pago por cada detalle

    tarjeta (en el caso: 001)

    efectivo (e el caso: 002)

    Así está el formato del documento que tengo que imprimir por favor ayudenme.

    martes, 12 de diciembre de 2017 22:41

Respuestas

  • Gracias por el tiempo Pablo, pero lo estoy haciendo de manera distinta, estoy creando un procedimiento almacenado pero con cursor(nose mucho de cursor, he estado revisando algunas paginas), tratando de moldear lo que quiero mostrar a la forma del documento que voy a impirmir, pero me sale error, y luego este procedimiento como lo añadiría al crystal report (como estoy usando cursor, no sabria como, por favor ayuden) ??:

     Msg 8114, Level 16, State 5, Procedure Clientes_Cursor_Walter, Line 63
    Error al convertir el tipo de datos varchar a numeric.

    mi Query es :

    alter PROCEDURE Clientes_Cursor_Walter
    @NPedido as varchar(12)
    AS
    BEGIN
          SET NOCOUNT ON;
          
          
          DECLARE @Solicitado INT,
                  @Modelo VARCHAR(50),
                  @Precio_Venta_Unit DECIMAL(10,2),
                  @Dscto_Especial_Unit DECIMAL(10,2),
                  @PrecioSin_Dscto_Especial DECIMAL(10,2),
                  @Vigencia_Acuerdo INT,
                  @Total_Venta DECIMAL(10,2),
                  @PlanTarifario VARCHAR(50),
                  @Renta_Fija_Mens_Unit DECIMAL(10,2),
                  @Forma_Pago VARCHAR(20),
                  @IMEI VARCHAR(15),
                  @CONSULTOR VARCHAR(100)   
            declare @Id_Pedido int
    set @Id_Pedido=(select Id_Pedido from LURIN_ORQUESTADOR_Pedidos_Cabecera where NumPedido=@NPedido)
               
          DECLARE @Counter INT
          SET @Counter = 1
          
          DECLARE Print_Clientes_Cursor CURSOR READ_ONLY
          FOR
    NumPedido=@NPedido)
     Select --d.Id_Pedido,
     d.Solicitado,d.Modelo,dt.Precio_Venta_Unit,dt.Dscto_Especial_Unit,dt.PrecioSin_Dscto_Especial,
     dt.Vigencia_Acuerdo,dt.Total_Venta,d.PlanTarifario,dt.Renta_Fija_Mens_Unit,dt.Forma_Pago,dt.IMEI,
     dt.Consultor
     From LURIN_ORQUESTADOR_Pedidos_Detalle d
     inner join LURIN_ORQUESTADOR_Pedidos_Detalle_AST dt on
     d.IMEI=dt.IMEI
     Where dt.Id_Pedido = @Id_Pedido
          
          OPEN Print_Clientes_Cursor
          
          FETCH NEXT FROM Print_Clientes_Cursor INTO
          @Solicitado,@Modelo,@Precio_Venta_Unit,@Dscto_Especial_Unit,
          @PrecioSin_Dscto_Especial,@Vigencia_Acuerdo,@Total_Venta,
          @PlanTarifario,@Renta_Fija_Mens_Unit,@Forma_Pago,@IMEI,@CONSULTOR 
          
          WHILE @@FETCH_STATUS = 0
          BEGIN
                 IF @Counter = 1
                 BEGIN
    PRINT 'CANTIDAD |' + CHAR(9) + 'MODELO |' + CHAR(9) + CHAR(9) + CHAR(9) + 'P.VENTA |' + CHAR(9) + 'DSCTO ESPECIAL |'+ CHAR(9) +'P.SIN DSCTO |'+ CHAR(9) +'VIGENCIA |'+ CHAR(9) +'T.VENTA |'+ CHAR(9) + 'PLAN TARIFARIO |'+ CHAR(9) +'RENTA FIJA MENSUAL |'
    PRINT '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
                 END
     
          -- en esta parte me sale el error
                 PRINT CAST(@Solicitado AS VARCHAR(10)) + CHAR(9) + CHAR(9) + CHAR(9) + @Modelo + CHAR(9) + CHAR(9) + CHAR(9) + @Precio_Venta_Unit + CHAR(9) + CHAR(9) + CHAR(9) + @Dscto_Especial_Unit + CHAR(9) + CHAR(9) + CHAR(9) + @PrecioSin_Dscto_Especial + CHAR(9) + CHAR(9) + CHAR(9) + @Vigencia_Acuerdo + CHAR(9) + CHAR(9) + CHAR(9) + @Total_Venta + CHAR(9) + CHAR(9) + CHAR(9) + @PlanTarifario + CHAR(9) + CHAR(9) + CHAR(9) + @Renta_Fija_Mens_Unit
               
                
                 SET @Counter = @Counter + 1
     
                 FETCH NEXT FROM Print_Clientes_Cursor INTO
                  @Solicitado,@Modelo,@Precio_Venta_Unit,@Dscto_Especial_Unit,@PrecioSin_Dscto_Especial,
                  @Vigencia_Acuerdo,@Total_Venta,@PlanTarifario,@Renta_Fija_Mens_Unit,@Forma_Pago,@IMEI,
                  @CONSULTOR 
                             
          END
          BEGIN
                 PRINT'--------------------------------------------------------'
                 print'                                                         '
                 print'                                                         '
                 print'                                                         '
                 PRINT'                                  ' + @Total_Venta           
           END
           BEGIN
                 PRINT '--------------------------------------------------------'
                 print'                                                         '
                 print'                                                         '
                 print'                                                         '
                 PRINT ' ' + 'FORMA DE PAGO:' + ' ' +@Forma_Pago +'  '+ 'IMEI:' + ' '+ @IMEI + ' | '+ @CONSULTOR         
           END
     
          CLOSE Print_Clientes_Cursor
          DEALLOCATE Print_Clientes_Cursor
    END
    GO

    jueves, 14 de diciembre de 2017 0:44

Todas las respuestas

  • Hola WALTER BRENIS

    Con base a tu consulta, te recomiendo consultar el siguiente enlace que puede serte de mucha utilidad.

    https://mbs.microsoft.com/downloads/public/GP10Docs/Crystal.pdf

    Quedamos al pendiente de cualquier actualización de tu parte.

    Saludos Cordiales.

    Gracias por usar los foros de MSDN.

    Pablo Rubio
     _____

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 13 de diciembre de 2017 18:31
    Moderador
  • Gracias por el tiempo Pablo, pero lo estoy haciendo de manera distinta, estoy creando un procedimiento almacenado pero con cursor(nose mucho de cursor, he estado revisando algunas paginas), tratando de moldear lo que quiero mostrar a la forma del documento que voy a impirmir, pero me sale error, y luego este procedimiento como lo añadiría al crystal report (como estoy usando cursor, no sabria como, por favor ayuden) ??:

     Msg 8114, Level 16, State 5, Procedure Clientes_Cursor_Walter, Line 63
    Error al convertir el tipo de datos varchar a numeric.

    mi Query es :

    alter PROCEDURE Clientes_Cursor_Walter
    @NPedido as varchar(12)
    AS
    BEGIN
          SET NOCOUNT ON;
          
          
          DECLARE @Solicitado INT,
                  @Modelo VARCHAR(50),
                  @Precio_Venta_Unit DECIMAL(10,2),
                  @Dscto_Especial_Unit DECIMAL(10,2),
                  @PrecioSin_Dscto_Especial DECIMAL(10,2),
                  @Vigencia_Acuerdo INT,
                  @Total_Venta DECIMAL(10,2),
                  @PlanTarifario VARCHAR(50),
                  @Renta_Fija_Mens_Unit DECIMAL(10,2),
                  @Forma_Pago VARCHAR(20),
                  @IMEI VARCHAR(15),
                  @CONSULTOR VARCHAR(100)   
            declare @Id_Pedido int
    set @Id_Pedido=(select Id_Pedido from LURIN_ORQUESTADOR_Pedidos_Cabecera where NumPedido=@NPedido)
               
          DECLARE @Counter INT
          SET @Counter = 1
          
          DECLARE Print_Clientes_Cursor CURSOR READ_ONLY
          FOR
    NumPedido=@NPedido)
     Select --d.Id_Pedido,
     d.Solicitado,d.Modelo,dt.Precio_Venta_Unit,dt.Dscto_Especial_Unit,dt.PrecioSin_Dscto_Especial,
     dt.Vigencia_Acuerdo,dt.Total_Venta,d.PlanTarifario,dt.Renta_Fija_Mens_Unit,dt.Forma_Pago,dt.IMEI,
     dt.Consultor
     From LURIN_ORQUESTADOR_Pedidos_Detalle d
     inner join LURIN_ORQUESTADOR_Pedidos_Detalle_AST dt on
     d.IMEI=dt.IMEI
     Where dt.Id_Pedido = @Id_Pedido
          
          OPEN Print_Clientes_Cursor
          
          FETCH NEXT FROM Print_Clientes_Cursor INTO
          @Solicitado,@Modelo,@Precio_Venta_Unit,@Dscto_Especial_Unit,
          @PrecioSin_Dscto_Especial,@Vigencia_Acuerdo,@Total_Venta,
          @PlanTarifario,@Renta_Fija_Mens_Unit,@Forma_Pago,@IMEI,@CONSULTOR 
          
          WHILE @@FETCH_STATUS = 0
          BEGIN
                 IF @Counter = 1
                 BEGIN
    PRINT 'CANTIDAD |' + CHAR(9) + 'MODELO |' + CHAR(9) + CHAR(9) + CHAR(9) + 'P.VENTA |' + CHAR(9) + 'DSCTO ESPECIAL |'+ CHAR(9) +'P.SIN DSCTO |'+ CHAR(9) +'VIGENCIA |'+ CHAR(9) +'T.VENTA |'+ CHAR(9) + 'PLAN TARIFARIO |'+ CHAR(9) +'RENTA FIJA MENSUAL |'
    PRINT '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------'
                 END
     
          -- en esta parte me sale el error
                 PRINT CAST(@Solicitado AS VARCHAR(10)) + CHAR(9) + CHAR(9) + CHAR(9) + @Modelo + CHAR(9) + CHAR(9) + CHAR(9) + @Precio_Venta_Unit + CHAR(9) + CHAR(9) + CHAR(9) + @Dscto_Especial_Unit + CHAR(9) + CHAR(9) + CHAR(9) + @PrecioSin_Dscto_Especial + CHAR(9) + CHAR(9) + CHAR(9) + @Vigencia_Acuerdo + CHAR(9) + CHAR(9) + CHAR(9) + @Total_Venta + CHAR(9) + CHAR(9) + CHAR(9) + @PlanTarifario + CHAR(9) + CHAR(9) + CHAR(9) + @Renta_Fija_Mens_Unit
               
                
                 SET @Counter = @Counter + 1
     
                 FETCH NEXT FROM Print_Clientes_Cursor INTO
                  @Solicitado,@Modelo,@Precio_Venta_Unit,@Dscto_Especial_Unit,@PrecioSin_Dscto_Especial,
                  @Vigencia_Acuerdo,@Total_Venta,@PlanTarifario,@Renta_Fija_Mens_Unit,@Forma_Pago,@IMEI,
                  @CONSULTOR 
                             
          END
          BEGIN
                 PRINT'--------------------------------------------------------'
                 print'                                                         '
                 print'                                                         '
                 print'                                                         '
                 PRINT'                                  ' + @Total_Venta           
           END
           BEGIN
                 PRINT '--------------------------------------------------------'
                 print'                                                         '
                 print'                                                         '
                 print'                                                         '
                 PRINT ' ' + 'FORMA DE PAGO:' + ' ' +@Forma_Pago +'  '+ 'IMEI:' + ' '+ @IMEI + ' | '+ @CONSULTOR         
           END
     
          CLOSE Print_Clientes_Cursor
          DEALLOCATE Print_Clientes_Cursor
    END
    GO

    jueves, 14 de diciembre de 2017 0:44