Abrangências: | Microsiga Protheus 11 , Protheus 10 |
Versões: | Protheus 11 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Todos |
Descrição: cadastramento de Ordens de Produção que é um documento que inicia o processo de fabricação do produto relacionando todos os componentes e as etapas de fabricação determinadas por sua estrutura, além disso, é essencial na geração das requisições dos materiais.
Importante: o sistema administra as OPs de sua geração ao seu término. A ordem de produção pode ser incluída manualmente, OPs por Pedidos de Venda (através da geração de OPs) e por ponto de pedido (através do MRP - projeção de estoque).
É possível identificar as OPs incluídas manualmente e as geradas automaticamente por meio de seus códigos.
As OPs são referenciadas nas atualizações e consultas através da seguinte composição de código:
Número da OP + Item + Sequência.
As atualizações das OPs são efetuadas pela informação das movimentações internas (baixa). Uma OP é encerrada quando o sistema detecta uma movimentação do Tipo Produção para o valor total da OP ou quando a soma de movimentações do Tipo Produção totaliza a quantidade original da OP.
O custeio de uma OP é calculado através da soma dos custos dos componentes por nível até o nível do produto pai.
É possível visualizar o andamento do processo de execução das OPs através da opção Gráfico na janela de manutenção de Ordens de Produção.
Quando uma ordem de produção é incluída, o sistema verifica automaticamente tudo o que é necessário para que esta produção possa ser executada e efetua o empenho de todos os materiais necessários conforme determinado em sua estrutura.
Programa fonte: MATA650.PRX
Sintaxe: MATA650 - Cadastro de Ordem de Produção ( aRotAuto, nOpcAuto ) --> Nil
Retorno: Nil (Nulo)
Observações: O parâmetro AUTEXPLODE, demonstrado no exemplo abaixo, é preenchido na execução da rotina automática para definir se as OPs intermediárias e as solicitações de compras, que ainda não foram geradas, devem ser geradas automaticamente ou não.
Para cadastros manuais, é apresentada uma mensagem ao sair do ambiente de cadastro da Ordem de Produção perguntando se as OPs intermediárias e as solicitações de compras devem ser geradas.
O segundo parâmetro da rotina Mata650 refere-se as opções de execução considerando os seguintes critérios:
1 = Pesquisa
2 = Visualização
3 = Inclusão
4 = Alteração
5 = Exclusão
#Include "Protheus.ch" #include "rwmake.ch" #include "TbiConn.ch" User Function Tmata650() Local aMATA650 := {} //-Array com os campos //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ 3 - Inclusao ³ //³ 4 - Alteracao ³ //³ 5 - Exclusao ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Local nOpc := 5 Private lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "01" FILIAL "0101" aMata650 := { {'C2_FILIAL' ,"0101" ,NIL},; {'C2_PRODUTO' ,"PROD001 " ,NIL},; {'C2_NUM' ,"000097" ,NIL},; {'C2_ITEM' ,"01" ,NIL},; {'C2_SEQUEN' ,"002" ,NIL}} ConOut("Inicio : "+Time()) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Se alteracao ou exclusao, deve-se posicionar no registro ³ //³ da SC2 antes de executar a rotina automatica ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If nOpc == 4 .Or. nOpc == 5 SC2->(DbSetOrder(1)) // FILIAL + NUM + ITEM + SEQUEN + ITEMGRD SC2->(DbSeek(xFilial("SC2")+"000097"+"01"+"002")) EndIf msExecAuto({|x,Y| Mata650(x,Y)},aMata650,nOpc) If !lMsErroAuto ConOut("Sucesso! ") Else ConOut("Erro!") MostraErro() EndIf ConOut("Fim : "+Time()) RESET ENVIRONMENT Return Nil