none
Saldos final o acumulados RRS feed

  • Pregunta

  • Hola expertos, agradecería su valiosa ayuda ya que tengo que realizar un reporte en SQL en el cual pueda obtener un saldo acumulado o saldo final el cual seria el Débito menos el Crédito y ya sea suma o resta del saldo final de la linea anterior, he intentado realizar pero solo he logrado realizar por día y lo necesito por mes. agradecería su valioso conocimiento en poder realizar esto, adjunto encontraran el código que he estado utilizando para poder realizar el reporte por día.

    select Row_NUMBER () OVER (Partition By a.RefDate Order By SUM(a.Debit-a.Credit)desc)[Linea], 
    		a.ShortName[Código], b.CardName[Nombre],
    	   case 
    		when a.TransType = 46 then 'Pagos Efectuados'
    		when a.TransType = 30 then 'Asiento Contable'
    		when a.TransType = 18 then 'Factura Proveedores'
    		when a.TransType = 19 then 'Nota de Crédito Proveedores'
    		when a.TransType = 321 then 'Reconciliacion Manual'
    		end [Tipo de Documento],
    		a.BaseRef[Número de Documento], a.TransId[Número de Operación SAP],  a.TaxDate[Fecha de Documento], a.RefDate[Fecha Contabilización], a.DueDate[Fecha de Vencimiento],
    		c.PymntGroup[Dias Crédito], 0[Días de Vencido], 0[Valor Original], 0[Saldo Inicial], a.Debit[Cargo], a.Credit[Abono],
    	   convert (varchar(20), SUM(a.Debit-a.Credit) OVER (Partition By a.RefDate order By datepart(yy,a.RefDate) Rows Unbounded preceding),1)[Saldo Final],
    	   ISNULL((Select B1.DocNum From OPCH A1 inner join OVPM B1 on A1.ReceiptNum = B1.DocEntry Where A1.DocNum = A.BaseRef),0)[# Documento de Liquidacion],
    	   ISNULL((Select B1.DocDate From OPCH A1 inner join OVPM B1 on A1.ReceiptNum = B1.DocEntry Where A1.DocNum = A.BaseRef),0)[Fecha de Liquidacion]
    from JDT1 A left join 
    	 OCRD B on a.ShortName=b.CardCode inner join
    	 OCTG C on b.GroupNum = c.GroupNum 
    where b.CardType ='S' and a.RefDate >= '20200301' and a.RefDate <= '20200331'
    Group By a.TransId, a.BaseRef, a.Debit, a.Credit, a.RefDate, a.ShortName, b.CardName, a.TransType, a.BaseRef,  a.TaxDate, a.RefDate, a.DueDate, c.PymntGroup
    Order By a.RefDate

    Agradeciendo su ayuda y su valioso tiempo.

    Saludos

    miércoles, 22 de abril de 2020 15:49

Todas las respuestas

  • Hola, 

      

    Gracias por levantar tu consulta en los foros de MSDN. Entendimos su pregunta y vamos a darle seguimiento para buscar la mejor repuesta pertinente al caso.  

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN.   

    Eric Ruiz

     ____________________________ 

      

    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, 22 de abril de 2020 16:30
  • Hola

    ¿Podrias publicar parte del resultado de tu query? y sobre todo, ¿como quieres que quede al final?


    IIslas Master Consultant SQL Server

    miércoles, 22 de abril de 2020 16:44
  • Buenas tardes, IIslas gracias por tu pronta respuesta, te adjunto lo solicitado.

    Como podrás ver en la imagen los Datos Actual de color Amarillo, en la columna Saldo Final no realiza la resta de los 325 y como tal no da el dato correcto, en Datos correcto así debería de quedar, pero al parecer el script lo realiza por día y no he logrado hacer que lo que tome por mes.

    Espero poder aclarar un poco mas la duda.

    Agradeciendo la ayuda.

    Saludos

    miércoles, 22 de abril de 2020 18:37