Calcular Saldo inicial en Reporte de Crystal

Hola compañeros, de nuevo solicitando de su ayuda… les comento mi problema:

Estoy realizando un reporte donde me muestra los cargos y abonos de cuentas especificas y esta parametrizado a un rango de fechas… el detalle es que me piden un saldo inicial que seria justo un día antes al las fechas solicitadas por ejemplo solicito mi reporte del 1-06-18 al 30-06-18 entonces mi saldo inicial seria lo acumulado para el dia 31-05-18 … tengo un campo que se llama CurrTotal en la tabla OACT es donde se guarda el total de la cuenta… No se como crear esa restricción…

Muchas gracias!!! :grinning: Saludos :raised_hand_with_fingers_splayed:

1 me gusta

podrías pasar el query para checarlo

1 me gusta

Muchas gracias mi Query es muy basica…

SELECT T2."CurrTotal",  T1."Debit", T1."Credit", T0."Ref3", T0."Memo", T2."AcctCode", T2."FormatCode", T0."TransType", T0."RefDate", T0."Number"  
FROM OJDT T0 INNER JOIN JDT1 T1 ON T0."TransId" = T1."TransId" INNER JOIN OACT T2 ON T1."Account" = T2."AcctCode" 
WHERE T0."Ref3" > ' ' AND  T2."AcctCode"  = '_SYS00000005414' OR T2."AcctCode"  =   '_SYS00000005365'

Espero le entiendas…

1 me gusta

lo que estas buscando entonces es que busque del 31-05-2018 al 31-06-2018?

no lo q busco es q me traiga desde el inicio hasta el 31 de mayo 2018… osea un día antes de la fecha que yo estoy solicitando…

Según lo que entendí sería algo así

SELECT T2."CurrTotal",  T1."Debit", T1."Credit", T0."Ref3", T0."Memo", T2."AcctCode", T2."FormatCode", T0."TransType", T0."RefDate", T0."Number"  
FROM OJDT T0 
INNER JOIN JDT1 T1 ON T0."TransId" = T1."TransId" 
INNER JOIN OACT T2 ON T1."Account" = T2."AcctCode" 
WHERE T0."Ref3" > ' ' And t2.CreateDate < '2018-05-31'AND  T2."AcctCode"  = '_SYS00000005414' OR T2."AcctCode"  =   '_SYS00000005365'
2 Me gusta

gracias @Carlos_Rabiel el detalle es q tu ay pones fija la fecha y este reporte se calcularía mensual por lo tanto la fecha cambia… tendira que ser algo dinámico…

Entonces nomas hay que cambiar la fecha por una variable

1 me gusta

Hola.

Seguramente alguien te apoyará con el código pero así “platicado” lo que necesitas es hacer una subconsulta:

(Select SUM(TX.Debit - TX.Credit) FROM JDT1 TX Where TX.Account = T2.AcctCode And TX.RefDate < "TuParametroDeFechaInicial")

Suerte.

3 Me gusta

Hola, pues si el tema no se ha resuelto me gustaria contribuir con la siguiente idea: yo crearia una funcion en la base de datos para que reciba la cuenta y la fecha inicial, dentro de la definicion de la funcion le resto un dia a la fecha incial (dayadd -1), ejecuto el query select sum(debit - credit) … where fecha inicial menos un dia mayor que refdate and account = cuenta(variable) . luego de finalizar la funcion, la consumo desde el select principal.

2 Me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.