Árvore de páginas

CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização

01. VISÃO GERAL

O prazo de entrega representa o número de horas, dias, semanas ou meses do tempo de fabricação ou entrega de um produto, a partir do recebimento de seu pedido ou da abertura de sua ordem de produção.

Essa informação é útil para que o Sistema calcule quando o material estará disponível no estoque.

Para produtos cujo prazo de entrega depende de outras grandezas ou características, não sendo um período fixo, pode ser utilizada uma fórmula.

Nesse caso, preencha o campo Fórmula Prazo, pois o campo Entrega deve ser utilizado para prazos fixos.

Se estes dois campos estiverem preenchidos, será considerado preferencialmente o conteúdo informado no campo Fórmula Prazo. Caso não exista uma fórmula cadastrada, o prazo de entrega será o conteúdo do campo Entrega.

A fórmula pode ser criada a partir de uma expressão matemática comum ou utilizando uma expressão ADVPL (Advanced Protheus Language), ou ainda, se preferir, em Cadastro de FórmulasUserFunction (função do usuário). Para isso, é possível utilizar variáveis de memória disponíveis pelo Sistema.

Ao criar uma fórmula de prazo,  utilizando UserFunction, fica disponível a variável QUANTIDADE, que contém a quantidade da necessidade do item informada na abertura da OP (ordem de produção), no cálculo do MRP (Material Requirement Planning) ou na solicitação de compra, permitindo obter o tempo real que se pretende avaliar o prazo de entrega do material. Porém, essa variável somente existirá no momento da execução da UserFunction associada à fórmula.

Dessa forma, o primeiro passo é a criação da UserFunction (ex.: FORMPRZ() que será relacionada à fórmula do prazo de entrega. Se esta função utilizar variáveis de memória, estas só estarão disponíveis durante a sua execução, sendo assim, deve-se criar uma UserFunction vazia, relacioná-la no cadastro de fórmulas e depois alterá-la incluindo as linhas de programa para a sua execução.


02. EXEMPLO DE UTILIZAÇÃO

Verifique a aplicação prática a seguir para o uso do campo Fórmula Prazo com UserFunction, observando a ordem.

1. Crie uma UserFunction (função de usuário) para o cálculo do prazo de entrega.

Exemplo:

UserFunction FORMPRZ()

Return

2. Em Cadastro de Fórmulas, associe a UserFunction a uma fórmula para o cálculo do prazo de entrega, observe:


Neste momento, a UserFunction é executada para teste (validação). Caso exista alguma inconsistência, o Sistema não permite a gravação da fórmula.

3. Após o cadastro da fórmula, altere a UserFunction definindo a forma do cálculo do prazo de entrega.

Observe o exemplo:

User Function FORMPRZ()

// O prazo de entrega mínimo válido para cada 100 peças, será o período informado no

// campo Entrega (B1_PE)

Return Max((QUANTIDADE/100)*SB1->B1_PE,SB1→B1_PE)

4. Informe no campo Prazo Entrega (B1_FORPRZ), o código da fórmula cadastrada, nesse caso 001.

Lembre-se que a variável QUANTIDADE utilizada no exemplo da userfunction FORMPRZ(), somente existirá na execução da função criada e associada à fórmula do prazo.

Observe outro exemplo para a utilização da variável Quantidade:

Exemplo:

Supondo que um produto cujo prazo de entrega seja de 10 lotes econômicos por dia.

A fórmula para expressar o prazo de entrega deste produto no campo Fórmula Prazo será:

Round((QUANTIDADE/(10*B1_LE)),0)

Essa fórmula retorna o prazo em DIAS necessários para a produção de uma determinada quantidade planejada, através do MRP ou o tempo total a ser gasto para a produção de uma ordem de produção, e demais rotinas que tratam o prazo de entrega.

O retorno da fórmula é em dias e em variável numérica.

A fórmula é utilizada em qualquer rotina onde é calculado o prazo de entrega do produto, como por exemplo, MRP, Ordem de Produção, etc.