IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'dbo.CP_Ventas_por_Producto') 
                   and OBJECTPROPERTY(id, N'IsProcedure') = 1 )
BEGIN
    DROP PROCEDURE dbo.CP_Ventas_por_Producto 
END
GO

CREATE PROCEDURE [dbo].[CP_Ventas_por_Producto]
	@pFecha_Desde			DATETIME,
	@pFecha_Hasta			DATETIME,
	@pFamilia               Int,
	@pSucursal              Int,
	@pProveedor             Int,
	@pVendedor              VARCHAR(20)
AS
SET NOCOUNT ON

/*Declaracion Variables Locales*/

DECLARE @Mensaje			VARCHAR(100)
		,@UltError			INT
		,@Id_Trans			INT
		,@Id_Cliente		INT
		,@Importe			DECIMAL(16,2)
		,@Email_Cob			VARCHAR(256)
		,@Id_Trans_Rec		INT
		,@CursorOpen        INT
		,@Flag_Cbte_Tipo	SMALLINT
		,@Periodo           DATE 
		,@Id_sucursal	    SMALLINT
		,@Existe      	    SMALLINT
		,@Venta_Total       DECIMAL(16,2)

					
BEGIN 
   IF @pProveedor = 0
      BEGIN
		IF @pFamilia = 0    
		   BEGIN
			 IF @pSucursal = 0
				BEGIN
					set @Venta_Total = (select sum((isnull(c.imp_Gravado,0)+isnull(c.imp_Gravado2,0)+isnull(c.imp_Gravado3,0)+isnull(c.imp_NoGravado,0)+isnull(c.imp_Exento,0))*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t 
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
			 ELSE  
				BEGIN
					set @Venta_Total = (select sum((isnull(c.imp_Gravado,0)+isnull(c.imp_Gravado2,0)+isnull(c.imp_Gravado3,0)+isnull(c.imp_NoGravado,0)+isnull(c.imp_Exento,0))*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t 
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND T.ID_SUCURSAL = @pSucursal
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
		   END
		 ELSE
		   BEGIN
			 IF @pSucursal = 0
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   And P.id_Familia = @pFamilia
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
			 ELSE  
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   And P.id_Familia = @pFamilia
					   And T.Id_Sucursal = @pSucursal
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
		   END   
        END
	 ELSE
	    BEGIN
		IF @pFamilia = 0    
		   BEGIN
			 IF @pSucursal = 0
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   AND P.Id_Proveedor = @pProveedor
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
			 ELSE  
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   AND P.Id_Proveedor = @pProveedor
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND T.ID_SUCURSAL = @pSucursal
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
		   END
		 ELSE
		   BEGIN
			 IF @pSucursal = 0
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   And P.id_Familia = @pFamilia
					   AND P.Id_Proveedor = @pProveedor
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
			 ELSE  
				BEGIN
					set @Venta_Total = 	(select sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0))
					   from cbtes c, cbtes_tipos t , Cbtes_items I, Productos P
					   where c.id_tipo_cbte  = t.id_tipo_cbte
					   And I.Id_trans = C.id_trans
					   And I.id_Producto = P.id_Producto
					   And P.id_Familia = @pFamilia
					   And T.Id_Sucursal = @pSucursal
					   AND P.Id_Proveedor = @pProveedor
					   And c.Id_Estado_Cbte <> 3
   					   And T.Compromete_Factura in (1,-1)
					   AND C.FECHA >= @pFecha_Desde 
					   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
					   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN'))
				END
		   END   
        END
   END

   IF @pProveedor = 0
      BEGIN
		IF @pSucursal = 0
		   BEGIN
			   IF @pFamilia = 0
				  BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
				ELSE 
				   BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND P.ID_FAMILIA = @pFamilia
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
			   END
	    	ELSE
			   BEGIN
 			   IF @pFamilia = 0
				  BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
						   AND T.ID_SUCURSAL = @pSucursal
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
				ELSE 
				   BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND T.ID_SUCURSAL = @pSucursal
						   AND P.ID_FAMILIA = @pFamilia
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
		      END
         END
	 ELSE
	    BEGIN
		IF @pSucursal = 0
		   BEGIN
			   IF @pFamilia = 0
				  BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
					       AND P.Id_Proveedor = @pProveedor
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
				ELSE 
				   BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
						    AND P.Id_Proveedor = @pProveedor
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND P.ID_FAMILIA = @pFamilia
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
				END
			ELSE
			  BEGIN
			   IF @pFamilia = 0
				  BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
						   AND T.ID_SUCURSAL = @pSucursal
						   AND P.Id_Proveedor = @pProveedor
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
				ELSE 
				   BEGIN
					select I.Id_Producto as Producto,P.Descripcion_Detallada as Descripcion ,CAST(Sum(I.Cantidad*T.Compromete_Factura) AS INT) As Cantidad
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) as Importe
						,(sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / @Venta_Total) * 100 as Porcentaje
						,sum(isnull(I.Costo,0) * V.Cotizacion * I.cantidad * isnull(t.compromete_factura,0)) as Costo
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) - sum(isnull(I.Costo,0)* V.Cotizacion* I.cantidad * isnull(t.compromete_factura,0)) as Renta
						,sum(isnull(I.Imp_Gravado,0)*(1-C.Porc_Bonificacion/100)*isnull(t.compromete_factura,0)) / isnull(sum(CASE ISNULL(isnull(I.Costo,0)* V.Cotizacion,0) when 0 THEN 1 ELSE  isnull(I.Costo,0)* V.Cotizacion END * I.cantidad * isnull(t.compromete_factura,0)),1) as Markup
						 from cbtes c, cbtes_tipos t, Cbtes_Items I, Productos P, Prod_Familias F,Valores_Monedas V
						   where c.id_tipo_cbte  = t.id_tipo_cbte
						   and P.Id_Moneda_C = V.Id_Moneda
						   and I.id_Trans = C.Id_Trans
						   And c.Id_Estado_Cbte <> 3
						   AND P.Id_Producto = I.Id_Producto
						   and P.ID_FAMILIA = F.Id_Familia
						   AND P.Id_Proveedor = @pProveedor
   						   And T.Compromete_Factura in (1,-1)
						   AND C.FECHA >= @pFecha_Desde 
						   AND C.FECHA < dateadd(dd,1,@pFecha_Hasta)
						   AND T.ID_SUCURSAL = @pSucursal
						   AND P.ID_FAMILIA = @pFamilia
						   AND C.ID_TIPO_CBTE NOT IN ('CFIN','DFIN')
						   group by I.Id_Producto,P.Descripcion_Detallada having Sum(I.Cantidad*T.Compromete_Factura) <> 0
						   order by Porcentaje Desc
				   END
			  END
		
 END


 /* 

 SP_Ventas_por_Producto '20200801','20200831',154,0,141
 SP_Ventas_por_Producto '20200801','20200831',0,0,141
 SP_Ventas_por_Producto '20200903','20200907',1,19,0

 FIN */