Home

Linha Microsiga Protheus

Páginas filhas
  • MATA650 - Cadastro de Ordem de Produção
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

 

Exemplo
#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