× Linguagem de Programação ADVPL

Perguntas alteração de campo tendo como condição o conteúdo do campo

Mais
10 anos 3 meses atrás #24222 por orakulo
boa tarde amigos, gostaria de saber se é possível fazer uma restrição de alteração de um campo tendo como condição o conteúdo do campo:
exemplo:
cadastro de produtos: campo tipo (pa, me, pp....):pa (campo bloqueado para alterar)
cadastro de produtos: campo tipo (pa, me, pp....):me (desbloqueado para alterar, posso alterar esse campo para pp por exemplo)

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 meses atrás #24224 por Darkbeo
Boa Tarde!

Você pode utilizar o campo X3_WHEN e preencher com if(campo=pa,.f.,if(campo=me,.t.,if(campo=pp,.... e assim vai até acabar as opções de condições.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 meses atrás #24232 por orakulo
Boa tarde, são 14 opções e elas não cabem no campo da X3_WHEN

if(B1_TIPO=AI,.f.,if(B1_TIPO=BN,.f.,if(B1_TIPO=EM,.f.,if(B1_TIPO=GE,.f.,if(B1_TIPO=GG,.f.,if(B1_TIPO=MC,.f.,if(B1_TIPO=ME,.f.,if(B1_TIPO=MO,.f.,if(B1_TIPO=MP,.f.,if(B1_TIPO=OI,.f.,if(B1_TIPO=PI,.f.,if(B1_TIPO=PP,.f.,if(B1_TIPO=PV,.f.,if(B1_TIPO=SL,.f.,if(B1_TIPO=SP,.f.,if(B1_TIPO=PA,.t.))))))))))))))))

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 meses atrás #24234 por Darkbeo
Tenta colocar as que não podem alterar juntar utilizando a expressão campo$'PA|PP|AA' e assim por diante.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 meses atrás #24242 por henry.charriere
Orakulo, bom dia!

Faça uma função recebendo um parâmetro. Fiz assim aqui na empresa, para um caso semelhante ao seu.

u_suafuncao(b1_tipo)

Atc,
Henry

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 meses atrás #24251 por danielzv
Melhor maneira de tratar isso é em função mesmo, chamando ela no X3_WHEN posteriormente.

Com isso pode comentar no fonte qual a regra para cada tipo, facilitando posterior alteração.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.077 segundos
Joomla templates by a4joomla