Página 1 de 1

Condicional no Browse

Enviado: 11 Out 2017 17:06
por rubens
Boa tarde...

Tenho um browse de lançamentos no caixa. E tenho um campo Valor que serve tanto para credito como para débito. Só que na hora que faz a leitura e ativa o formulário tá executando a condicional somente na primeira coluna que é entradas. Não executa a condicional na segunda coluna que é saidas.
Olha como fica quando executa:
Caixa.png
A última linha que tem um valor de 115,00 é saída. Definido pelo campo DebCred='D'. Deveria esta na última coluna.
A linha que preenche o browse é:

Código: Selecionar todos

FIELDS {'ICAI->DATA','ICAI->DOCUMENTO','ICAI->HISTORICO', If( icai->DebCred='C','TRANSFORM(ICAI->VALOR,"@E 99,999.99")','0.00'), If( icai->DebCred='D','TRANSFORM(ICAI->VALOR,"@E 99,999.99")','0.00') }
Código completo do Browse:

Código: Selecionar todos

     DEFINE BROWSE BRW_CAIXA
            ROW    88
            COL    10
            WIDTH  882
            HEIGHT 373
            HEADERS {'Data','Documento','Histórico','Entradas','Saídas'}
            WIDTHS {130,130,350,125,125}
            FIELDS {'ICAI->DATA','ICAI->DOCUMENTO','ICAI->HISTORICO', If( icai->DebCred='C','TRANSFORM(ICAI->VALOR,"@E 99,999.99")','0.00'), If( icai->DebCred='D','TRANSFORM(ICAI->VALOR,"@E 99,999.99")','0.00') }
            VALUE {'Data','Documento','Histórico','Entradas','SAídas'}
            WORKAREA ICAI
            FONTNAME "Arial"
            FONTSIZE 12
            FONTBOLD .T.
            FONTITALIC .F.
            FONTUNDERLINE .F.
            FONTSTRIKEOUT .F.
            TOOLTIP ""
            BACKCOLOR NIL
            DYNAMICBACKCOLOR { BCOLOR , BCOLOR, BCOLOR, BCOLOR, BCOLOR }
            DYNAMICFORECOLOR { FCOLOR , FCOLOR, FCOLOR, FVLCOLOR, FVLCOLOR }
            FONTCOLOR NIL
            ONGOTFOCUS NIL
            ONCHANGE NIL
            ONLOSTFOCUS NIL
            ONDBLCLICK NIL
            ALLOWEDIT .F.
            ALLOWAPPEND .F.
            INPUTITEMS NIL
            DISPLAYITEMS NIL
            ONHEADCLICK NIL
            WHEN NIL
            VALID NIL
            VALIDMESSAGES NIL
            PAINTDOUBLEBUFFER .F.
            READONLYFIELDS NIL
            LOCK .F.
            ALLOWDELETE .F.
            NOLINES .F.
            IMAGE NIL
            JUSTIFY {BROWSE_JTFY_LEFT,BROWSE_JTFY_LEFT,BROWSE_JTFY_LEFT,BROWSE_JTFY_RIGHT,BROWSE_JTFY_RIGHT}
            VSCROLLBAR .T.
            HELPID NIL
     END BROWSE  
Como tá no início da migração dessa parte do código até dá para criar um campo Entrada e um campo Saída. Mas acho que vira uma redundância já que posso condicionar com o campo DEBCRED.

Obrigado
Rubens

Condicional no Browse

Enviado: 11 Out 2017 17:24
por Toledo
Rubens, tente o seguinte:

Código: Selecionar todos

FIELDS {'ICAI->DATA','ICAI->DOCUMENTO','ICAI->HISTORICO', 'iif( icai->DebCred="C",TRANSFORM(ICAI->VALOR,"@E 99,999.99"),"0.00")', 'iif( icai->DebCred="D",TRANSFORM(ICAI->VALOR,"@E 99,999.99"),"0.00")' }
Abraços,

Condicional no Browse

Enviado: 11 Out 2017 18:32
por JoséQuintas
Se for igual no tbrowse normal, seria errado porque o tamanho do campo será diferente em cada caso.
Se acontecer isso, talvez melhor a Picture do zé..... rs

Código: Selecionar todos

Transform( iif( icai->DebCred =="C", 0, icai->Valor ), "@ZE 99,999.99" )
Transform( iif( icai->DebCred =="D", 0, icai->Valor ), "@ZE 99,999.99" )

Condicional no Browse

Enviado: 11 Out 2017 22:27
por rubens
Toledo, funcionou belezinha...
Inclusive até tirei o 0.00 conforme entrada ou saída.. antes não tinha dado certo... agora funcionou belezinha... obrigado.

Código: Selecionar todos

FIELDS {'ICAI->CODCON','ICAI->DATA','ICAI->DOCUMENTO','ICAI->HISTORICO', 'iif( icai->DebCred="C",TRANSFORM(ICAI->VALOR,"@E 99,999.99")," ")', 'iif( icai->DebCred="D",TRANSFORM(ICAI->VALOR,"@E 99,999.99")," ")' }
Rubens