Árvore de páginas

MT650APSE - Controla o apontamento de OPs sem empenhos no Apontamento de Produção do Chão de Fábrica pelo APP Minha Produção

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

PARAMIXB[1]

Model


Model da CYV do SFCA314






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 MT650APSE é utilizado para controlar o Apontamento de Produção do Chão de Fábrica (SFC) pelo APP Minha Produção de OPs sem empenho gerado.

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 os empenhos e as OPs intermediárias criadas. Deseja mesmo produzi-la?", quando é efetuado um apontamento da produção simples, MOD2 ou do Chão de Fábrico, pelo Protheus Padrão. Quando o apontamento é efetuado pelo APP Minha Produção, se o parâmetro 'MV_APTEMP' estiver True, o sistema permite prosseguir o apontamento mesmo se a OP não possuir empenhos e OPs intermediárias.

Quando o parâmetro 'MV_APTEMP' estiver False é 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 MT650APSE permite que a decisão de prosseguir com um apontamento da produção, efetuado pelo SFC, sem OPs intermediárias e empenhos, possa ser efetuada pelo usuário, sem interferência do parâmetro 'MV_APTEMP'.

Para fazer esse controle para o Apontamento de Produção(MATA250) ou uma Produção PCP Mod1(MATA680). é utilizado o Ponto de Entrada MT650PISC: MT650PISC - Controla a geração de OPs intermediárias e empenhos


Programa Fonte:

MATA650.PRX

Sintaxe:

MT650APSE - Controla apontamento sem empenho no SFC pelo APP  ( [ ] ) --> lRet

Retorno:

lRet

    (logico)
  • É esperada como retorno uma variável lógica onde: 
    .T. →Permite prosseguir com a geração do apontamento sem Empenhos
    .F. →Não permite prosseguir com a geração do apontamento sem Empenhos
Variáveis:
Nome
Tipo
Escopo
Pode Alterar
Descrição
lRet
Lógico
Local
Não
.T. -→Permite prosseguir com a geração do apontamento sem Empenhos
.F. →Não permite prosseguir com a geração do apontamento sem Empenhos

Observações:

Para permitir que o usuário possa sinalizar se o apontamento do chão de fábrica pode ser efetuado, caso a OP não possua empenhos, é necessário utilizar a opção de campos customizados disponível no formulário de apontamento da produção, utilizado pelo APP Minha Produção Protheus. Onde deverá ser criado um campo para o usuário poder preencher com 'S' ou 'N', indicando se caso a OP não possua empenhos gerados, o apontamento deve ou não prosseguir.

No SIGACFG é necessário criar um campo na tabela CYV, do tipo 'caracter', com tamanho igual a 1, para o usuário poder informar se pode ou não apontar a OP sem empenho (no exemplo utilizado foi criado o campo CYV_APONTA):


No programa Formulário do Apontamento da Produção (PCPA125), o campo novo deverá ser incluído na aba "Campos Customizados", para o tipo CustomFieldCharacter, como visível e editável. É possível definir um valor padrão com o conteúdo mais utilizado, ou seja, se a maioria das OPs não podem ser apontadas sem empenho, então o valor padrão deverá ser 'N' (não):


O EXEMPLO 2 de código mostra como programa do ponto de entrada MT650APSE deve ser criado para que seja possível recuperar o conteúdo do campo customizado e retornar para o sistema verdadeiro ou falso, para prosseguir ou não com o apontamento da produção em questão.


Exemplo:
//--------------------------- EXEMPLO 1  ----------------------------------------------------------------------------------//
User Function MT650APSE() 
Local lRet  

//...customização do cliente 

Return lRet

//--------------------------- EXEMPLO 2  ----------------------------------------------------------------------------------// 
User Function MT650APSE()

Local oModel := PARAMIXB[01] // model da tabela CVY
Local cAponta := 'N'
Local lRet := F

If Type("_IsPost314") != "L" //Esse bloco é necessário para identificar que a chamada da função foi efetuada pelo APP minha produção e não interferir em outros
   _IsPost314 := .F.         //tipos de apontamento
EndIf

If _IsPost314 
   cAponta := oModel:GetValue('CYV_APONTA') //campo novo criado na tabela CYV e cadastrado nos campos customizados do formulário no PCPA125
EndIF

If cAponta == 'S'
   lRet :=.T.   
EndIf

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