Versões: | Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Idiomas: | Espanhol , Inglês, Português |
LOCALIZAÇÃO : Executado nas funções A250Atu(), A250Estoq(), LotesSD4() e ExplodeSD4().
EM QUE PONTO : O Ponto de entrada é executado na tela de atualização do MATA250.
Utilizado para filtrar as requisições empenhadas na atualização do mesmo.
Programa Fonte: MATA250.PRX
A250FSD4 - Filtra as requisições empenhadas na atualização do MATA250 ( ) --> lRet
- Um retorno lógico .T. confirma a requisição do empenho
- Um retorno .F. não faz a requisição do empenho
- Se o retorno não for logico o sistema ira assumir .T. (verdadeiro).
PARAMIXB[01] = Índice utilizado para o cálculo da quantidade a ser requisitada na SD4.
PARAMIXB[02] = Indicador de atualização de saldo ( .T. = Efetua a atualização de saldo / .F. = Não efetua atualização de saldo/Somente validações de estoque)
- A250Estoq() Verifica quantidade em estoque dos empenhos da OP - PARAMIXB[02] = F
- LotesSD4() Verifica saldo em estoque e gera lotes produção automática - PARAMIXB[02] = F
- A250Atu() Atualizações (SD3, SB2, SB3, SC2...) - PARAMIXB[02] = T
- ExplodeSD4() Processa as produções através do empenho - PARAMIXB[02] = T
Estrutura
Pai: PA-001
Componentes: MP-001 QTD: 1 e MP-002 QTD: 3
OP: 00023601001 QTD: 50
Empenho - SD4
D4_COD: MP-001 D4_QTDEORI: 50 D4_QUANT: 50
D4_COD: MP-002 D4_QTDEORI:150 D4_QUANT: 150
Apontando quantidade 6
O primeiro valor do PE corresponde ao índice da quantidade que está sendo apontada com base na quantidade planejada da OP.
Ou seja:
Índice= Quantidade apontada / Quantidade da OP
Índice = 6 / 50 = 0,12
Será apontada 0,12 da quantidade total da OP.
A requisição dos componentes é feita com base nos empenhos da ordem de produção (SD4 - Requisições Empenhadas) e o cálculo da quantidade a ser requisitada é com base no índice que está sendo apontado.
Para o componente MP-001 que possui quantidade empenhada de 50 e o índice da OP é de 0,12, será requisitado 6 (50 * 0,12 = 6).
Para o componente MP-002 que possui quantidade empenhada de 150 e o índice da OP é de 0,12, será requisitado 18 (150 * 0,12 = 18).
User Function A250FSD4() Local lRet := .T. Local nIndice := PARAMIXB[1] Local lAtuSaldo := PARAMIXB[2] If SD4->D4_COD == 'MP-001' .And. nIndice < 1 //SD4 está posicionada no empenho que está sendo validado. lRet := .F. EndIf Return lRet