Árvore de páginas

MT650PISC - Controla a geração de OPs intermediárias e empenhos ao realizar um Apontamento de Produção Simples ou Produção PCP Mod1

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):


Nome
Tipo
Descrição
Default
Obrigatório Referência



Array of Record








Idiomas:

Português (Brasil)

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

O parâmetro MT650PISC é utilizado para controlar as mensagens de validação de Geração de OPs Intermediárias e Empenhos ao realizar um Apontamento de Produção(MATA250) ou uma Produção PCP Mod1(MATA680).

Localização:

Function A650OpBatch - Efetua validação de Geração de OPs Intermediárias e Empenhos

Quando o parâmetro 'MV_APTEMP' está marcado é apresentada a pergunta "A OP informada não teve as OPs intermediárias criadas. Deseja mesmo produzi-la?".

O ponto de entrada MT650PISC define se mostra ou não esta pergunta de confirmação.


Quando o parâmetro 'MV_APTEMP' está desmarcado é apresentada a mensagem 'Não é possível registrar o apontamento pois não foi gerado empenho para a OP. Ordem de produção sem empenho.' e não permite realizar o apontamento.

O ponto de entrada MT650PISC define se mostra ou não esta mensagem.

Programa Fonte:

MATA650.PRX

Sintaxe:

MT650PISC - Controla a geração de OPs intermediárias ( [ ] ) --> lRet

Retorno:

lRet

    (logico)
  • É esperada como retorno uma variável lógica onde: 
    .T. ->Exibe a pergunta/mensagem que controla a geração de OPs intermediárias/Empenhos
    .F. ->Não Exibe a pergunta/mensagem que controla a geração de OPs intermediárias/Empenhos
Variáveis:
Nome
Tipo
Escopo
Pode Alterar
Descrição
lRet
Lógico
Local
Não
.T. ->Exibe a pergunta/mensagem que controla a geração de OPs intermediárias /Empenhos
.F. ->Não Exibe a pergunta/mensagem que controla a geração de OPs intermediárias/Empenhos

Observações:

Para fazer a validação de geração de OPs Intermediárias ao incluir uma Ordem de Produção(MATA650), é utilizado o Ponto de Entrada MTA650OK: MTA650OK - Inibe diálogo confirmando criação OPs e SCs

Exemplo:
//--------------------------- EXEMPLO 1  ----------------------------------------------------------------------------------//
User Function MT650PISC 
Local lRet  

//...customização do cliente 

Return lRet

//--------------------------- EXEMPLO 2  ----------------------------------------------------------------------------------//
User Function MT650PISC()
Local lRet     := .F.
Local aArea    := GetArea()

cOp      := M->D3_OP
cProdPai := SC2->C2_PRODUTO

//OBJETIVO DESTE EXEMPLO: NÃO APRESENTAR MENSAGEM QUANDO EXISTIR SOMENTE PRODUTOS FANTASMAS NA ESTRUTURA.

//Verifica se existe algum produto que não seja fantasma
//Se existir algum produto que não seja fantasma deverá apresentar mensagem
SG1->(dbSetOrder(1))
SG1->(dbSeek(xFilial("SG1")+cProdPai))
Do While SG1->(!Eof()) .And. SG1->(G1_FILIAL+G1_COD) == xFilial("SG1")+cProdPai

	SB1->(dbSetOrder(1))
   If SB1->(dbSeek(xFilial("SB1")+SG1->G1_COMP)) 
      If SB1->B1_FANTASM == 'N' .Or. Empty(SB1->B1_FANTASM)
         lRet := .T.
         Exit
      EndIf
   EndIf

   SG1->(dbSkip())
EndDo

//Este é um exemplo simples.

//É possível implementar outras regras, por exemplo:
//- Explodir a estrutura e verificar se existe algum componente não fantasma abaixo do fantasma.
//  Neste caso deveria gerar o empenho para este produto abaixo do fantasma.
//- Validar revisão e data de validade da estrutura.

// Lembrando que este PE é chamado a cada apontamento, dependendo das validações pode afetar a performance.

RestArea(aArea)

Return lRet