none
Calcular el Saldo Final, Duda sobre Calculo RRS feed

  • Pregunta

  • Buena tardes;

    Tengo el Siguiente Inconveniente, quiero hacer el Siguiente Calculo por Reporting Service a un reporte que ya existe, se me pidió añadir el saldo final:

    El procedimiento es primero: Saldo Inicial + Debe - Haber, en el caso de la Cuenta Contable 12311203 el procedimiento es 256,283.82+209,567.58-0.00 = 465,851.4 Luego, al monto 465,851.4 - 209,095.90 = 256,755.5 y asi al siguiente, luego el mismo procedimiento para la otra cuenta contable 12311205, Procedimiento 38,410.36 + 154,419.00 - 0.00 = 192,829.76 espero que puedan ayudarme, gracias.

    jueves, 7 de noviembre de 2013 15:24

Todas las respuestas

  • Hola

    se me ocurre que podrías agregar un campo calculado a tu dataset haz clic en el siguiente link

    Campo Calculado

    como verás allí puedes colocar la formula para realizar el cálculo

     Saldo Inicial + Debe - Haber

    por último colocas ese campo calculado en las celdas de tu columna Saldo Final

    si tienes alguna duda comenta, si no es lo que necesitas explícanos con más detalle

    jueves, 7 de noviembre de 2013 15:45
  • El saldo inicial solo se usa para calcular el primer saldo final, por eso el procedimiento es primero agarrar el saldo inicial + debe - haber, luego te sale un resultado y a ese resultado en la siguiente fila sumarle o restarle el debe o el haber, y así hasta la ultima fila de la cuenta contable, vamos a ver este caso que ya lo tengo armado.

    En la Columna donde me calcula el saldo Final es la Siguiente:

    =IIF(Previous(Fields!cCtaContCod.Value)=Fields!cCtaContCod.Value,

                      RunningValue(Fields!nDebe.Value-Fields!nHaber.Value,SUM,"cCtaContCodG"),

                      RunningValue(Fields!nSaldoIni.Value+Fields!nDebe.Value-Fields!nHaber.Value,SUM,"cCtaContCodG"))

    Pero esta en los cálculos, ya que el calculo lo debe de hacer en base al sueldo Final, por ejemplo en la fila 7

    tiene como resultado 471.68 algo que no debería de ser, el verdadero valor debe de ser el saldo final anterior (465851.4) - Haber (209095.90) = 256755.5

    jueves, 7 de noviembre de 2013 21:07
  • Yo lo montaría directamente en la consulta a SQL Server que genera el Dataset, usando un "OVER PARTITION":

    Select CuentaContable,
       FIRST_VALUE(SaldoInicial) over (partition by CuentaContable order by Fecha) as SaldoInicial,
       Fecha,
       Debe,
       Haber,
       FIRST_VALUE(SaldoInicial) over (partition by CuentaContable order by Fecha)+
          SUM(Debe-Haber) over (partition by CuentaContable order by Fecha) as SaldoFinal
    from Apuntes
    
    

    La sentencia está escrita de memoria, no la he probado, así que puede tener algún pequeño fallo, pero por lo menos te haces a la idea del tipo de consulta que te puede proporcionar los resultados que deseaas.

    sábado, 9 de noviembre de 2013 9:11
    Moderador