Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JuNiNhO__

Variavel no CRYSTAL

Recommended Posts

Pessoal,

 

Preciso fazer um relatório no crystal que mostre como se fosse um extrato bancário.

 

Toda transação de estoque de material da empresa contratante, sendo que mostre como se fosse um extrato..

 

Exemplo:

 

valor_______________saldo

+1000,00 _________ +1000,00

-200,00 ___________ +800,00

+300,00 ___________ +1100,00

-500,00 ___________ +600,00

 

 

e assim vai...

 

alguem sabe fazer??

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae!

Manipular variável no Crystal é simples (neste caso).

Você precisa declarar como global em uma fórmula.

Seria assim:

Clique no menu Insert, em seguida Formula Field, vai exibir a janela Field Explorer, nesta janela clique sobre o item Formulas e em seguida no botão New:

Imagem Postada (http://www.cassitos.oi.com.br/img/fieldexplorer.jpg)

Informe um nome para a fórmula, usei Saldo e clique em OK. Em seguida a tela Formula Editor será exibida, daí você põe o código:

WhilePrintingRecords; //evento em que este código será processadoGlobal CurrencyVar Saldo; //declaração da variável globalSaldo:=Saldo+{rdo.VALOR}; //nosso cálculo
considere {rdo.VALOR} como o nome do campo que você está utilizando atualmente.

Clique no botão Save and Close, se estiver com erro no código verifique se o nome do campo está correto.

Salvando com sucesso, um novo item aparecerá sob o "Formulas" que é o Saldo. Insira esta formula como se fosse um campo qualquer do banco, de preferência na sessão Detail ao lado do campo com o valor atual, seria algo assim:

Imagem Postada (http://www.cassitos.oi.com.br/img/extrato.jpg)

Neste exemplo estou utilizando o Crystal 8.5.

qquer dúvida posta aew.

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve galera, resolvi parte do problema usando as funções passadas pelo nosso colega.

 

WhilePrintingRecords;NumberVar Saldo;if {CEMOV.TIPO_CEMOV} = "D" then   Saldo:=Saldo-{CEMOV.QTDE_CEMOV}else  Saldo:=Saldo+{CEMOV.QTDE_CEMOV};

Agora só falta eu conseguir passa um valor pra variável antes de ela começar a imprimir registros.

 

Como fazer??

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmmm... um valor inicial...?

cara eu costumo fazer o seguinte:

cria uma outra função tipo SaldoInicial e no código:

WhilePrintingRecords;Global CurrencyVar Saldo:=5000; //valor de exemplo ^_^ , pode ser um campo do banco claro.
então como o valor inicial deve ser definido somente uma vez, inclua esta função na seção "Report Header" e p/ não aparecer um número lá no início do relatório você pode marcar a propriedade "Suppress" nas propriedades do campo.

Imagem Postada(http://www.cassitos.oi.com.br/img/saldoinicial.jpg)

Lembre-se de utilizar sempre o mesmo nome e tipo da variável utilizada nas outras funções.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.