Código SQL:
lo unico que cambia es el distribuidor y la formula por el artículo, espero me puedan ayudar Ver original
--- Exec P5rAdvBitAutor '05', '' CREATE Proc P5rAdvBitAutor ( @Vendedor utClave, @Folio utFolio ) AS SET nocount ON IF isnull(@Vendedor,'') <> '' AND isnull(@Folio,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST1') BEGIN SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero1)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END ELSE BEGIN IF isnull(@Vendedor,'') <> '' AND isnull(@Folio,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST2') BEGIN SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero2)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END ELSE BEGIN IF isnull(@Vendedor,'') <> '' AND isnull(@Folio,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST3') BEGIN SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero3)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END END ELSE BEGIN IF isnull(@Vendedor,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST1') SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero1)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END ELSE BEGIN IF isnull(@Vendedor,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST2') BEGIN SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero2)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END ELSE BEGIN IF isnull(@Vendedor,'') <> '' BEGIN IF EXISTS (SELECT t.clientetipo FROM cliente t, OrdVtaEncabezado x WHERE t.clave=x.cliente AND x.folio = @Folio AND clientetipo='DIST3') BEGIN SELECT C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario, SUM((od.cantidad*ar.numero3)-(od.totalimpor te)) AS Descu, O.cliente, c.clientetipo FROM OrdVtaEncabezado AS O, cliente AS C, OrdVtaAutorizacion AS A,P5SysAutorizacion AS PA,ordvtadetalle AS od, articulo AS ar WHERE O.Empresa = 'Emp1' AND C.clave = O.Cliente AND O.Operacion=PA.Operacion AND O.Folio=PA.Folio AND PA.Autorizado='S' AND O.Vendedor=@Vendedor AND O.Folio=@Folio AND O.Operacion='ORDVTA' AND O.Folio=A.FOlio AND PA.Operacion='ORDVTA' AND od.articulo=ar.clave AND od.folio=O.folio AND O.cliente=c.clave GROUP BY O.cliente, c.clientetipo,C.razonsocial, O.Folio, O.Cliente, A.Fecha, O.UsuarioCaptura, O.Documento,O.Vendedor,O.TotalImporte,O.TotalDescuento,O.TotalImpuesto,O.TotalRetencion,O.Total,A.Autorizacion, PA.Autorizado, A.Usuario ORDER BY O.Folio DESC, A.Fecha DESC END END ....ETC SE REPITE OTRA VEZ