miércoles, 24 de octubre de 2018

Columna Acumulador - SQL Transact


SELECT         AsientoContableDetalle.IDAsientoContable,
 AsientoContable.FechaContabilizacion,
 AsientoContable.IDOrigen ,
 AsientoContableDetalle.CodigoCuentaContable ,
 AsientoContableDetalle.CuentaContable  , 
 AsientoContableDetalle.Glosa,
 AsientoContableDetalle.Debe ,
 AsientoContableDetalle.Haber ,
 AsientoContableDetalle.DebeMN ,
 AsientoContableDetalle.HaberMN ,
 AsientoContableDetalle.DebeME ,
 AsientoContableDetalle.HaberME ,
 isnull(Cp.id,0)IDComprobante ,
 pagina.Descripcion pagina ,
 Cp.NumeroDocumentoLegal  ,



  (     
  select   
     
  Sum(       
 
/* CASE ComprobanteB.EntradaInventario
when 1 then       
((UnidadB.Factor *B.Factor )* B.CantidadComprobanteDetalle)         
when 0 then       
 ((UnidadB.Factor *B.Factor )* (B.CantidadComprobanteDetalle)*-1 )       
end*/

(AsientoContableDetalleB.Debe -  AsientoContableDetalleB.Haber)

)   
     

FROM            CONTABILIDAD.AsientoContableDetalle AsientoContableDetalleB INNER JOIN
                         CONTABILIDAD.AsientoContable AsientoContableB ON AsientoContableDetalleB.IDAsientoContable =
AsientoContableB.ID
 left join MAESTROS.COMPROBANTE CpB on CpB.ID = AsientoContableB.IDOrigen 
 left join MAESTROS.MAE_TIPODOCUMENTO TDB on TDB.tipDoc_nCodigoTipoDocumento = CpB.tipDoc_nCodigoTipoDocumento
 left join Seguridad.view_pagina_listar paginaB on PaginaB.ID = TDB.IDPaginaAsociada
         
 left join Maestro.Estado EstadoB on EstadoB.ID =  AsientoContableB.IDEstado
   
  where AsientoContableDetalleB.CodigoCuentaContable = AsientoContableDetalle.CodigoCuentaContable 
             and AsientoContableDetalleB.ID <= AsientoContableDetalle.ID   
AND EstadoB.Anulado= 0
-- Order by AsientoContableB.FechaContabilizacion asc
     
    ) SaldoAculumado


 
FROM            CONTABILIDAD.AsientoContableDetalle AsientoContableDetalle INNER JOIN
                         CONTABILIDAD.AsientoContable ON AsientoContableDetalle.IDAsientoContable = CONTABILIDAD.AsientoContable.ID
 left join MAESTROS.COMPROBANTE Cp on Cp.ID = CONTABILIDAD.AsientoContable.IDOrigen 
 left join MAESTROS.MAE_TIPODOCUMENTO TD on TD.tipDoc_nCodigoTipoDocumento = Cp.tipDoc_nCodigoTipoDocumento
 left join Seguridad.view_pagina_listar pagina on Pagina.ID = TD.IDPaginaAsociada
 left join Maestro.Estado Estado on Estado.ID =  AsientoContable.IDEstado

 where
 AsientoContableDetalle.CodigoCuentaContable = @CodigoCuenta and
 Estado.Anulado= 0
  Order by CONTABILIDAD.AsientoContable.FechaContabilizacion asc

2 comentarios: