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): |
| ||||||||||||||||||||||||||
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
| ||||||||||||||||||||
Variáveis: |
| ||||||||||||||||||||
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 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.