segunda-feira, 15 de junho de 2009

Algumas funções

Para facilitar a vida do desenvolvedor e garantir a integridade das informações, podemos fazer uso de muitas funções dentro do Protheus. Vamos falar sobre algumas delas que com frequencia usamos na Val. Usuário

Pertence("RJ/SP/PB"): Função que garante que oque será digitado pertence ao conjunto descrito na função. Neste caso estamos garantido que o usuário só poderá digitar RJ, SP ou PB em um campo que receba Unidades Federativas. Caso ele tente digitar por exemplo MG, o Protheus acusará o erro.

ExistChav(cAlias,cChave,nOrdem,cHelp): Evita chave repetida verificando se conteúdo da cChave já existe, com base no índice nOrdem. Caso o usuário tente inserir uma cChave repetida, o Protheus exibe a mensagem cHelp.

ExistCPO(cAlias,cChave,nOrdem): Função para garantir a integridade referencial.
Como exemplo podemos ter um cadastro de cliente e outro de vendedor. Para associar em uma terceira tabela um vedendor a um cliente, temos que garantir que o cliente digitado realmente esteja cadastrado assim como o vendedor. Como exemplo , podemos usar na Val. Usuário do campo que será digitado o código do cliente o seguinte comando: ExistChav("SA1",XFILIAL("SA1")+A1_COD,1,"Cliente não cadastrado em SA1"):

Vazio(): Verifica se o campo está vazio

domingo, 14 de junho de 2009

Parâmetros

Uma forma simples de customização é através do uso de parâmetros. Um exemplo desta fucionalidade é o parâmetro MV_ESTNEG (estoque negativo). Caso seu conteúdo seja S, a venda de um produto poderá ser feita com estoque negativo, caso seu conteúdo seja N, a venda só será permitida se houver estoque daquele produto. Para ilustrar melhor a situação, podemos ter o seguinte trecho de um RDMake:

Local cEst := GetMv('MV_ESTNEG') // cEst recebe o conteúdo de MV_ESTNEG

If cEst == 'S' .or. Qtd < B2_Saldo

Venda sem restrição de saldo

Else

Verificar estoque e tratar possível erro por estoque negativo

endIf

Primeiro artigo

Nas próximas publicações estaremos abordando a programação Advpl e suas peculiaridades