Jump to content
Fivewin Brasil

If <condição> na report


Luiz Arruda (ICO)

Recommended Posts

Boa Tarde

Muito pouco sei usar o report, agora preciso de um relatorio simples ,

como faço uma condição IF para separar colunas ???

Exemplo

O arquivo DBF tem os campos

Data

Historico

D_c

Valor

Eu quero jogar o valor D em uma coluna e o C em outra + - assim

COLUMN TITLE "DATA" DATA CAIXA->DATA

COLUMN TITLE "HISTORICO" DATA CAIXA->HISTORICO

If DC="D"

Col=50

na coluna 50 sair impreso o valor do débito

COLUMN TITLE " VALOR" DATA CAIXA->VALOR

Else

Col=75

Endif

na coluna 75 sair impresso o valor do credito

COLUMN TITLE " VALOR" DATA CAIXA->VALOR

pra ficar assim

Data Historico Debito Credito Saldo

01/01 Teste 1 10,00 10,00-

02/01 Teste 2 20,00 10,00

Obrigado...

Link to comment
Share on other sites

COLUMN TITLE "%" DATA iif(SubStr(aImp[nConta, 01],1,3) != "AGD", Abs((aImp[nConta, 06] / iif(aImp[nConta, 05] = 0,1,aImp[nConta, 05]) -1)*100), 0.0) Size 08 Picture "@E 999,999.9" Right

veja se é isso

talvez Column Title "teste" Data iif(banco->dc="C", 0, banco->valor) Size 100 Picture "@E 999,999.99"

Ve ai, qq tamo aki

Link to comment
Share on other sites

Luiz

Acredito ser algo +- assim:

COLUMN TITLE "DATA"         DATA ""
COLUMN TITLE "HISTORICO"    DATA ""
COLUMN TITLE "DEBITO"       DATA ""
COLUMN TITLE "CREDITO"      DATA ""
COLUMN TITLE "SALDO"        DATA ""
 

ACTIVATE REPORT oReport ON INIT ImpSaldo(oReport) 

//-----------------------------------------------------------------------------
STATIC FUNCTION ImpSaldo( oReport )
Local k

nSaldo := 0
CAIXA->( DbGoTop() )
While CAIXA->( !Eof() )

          oReport:StartLine()

          oReport:Say( 1,  Dtoc(CAIXA->DATA) )
          oReport:Say( 2,  CAIXA->HISTORICO )
          If CAIXA->DC == "D"
             oReport:Say( 3,  Str(CAIXA->VALOR,12,2) )
             nSaldo -= CAIXA->VALOR
          Else   
             oReport:Say( 4,  Str(CAIXA->VALOR,12,2) )
             nSaldo += CAIXA->VALOR
          Endif
          oReport:Say( 5,  Str(nSaldo,12,2) )
          
          oReport:EndLine()
      CAIXA->( DbSkip( 1 ) )    
End

Return .T.

Att

João Bosco

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...