× Linguagem de Programação ADVPL

Perguntas Calcular Estoque de Segurança por formula - Campo B1_ESTFOR

Mais
11 anos 3 meses atrás #9267 por Livio Alvarenga
Prezados sou novato e não tenho experiencia alguma com ADVPL, grato caso alguem possa me ajudar:

Estou tentando mecanizar o estoque de segurança por formula no protheus e estou tendo dificuldades, segue a formula:

ES=estoque de segurança (SB1->B1_ESTFOR)
CM=consumo médio (SB3->B3_MEDIA)
%=0.25

ES=CM*0.25

Criei esta formula: SB3->B3_MEDIA*0.25 no cadastro de formulas e chamei esta formula no campo ("Form.Est.Seg" SB1->B1_ESTFOR), mas ao rodar a rotina de solicitação de compra por ponto de pedido (relatorio MATR440) o estoque de segurança vem zerado, ja conferi o campo SB3->B3_MEDIA e o mesmo tem valor > que 0, ou seja acho que minha formula não esta valida.

Ja pencei em utilizar o comando "posicione()" mas desconheço o mesmo.

Alguem pode me ajudar?

Desde de ja agradeço a atenção.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9289 por GuPadrao
Lívio em qual tabela você vai posicionar?

O posicione é bem simples, não tem dificuldade para criar não, mas você tem que saber a tabela, o campo e qual será o índice para pesquisa.

Estou lhe encaminhando esse link
tdn.totvs.com.br/display/public/mp/Posic...a+tabela+em+registro

Caso ainda tenha alguma dúvida me manda que te ajudo.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9295 por Livio Alvarenga
Estou tentando desta forma e não esta dando certo:

Posicione("SB3",1,xFilial("SB3"),"SB3->B3_MEDIA")*0.25

No campo que estou chamando esta formula vem com 0.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9297 por kanaamlrr
Mude seu Posicione para:

Posicione("SB3",1,xFilial("SB3")+M->B1_COD,"B3_MEDIA")

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9298 por Livio Alvarenga
Não deu, iformou variavel não existente "XX->B1" e travou o Protheus.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9301 por GuPadrao
Posicione("SB3",1,xFilial("SB3"),"SB3->B3_MEDIA")*0.25

Um detalhe é que depois da clausula xFilial("SB3") deve vir o campo referente ao indice. No caso da SB3 há apenas 1 indice que é FILIAL+CODIGO, então nesse caso seu gatilho vai ficar assim:

Nesse caso, seu posicionamento ficaria assim:
Posicione("SB3",1,xFilial("SB3")+SB1->B1_COD,"SB3->B3_MEDIA")*0.25

Teste assim.

Por favor Acessar ou Registrar para participar da conversa.

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