Histórico da Página
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: | Serviços | ||||||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||||||||||
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
|
|
| |||||||||||||||||||||
Variáveis: |
| ||||||||||||||||||||
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 |
Bloco de código | ||||
---|---|---|---|---|
| ||||
//--------------------------- 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 //Se entrou no PE indica que não existe empenho para a OP //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 esse produto. //- 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 |