on 09-17-2012 12:52 PM
Prezados
Criei um relatório onde constam as vendas, nesse mesmo relatório tem um subrelatório com as NF de devolução de vendas, como faço para no relatório principal, subtrair as devoluções no tota.
Deparei-me com um problema que não estou conseguindo resolver, estou usando a função shared para utilizar valores do sub-relatório em fórmulas do relatório principal, mas ela está retornando o valor na linha (registro) errada e repetindo-o nas linhas (registros) zeradas.
Estou agrupando o relatório pela descrição.
Para situá-lo:
- A questão é que preciso utilizar o valor dos pedidos na formula de sugestão de compra (sugestão = media projetada – estoque - pedidos).
- As Vendas, o estoque e os pedidos estão em tabelas distintas sendo que os pedidos tive que gerar como sub-relatório.
A questão básica portanto é, porque os valores estão sendo exibidos no registro errado e porque se repetem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Osanito,
Eu faria de Outra Forma, Inclusive já montei pra mostrar:
Observa-se que:
Na devolucao o total é multiplicado por (-1)
logo é sumarizar no Crystal que já bate o valor,
dispensando o SubRelatório
(Se a função do Sub Relatório for só esta).
--Inicio da Consulta
declare @dataini datetime
declare @datafin datetime
set @dataini = '2012-18-10 00:00:00'
set @datafin = '2012-18-10 00:00:00'
select
'Nota Fiscal de Saida' 'Tipo',
a.CardName,
a.DocDate,
DocTotal
from
oinv a
where
DocDate >= @dataini
and DocDate<= @datafin
union all
select
'Devolucao' 'Tipo',
a.CardName,
a.DocDate,
(DocTotal*(-1))
from
orin a
where
DocDate >= @dataini
and DocDate<= @datafin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Valeu Eric, quase deu certo, o problema agora é só relacionar os campos corretos.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia!
No sub-relatório vc cria um novo campo de fórmula de o nome desejado, por exemplo totaldev, e coloca a seguinte função
Shared Numbervar V_totaldev:=({campo que quer levar para o relatório principal})
este campo deve ser colocado no corpo do sub-relatório e você pode suprimir para ele não aparecer
No relatório principal você cria outro campo de fórmula com o nome desejado , pode ser o mesmo do sub-relatório, e coloca a seguinte função
Shared NumberVar v_totaldev:=(V_totaldev)
Ele transporta o valor do sub-relatório e você pode usar para fazer os cálculos necessários para seu relatório
Espero ter ajudado
Eric
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.