Olá Carlos, obrigado pela sua resposta. Quero desenvolver isso em Crystal. Deixe-me explicar melhor o que desejo alcançar:
O que quero é ver o detalhe da conta como é mostrado no SAP, com o Saldo Acumulado, mas as contas que desejo ver são de Vendas, então ao mesmo tempo teria que subtrair as devoluções. Isso é para poder visualizar em um gráfico o saldo acumulado por semana.
No início, fiz combinando 'Vendas' com 'Devoluções' e o saldo acumulado em Vendas e Devoluções estava correto. No entanto, depois tive problemas para mostrá-lo no gráfico, pois se houvesse uma devolução em uma semana, eu deveria subtrair.
Depois tentei fazer isso com esta consulta:
SELECT Mes=DATENAME(MONTH, T0.RefDate),
Semana=DATEpart(WK, t0.refdate),
(t0.Credit-t0.Debit) AS 'CréditoC/D(ML)',
t0.credit,
t0.debit,
CASE
WHEN (isnull((SELECT T.DEBIT FROM dbo.JDT1 T WHERE T.Account in ('CtaDev1','CtaDev2') and DATEpart(WK, t.refdate) = DATEpart(WK, t0.refdate) and t.Debit=t0.Credit),0)*-1) = 0 THEN ((isnull((SELECT sum(T.Debit-T.Credit) FROM dbo.JDT1 T WHERE T.TransId < T0.TransId AND T.Account = T0.Account AND T.RefDate BETWEEN '20130101' AND '20130531' )-(T0.Credit),-T0.credit)))*-1
ELSE ((SELECT SUM(T.Debit-T.Credit) FROM dbo.JDT1 T WHERE T.TransId < T0.TransId AND T.Account = T0.Account AND T.RefDate BETWEEN '20130101' AND '20130531')+T0.Debit)*-1
END AS 'Saldo Acumulado',
'Devoluções'=(isnull((SELECT T.DEBIT FROM dbo.JDT1 T WHERE T.Account in ('CtaDev1','CtaDev2') and DATEpart(WK, t.refdate) = DATEpart(WK, t0.refdate) and t.Debit=t0.Credit),0)*-1)
FROM JDT1 T0
INNER JOIN OACT T1 ON T1.AcctCode = T0.Account
WHERE T0.RefDate BETWEEN '20130101' AND '20130531' AND T0.account ='CtaVta'
ORDER BY t0.RefDate
Espero ter me explicado corretamente e que você possa me ajudar. Por favor, se possível, você poderia me explicar como obter o saldo acumulado no Crystal?
Desde já, muito obrigado. Bênçãos!