mascara condicional no Tbrowse

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

mascara condicional no Tbrowse

Mensagem 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
aferra
Usuário Nível 1
Usuário Nível 1
Mensagens: 41
Registrado em: 30 Mai 2008 06:55
Localização: Ribeirão Preto/SP

mascara condicional no Tbrowse

Mensagem por aferra »

Tente assim:

{"ESTOQUE", IF(<seu_alias>->UN="UN", "9999","9999.999"),"Estoque"}}
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

mascara condicional no Tbrowse

Mensagem 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.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

mascara condicional no Tbrowse

Mensagem 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.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

mascara condicional no Tbrowse

Mensagem 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})
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

mascara condicional no Tbrowse

Mensagem 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
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
porter
Usuário Nível 5
Usuário Nível 5
Mensagens: 1057
Registrado em: 10 Dez 2009 16:44
Localização: OLIMPIA-SP

mascara condicional no Tbrowse

Mensagem por porter »

bom dia Jairo,
Ficou perfeito, obrigado mais uma vez por sua atenção, obrigado a todos.
Responder