Página 1 de 1
mascara condicional no Tbrowse
Enviado: 06 Out 2014 11:30
por porter
ola pessoal, na rotina abaixo, no campo ESTOQUE, coloquei uma condição, se UN="UN", mostrar campo no Tbrowse sem casas decimais, caso contrario mostrar com trez casas decimais, mas está mostrando todos sem casas decimais, o que há de errado nessa rotina, pois ele está considerando somente a primeira condição do if.
Código: Selecionar todos
PRIVATE cCampos := {{"CODIGO", "@9" , "Código"},;
2 {"DESCRICAO","@!", "Descrição"},;
3 {"UN", "@!", "Un"},;
4 {"ESTOQUE", IF(UN="UN", "9999","9999.999"),"Estoque"}}
Windows 7, 64 bits, xHarbour
mascara condicional no Tbrowse
Enviado: 06 Out 2014 12:29
por aferra
Tente assim:
{"ESTOQUE", IF(<seu_alias>->UN="UN", "9999","9999.999"),"Estoque"}}
mascara condicional no Tbrowse
Enviado: 06 Out 2014 13:09
por porter
aferra disse:
{"ESTOQUE", IF(<seu_alias>->UN="UN", "9999","9999.999"),"Estoque"}}
olá, o campo ESTOQUE, está mostrando normalmente, mas parece-me que só está considerando a primeira condição do IF, entendeu, da forma que você sugeriu eu já estou fazendo.
mascara condicional no Tbrowse
Enviado: 06 Out 2014 13:49
por Jairo Maia
Olá Porter,
Não tenho uma solução para esta situação, mas quanto a esta questão:
porter escreveu:o campo ESTOQUE, está mostrando normalmente, mas parece-me que só está considerando a primeira condição do IF
Sim. Somente a primeira, porque não é feito a verificação da matriz com os dados da coluna a cada registro. Penso que para atender essa questão deverá ser feito esse controle em outro lugar.
mascara condicional no Tbrowse
Enviado: 06 Out 2014 14:05
por porter
olá Jairo, com o comando abaixo eu consigo colorir as linhas desejadas, não seria esse comando para por as mascaras condicionalmente tambem, mas onde esta colorblock seria outro comando.
brw:getcolumn(i_):colorblock=&("{||IF(CLI_BLOQ='S',{3,2},{5,3})
mascara condicional no Tbrowse
Enviado: 07 Out 2014 03:58
por Jairo Maia
Olá Porter,
Isso mesmo! Use :block. Abaixo dessa linha coloque:
Código: Selecionar todos
If Upper(brw:getcolumn(i_):heading)="ESTOQUE" // compara pelo nome da coluna, não é o campo
brw:getcolumn(i_):block := {||If(un="UN",Tran(estoque,"@E 99999999"),Tran(estoque,"@E 9999.999"))}
EndIf
mascara condicional no Tbrowse
Enviado: 07 Out 2014 09:25
por porter
bom dia Jairo,
Ficou perfeito, obrigado mais uma vez por sua atenção, obrigado a todos.