1. Introdução
Apontar é registrar o que de fato aconteceu na produção: quais insumos foram consumidos, quem trabalhou e por quanto tempo, quais máquinas rodaram e sob que motivo de setup, e quanto produto saiu pronto. Tudo isso acontece dentro de um processo aberto, e é isso que dá a esta página a sua forma: uma espinha de quatro operações que abrem e fecham o processo, com um bloco de cinco apontamentos entre elas.
Esta página pressupõe a Ordem de Produção já criada, programada, firmada e com estoque reservado — ver Criação e Preparação. E pressupõe a página central do módulo lida, porque a configuração da instância muda o comportamento deste fluxo mais do que o de qualquer outro.
O primeiro apontamento fecha a janela de reversibilidade da preparação. A partir dele, alterar a quantidade a fabricar, trocar previsão de insumo, liberar reserva, cancelar ou remover a Ordem de Produção passam todos a recusar. O caminho de volta existe — são as rotinas de remoção dos Passos 9 a 12 e as de desfazer dos Passos 13 e 14 —, mas ele é assimétrico, e vale a pena conhecê-lo antes de apontar o primeiro item.
2. Onde encontrar o dicionário oficial da sua API
Esta documentação é complementar. A fonte da verdade sobre parâmetros, tipos, domínios e exemplos é o dicionário da sua instância, gerado a partir do que o seu token alcança. A explicação de como chegar a ele está na página central do módulo.
Confirme no dicionário da sua instância se o objeto que você precisa está disponível para o seu token. O escopo varia por instalação e por token: um objeto citado aqui pode não estar liberado na sua. Se faltar, peça ao gestor do ERP a revisão do cadastro de API.
3. Como a API funciona
Os métodos usados nesta página:
| Método | Para que serve aqui | Exemplo de objeto |
|---|---|---|
PATCH |
Executar as catorze rotinas de apontamento, remoção e controle do processo. | FAB_PRC_APTABRIRPROCESSO, FAB_PRC_APTINSUMOS |
GET |
Consultar os insumos apontáveis, os lotes e números de série disponíveis, as pessoas e as máquinas. | FAB_RES_APTORDPRO61, FAB_VIEW_PESSOA |
4. Visão geral do fluxo
O fluxo tem uma espinha de duas operações obrigatórias, e entre elas um bloco de cinco apontamentos que não têm ordem entre si:
- Abrir o processo —
FAB_PRC_APTABRIRPROCESSO. Marca o início realizado e consome automaticamente os insumos configurados como "Automático do Previsto". - Apontar — insumos, mão de obra, setup de máquina e produto fabricado, em qualquer ordem, quantas vezes for preciso, enquanto o processo estiver aberto.
- Fechar o processo —
FAB_PRC_APTFECHARPROCESSO. Marca o término realizado, consome os insumos configurados como "Conforme o Produzido" e devolve o saldo reservado não consumido.
Os processos são abertos e fechados na ordem de execução declarada na Fórmula. Um processo só abre depois que todos os de ordem anterior estiverem concluídos.
Os dois momentos de consumo automático são distintos, e é o campo OPD_APONTAMENTO de cada insumo reservado que decide qual vale. O valor 1 é consumido na abertura; o valor 2, no fechamento. Os dois são automáticos, mas tratá-los como a mesma coisa é o erro que mais confunde este fluxo. A tabela completa está no Passo 3.
5. Diagrama de execução
Convenção visual: verde (avanço do fluxo) · azul (desfazer) · tracejado (bloco sem ordem interna).
6. Aviso sobre liberação na retaguarda
Três configurações da instância mudam o que este fluxo faz, e nenhuma se resolve pela API.
CFG_RESERVAPARCIAL— com0, não existe reserva na instância,FABORDPRO6fica vazia e a abertura do processo não consome insumo automático nenhum, porque é dessa tabela que ela lê. O apontamento passa a ser inteiramente manual.CFG_VERINSUMOAPT— decide o que a consulta de insumos apontáveis devolve: os já apontados, os reservados, ou os previstos mais os reservados. Ver o Passo 2.CFG_TRAVAAPTINSUMOS— troca o texto da recusa quando o local de estoque do insumo não pode ser resolvido. Não libera nada: a mensagem alternativa remete a uma tela do ERP, e o equivalente pela API é acrescentar o insumo à previsão do processo antes de apontar.
Além delas, o verbo PATCH precisa estar liberado no cadastro de API para cada rotina que você pretende chamar.
| Pré-requisito | Por que importa |
|---|---|
Ordem de Produção Firmada (OPD_STATUS = 1) | Todas as rotinas de apontamento a exigem. Ver Preparação, Passo 9. |
| Estoque reservado | Sem reserva, o consumo automático não acontece e o apontamento manual de insumo pode ser recusado — ver o Passo 4. |
Funcionários (FABPESSOA1) | Quem aponta mão de obra por funcionário. Consulte por FAB_VIEW_PESSOA; os afastamentos estão em FAB_VIEW_AFASTAMENTO. |
Tipos de RH (FABTIPORH) | As funções apontáveis no modelo por função. |
Máquinas (FABMAQUINA1) | Precisam estar no processo da Ordem de Produção, ou na Fórmula — ver o Passo 6. Consulte por FAB_VIEW_MAQUINA. |
Motivos de setup (FABMOTIVOSETUP) | O MSU_TIPO de cada motivo decide se ele é de parada ou de início, e se pode incluir máquina nova. |
Lotes (PRODLOTE) e números de série (PRODNS) | Onde os lotes e séries do estoque vivem. O lote do insumo é obrigatório quando a filial e o produto usam controle de lote. |
| A Fórmula bem configurada | Três campos dela governam este fluxo: FRM_APONTAMENTO de cada insumo, FRM_MODELOAPTRH e a sugestão de número de série. Ver Fórmula de Fabricação. |
É o ponto de partida correto antes de apontar insumo: lista os insumos do processo com a quantidade prevista e a quantidade já apontada de cada um. Recebe a Ordem de Produção e o processo, e não grava nada.
{
"method": "GET",
"objectType": "PROCEDURE RESULT",
"objectName": "FAB_RES_APTORDPRO61",
"params": [
{ "name": "P_OPD_COD", "value": "1001" },
{ "name": "P_PRO_COD", "value": "10" }
]
}
O conjunto que ela devolve depende da instância. O campo CFG_VERINSUMOAPT governa a lista:
| Valor | O que a consulta devolve |
|---|---|
0 | Os insumos já apontados do processo. |
1 | Os insumos reservados, com a quantidade já apontada quando houver. |
2 | Os insumos previstos, mais os reservados que não estavam previstos. |
Consulte CFG_VERINSUMOAPT antes de interpretar uma lista vazia — pode ser configuração, não ausência de insumo. Com o valor 1, lista vazia significa que o processo ainda não teve estoque reservado: reserve primeiro, pelo Passo 10 da Preparação.
No retorno, PREV_UND e PREV_QTD trazem a unidade e a quantidade previstas; OPD_UNI e OPD_QTD, as já apontadas. Insumo ainda não apontado vem com as colunas de apontamento vazias. OPD_ITM identifica o item, e é o valor que a remoção do Passo 9 vai exigir.
OPD_TIPO no retorno é o tipo do apontamento [1-Consumo; 2-Perda; 3-Devolução], e não o tipo da Ordem de Produção. São dois campos homônimos em tabelas diferentes, e confundi-los leva a montar a chamada errada.
Marca o início realizado do processo e o usuário responsável. É a primeira operação da espinha.
{
"method": "PATCH",
"objectType": "PROCEDURE",
"objectName": "FAB_PRC_APTABRIRPROCESSO",
"params": [
{ "name": "P_OPD_COD", "value": "1001" },
{ "name": "P_PRO_COD", "value": "10" },
{ "name": "P_OPD_DATINIREAL", "value": "2026-08-20 08:00:00" }
]
}
Valores ilustrativos. Os códigos acima são exemplos. Use os cadastros da sua instância. A assinatura completa e autoritativa está no dicionário oficial.
P_OPD_DATINIREAL nula assume a data e hora atuais. Os segundos são sempre zerados — a data é truncada ao minuto, para que os apontamentos de pessoas e máquinas casem com a janela do processo.
O que a abertura consome sozinha
Para cada insumo reservado do processo com OPD_APONTAMENTO = 1, a abertura lança automaticamente um apontamento de consumo, pela quantidade reservada. Só o valor 1.
Os cinco valores de OPD_APONTAMENTO
Este é o campo que decide o comportamento de cada insumo no apontamento. Ele nasce em FABORDPRO6 herdado do FRM_APONTAMENTO daquele insumo na Fórmula, no momento da reserva:
| Valor | Significado | Quando o consumo acontece |
|---|---|---|
0 | Manual | Nunca sozinho. Só por chamada explícita do Passo 4. |
1 | Automático do Previsto | Na abertura do processo, pela quantidade reservada. |
2 | Conforme o Produzido | No fechamento do processo, proporcional ao que foi produzido — ver o Passo 8. |
3 | Conforme Lotes — Iniciais e Complementares | Nenhum consumo automático — ver o aviso abaixo. |
4 | Conforme Lotes — Sequenciais | Nenhum consumo automático — ver o aviso abaixo. |
Os valores 3 e 4 são aceitos no cadastro, mas nenhuma rotina de apontamento os trata. Só 1 e 2 disparam consumo automático — na abertura e no fechamento, respectivamente. Insumo gravado com 3 ou 4 se comporta como Manual: nada é consumido sozinho, e o apontamento fica por sua conta.
A view FAB_VIEW_APTOINSUMO só oferece os dois valores em instalações específicas, e o cadastro ainda exige que o produto controle lote para aceitá-los — "Para usar a configuração ‘Conforme Lotes Informados (3)’ é necessário que o produto N controle Lote". Nenhuma das duas conferências, porém, faz o consumo acontecer.
Este domínio não aparece no dicionário. Ele está publicado aqui porque é onde você consegue lê-lo por inteiro. A lista dos valores oferecidos na sua instalação está na view FAB_VIEW_APTOINSUMO.
Duas situações em que o Passo 3 se comporta de outro jeito
| Situação | O que acontece |
|---|---|
CFG_RESERVAPARCIAL = 0 |
A abertura não consome nada, qualquer que seja o valor de OPD_APONTAMENTO. Ela lê a quantidade reservada de FABORDPRO6, e sem reserva essa tabela está vazia. Todo o apontamento de insumo passa a ser manual. |
Ordem de Produção de OPD_TIPO = 2Produção em Terceiros |
Não é preciso chamar este passo. Se o processo ainda não estiver aberto, FAB_PRC_APTINSUMOS o abre sozinha. É o que faz o fluxo de nota de terceiros funcionar sem chamada de abertura. O mesmo vale para FAB_PRC_APTPRODUTOFABRICADO. |
Ordem de abertura
Todos os processos de ordem de execução anterior precisam estar concluídos — iniciados e fechados. A recusa lista os processos pendentes. Processos de mesma ordem de execução correm em paralelo e podem ser abertos independentemente.
Registra consumo, perda ou devolução de um insumo no processo. São doze parâmetros:
| Parâmetro | Descrição |
|---|---|
P_OPD_COD | Ordem de Produção. Precisa estar Firmada. |
P_PRO_COD | Processo, que precisa estar aberto — salvo em Produção em Terceiros, onde a rotina o abre. |
P_SPR_COD | Subprocesso. Pode vir nulo: o servidor o preenche sozinho somente quando existe exatamente um subprocesso cadastrado. Com dois ou mais, informe. |
P_PD_COD | Produto insumo. Precisa estar ativo no cadastro. |
P_PD_UNI | Unidade do apontamento. A quantidade é convertida para unidade de estoque pelo fator de PRODEQUIV; sem equivalência cadastrada o fator usado é 1. |
P_PD_LOTE | Lote. Obrigatório quando a filial e o produto usam controle de lote. |
P_PD_NUNSER | Número de série do insumo. Aceito e gravado, mas sem captura na tela do ERP. |
P_LE_COD | Local de estoque. Pode vir nulo — ver a cascata abaixo. |
P_EE_COD | Endereço de estoque. Opcional. |
P_OPD_QTD | Quantidade, na unidade informada. |
P_OPD_TIPO | Tipo do apontamento [1-Consumo; 2-Perda; 3-Devolução]. |
P_OBS | Observações livres. |
Exemplo — apontar consumo de um insumo
{
"method": "PATCH",
"objectType": "PROCEDURE",
"objectName": "FAB_PRC_APTINSUMOS",
"params": [
{ "name": "P_OPD_COD", "value": "1001" },
{ "name": "P_PRO_COD", "value": "10" },
{ "name": "P_SPR_COD", "value": "1" },
{ "name": "P_PD_COD", "value": "204" },
{ "name": "P_PD_UNI", "value": "KG" },
{ "name": "P_PD_LOTE", "value": "L2608A" },
{ "name": "P_LE_COD", "value": "1" },
{ "name": "P_OPD_QTD", "value": "12.500000" },
{ "name": "P_OPD_TIPO", "value": "1" },
{ "name": "P_OBS", "value": "Consumo do turno da manhã" }
]
}
Como o local de estoque é resolvido quando você não informa
Com P_LE_COD nulo, o servidor procura o local nesta ordem, e usa o primeiro que encontrar:
- a reserva daquele insumo na Ordem de Produção;
- a previsão do insumo no processo;
- o insumo na Fórmula;
- o insumo alternativo na Fórmula.
Nenhuma das quatro resolvendo, a chamada é recusada pedindo o local de estoque. Informar P_LE_COD explicitamente evita a cascata inteira e é o caminho previsível.
Quando a reserva prévia é exigida
Para Ordem de Produção de Produção Própria Interna ou de finalidade Fracionamento, com CFG_RESERVAPARCIAL = 1 e o insumo configurado como Manual na Fórmula, o processo precisa ter estoque reservado antes do apontamento. Reserve primeiro pelo Passo 10 da Preparação.
O custo unitário real é calculado pelo servidor, conforme o tipo de preço de custo configurado na Fórmula e a tabela de preços dela. Apontamento de devolução (tipo 3) entra com custo zerado.
A Ordem de Produção aceita uma das duas rotinas, nunca as duas. Quem decide é o campo OPD_MODELOAPTRH do cabeçalho, herdado de FRM_MODELOAPTRH da Fórmula:
| Valor | Modelo | Rotina aceita |
|---|---|---|
0 | Por Funcionário | FAB_PRC_APTMAODEOBRA |
1 | Por Função | FAB_PRC_APTMAODEOBRAFUNCAO |
Chamar a rotina errada é recusado. Consulte OPD_MODELOAPTRH em FAB_VIEW_ORDEMPRODUCAO antes de montar a integração — ele não muda depois que a Ordem de Produção nasce.
Por funcionário — FAB_PRC_APTMAODEOBRA
Registra o início ou a parada de um colaborador no processo. Seis parâmetros: Ordem de Produção, processo, código da pessoa, ocorrência, observação e data e hora da ocorrência.
| Ponto | Detalhe |
|---|---|
Domínio de P_OPD_OCR | [1-Parar; 2-Iniciar]. Confira a ordem: existem comentários antigos que a invertem, e estão errados. |
| A função não é parâmetro | O tipo de RH é descoberto pelo servidor a partir do código da pessoa, no cadastro de funcionários. |
| O item também não | O número do item do apontamento é gerado pelo servidor, como o maior existente mais um. |
Data e hora nula faz a chamada não fazer nada, e não é erro. A rotina encerra em silêncio, sem gravar e sem mensagem. Se o seu integrador puder enviar data nula, valide antes: um apontamento que "deu certo" e não existe é difícil de rastrear depois.
Por função — FAB_PRC_APTMAODEOBRAFUNCAO
Registra a função e a quantidade de pessoas num intervalo, em vez de nomear cada colaborador. Sete parâmetros; os três últimos são opcionais.
O apontamento pode ser feito em duas etapas: uma chamada só com o início abre o apontamento, e uma chamada posterior para a mesma função só com o término o completa — em vez de criar um registro novo.
Enquanto houver apontamento em aberto para uma função, o servidor recusa iniciar outro da mesma função. Feche o que está aberto antes de abrir o próximo. As recusas são explícitas: uma pede o término antes, a outra pede o início antes.
Exige quantidade de pessoas maior que zero, e ao menos um entre início e término preenchido. A data de início não pode ser anterior ao início real do processo, e o término precisa ser posterior ao início quando os dois vierem.
Registra a parada ou o início de uma máquina no processo, sempre com um motivo de setup. Seis parâmetros: Ordem de Produção, processo, máquina, motivo, ocorrência e data e hora.
O motivo e a ocorrência precisam ser coerentes
Cada motivo de setup tem um MSU_TIPO, e ele determina qual ocorrência é aceita:
MSU_TIPO | Motivo | Ocorrência exigida |
|---|---|---|
0 | Normal | Qualquer uma. |
1 | Parada Fábrica | P_OPD_OCR = 1, Parar. |
2 | Início Fábrica | P_OPD_OCR = 2, Iniciar. |
3 | Parada por Defeito Impeditivo | P_OPD_OCR = 1, Parar. |
4 | Início de Nova Máquina | P_OPD_OCR = 2, Iniciar. |
O domínio de P_OPD_OCR é [1-Parar; 2-Iniciar]. Incoerência entre motivo e ocorrência é recusada nomeando qual das duas o motivo exige.
A máquina precisa estar no processo — com uma exceção
Em regra, a máquina já tem de estar cadastrada no processo da Ordem de Produção. A exceção é o motivo de MSU_TIPO = 4, "Início de Nova Máquina":
| Situação | O que acontece |
|---|---|
Máquina não está no processo, motivo com MSU_TIPO = 4, e a máquina consta na Fórmula | O servidor insere a máquina no processo automaticamente, com horas e custos zerados, e aceita o apontamento. |
Máquina não está no processo, motivo com MSU_TIPO = 4, e a máquina não consta na Fórmula | Recusa nomeando a Fórmula. Acrescente a máquina na Fórmula antes. |
| Máquina não está no processo, motivo de outro tipo | Recusa nomeando a Ordem de Produção. |
Máquina já está no processo, motivo com MSU_TIPO = 4 | Recusa: o motivo é inválido nesse caso. Use um motivo de outro tipo. |
Esta é a única forma de acrescentar máquina a um processo já em execução pela API. Cadastre um motivo de setup com MSU_TIPO = 4 na retaguarda, garanta que a máquina conste na Fórmula, e aponte o setup com esse motivo e ocorrência de Início. Sem isso, o caminho é a troca de máquina do Passo 8 da Preparação, que só vale antes da abertura.
O processo precisa estar aberto: iniciado e ainda não fechado.
Registra a quantidade produzida ou perdida de produto acabado. Sete parâmetros: Ordem de Produção, produto, unidade, lote, quantidade, tipo [1-Produção; 2-Perda] e endereço de estoque.
Quando o apontamento é aceito
Depende de FRM_APTPRODANTESPROC, da Fórmula. Com o valor 0 — "Somente ao término dos Processos" —, todos os processos precisam estar iniciados e fechados; a recusa lista os pendentes. Com os valores 1 a 4, o apontamento é aceito antes. A matriz dos cinco valores está na página de Fórmula.
Com FRM_APTPRODANTESPROC = 2, o apontamento dispara a Nota Fiscal de entrada do produto acabado automaticamente. Os efeitos fiscais de cada valor estão em Documentos e Encerramento.
Lote: quem informa depende da Fórmula
| Configuração da Fórmula | Quem informa o lote |
|---|---|
FRM_SUGESTAOLOTE = 0 | Você, em P_PD_LOTE — obrigatório se o produto usa controle de lote. Se já houver lote gravado para o produto na Ordem de Produção, ele prevalece sobre o parâmetro. |
FRM_SUGESTAOLOTE diferente de 0 | O servidor, pelo método configurado. P_PD_LOTE precisa vir vazio: informar lote nesse caso é recusado. |
Número de série: não há parâmetro, e a configuração decide tudo
FAB_PRC_APTPRODUTOFABRICADO não tem parâmetro de número de série. Os números são gerados pelo servidor, e somente quando as três condições valem ao mesmo tempo:
- o produto controla número de série (
PROD.PD_CTRLNSERIE = 2); - a Fórmula tem
FRM_SUGESTAOSERIEdiferente de0; - a Fórmula tem
FRM_MOMSUGESTAOSERIE = 0, "No Apontamento".
Configure a sugestão de número de série na Fórmula antes de apontar produto que controla série. Fora dessa configuração o apontamento é aceito e gravado sem série, sem nenhum aviso — e o rastreio se perde em silêncio. Ver Fórmula, Passo 3.
Quando as três condições valem, é gerado um número de série por unidade de estoque da quantidade apontada.
A amostra de qualidade sai junto
Se a Fórmula reserva quantidade para teste de qualidade e a amostra ainda não foi apontada, a chamada é decomposta em dois lançamentos: um para a amostra, no local de estoque de amostras da Fórmula, e outro para o restante. Nesse caso a quantidade informada precisa ser igual ou maior que a quantidade de teste, senão a chamada é recusada.
Em Produção em Terceiros esta rotina também abre o processo sozinha, como FAB_PRC_APTINSUMOS. Nos demais tipos, exige ao menos um processo já iniciado.
Marca o término realizado. É a operação mais densa do fluxo: antes de gravar, ela executa dois lançamentos automáticos e cinco conferências.
O que ela faz automaticamente, nesta ordem
- Consome os insumos de
OPD_APONTAMENTO = 2— "Conforme o Produzido" — proporcionalmente ao que foi produzido. Só entram os itens que ainda não têm apontamento nenhum, e só quando há produto fabricado apontado com quantidade real maior que zero. - Devolve o saldo reservado não consumido desses mesmos insumos, com um apontamento de devolução e observação automática.
A devolução automática alcança também o que você apontou à mão. Diferente do consumo automático, ela não filtra por ausência de apontamento anterior: para todo insumo com OPD_APONTAMENTO = 2, se sobrar saldo reservado não consumido, a diferença é devolvida — ainda que o consumo tenha sido lançado manualmente. Se a intenção era manter o saldo reservado, libere a reserva excedente antes de fechar.
Falha em um insumo não interrompe o laço: os erros são acumulados e devolvidos numa mensagem consolidada, uma linha por insumo, com o código do insumo e a causa original.
A regra de momento do produto, e a mensagem que engana
Com insumos de OPD_APONTAMENTO = 2 no processo, o produto fabricado precisa ter sido apontado antes do fechamento. Sem ele, o consumo automático não roda — ele depende da quantidade real produzida —, os insumos ficam sem apontamento, e a conferência seguinte recusa com uma mensagem sobre insumo:
É necessário informar os apontamentos de Insumo para o processo N da O.P. M.
A causa não é insumo faltando: é produto não apontado. Aponte o produto fabricado pelo Passo 7 e feche em seguida.
As cinco conferências do fechamento
| Conferência | O que exige |
|---|---|
| Apontamento de insumo | Ao menos um apontamento de insumo no processo. |
| Apontamento de mão de obra | Ao menos um. A mensagem distingue o modelo: a versão por função diz "(por Função)". |
| Processos anteriores | Todos os de ordem anterior com início e término preenchidos. |
| Setup de máquina em aberto | Nenhum setup iniciado e não encerrado. |
| Mão de obra em aberto | Nenhum apontamento de pessoa iniciado e não encerrado. Ordens de Serviço abertas também são conferidas. |
O processo precisa ter início preenchido e término ainda vazio, e a Ordem de Produção precisa estar Firmada.
Recebe um único parâmetro: uma lista serializada dos apontamentos a remover.
| Parâmetro | Formato |
|---|---|
P_INSUMOS | {OPD_COD;PRO_COD;OPD_ITM;OPD_ORD} por apontamento, concatenados sem separador nenhum. As chaves e os ponto-e-vírgulas fazem parte do formato. |
Os quatro números são, na ordem: Ordem de Produção, processo, item do apontamento e ordem de digitação — todos vindos de FABORDPRO61. Dois apontamentos ficam assim:
{1001;10;1;1}{1001;10;2;1}
Todos os processos citados na lista precisam estar abertos. A conferência é feita sobre o conjunto inteiro, não item a item: basta um processo fechado para a chamada inteira ser recusada com "O processo não está aberto." — mensagem que não diz qual. Removendo apontamentos de mais de um processo numa chamada, confira antes se todos estão abertos, ou remova processo a processo.
O que a remoção desfaz vai além do apontamento: reverte a movimentação de estoque e de endereçamento, exclui a Nota Fiscal e a ficha geradas, remove os números de série órfãos, e por fim apaga o apontamento. A reserva correspondente também some, quando fica sem saldo reservado e sem nenhum outro apontamento.
Ficha de estoque bloqueada impede a remoção. Antes de excluir, o servidor confere se o período dos movimentos permite alteração, filial a filial. Período fechado é recusa.
Duas rotinas, espelhando as duas de apontamento — e com a mesma assinatura: Ordem de Produção, processo, código do Tipo de RH e item.
| Rotina | Remove de |
|---|---|
FAB_PRC_REMOVERAPTMAODEOBRA | O apontamento por funcionário. |
FAB_PRC_REMOVERAPTMAODEOBRAFUNCAO | O apontamento por função. |
O terceiro parâmetro é o Tipo de RH, não o código da pessoa. Mesmo na rotina por funcionário, onde o apontamento foi feito informando a pessoa: o servidor converteu a pessoa em tipo de RH ao gravar, e a remoção pede o tipo. Comentários antigos do produto o chamam de "código da pessoa" — estão errados.
As duas exigem processo aberto. Cada chamada apaga um registro, identificado pela chave completa — e no modelo por funcionário isso significa que um par de início e parada exige duas chamadas, uma para cada item.
Item inexistente não produz mensagem: a exclusão afeta zero linhas e a chamada termina normalmente. Confira o resultado consultando a tabela de apontamento depois. A versão por função não reagrega o consolidado da função — se o total consolidado importa, recalcule o custo previsto pelo Passo 15 da Preparação.
Três parâmetros: Ordem de Produção, processo e máquina. Exige processo aberto.
Ela remove apenas o último apontamento daquela máquina — o de maior item —, não o histórico inteiro. Para desfazer vários, chame repetidamente, uma vez por apontamento, do último para o primeiro. Não há parâmetro de item: não dá para escolher qual remover.
E ela zera as horas e os custos da máquina no processo, independentemente de quantos apontamentos restem. As horas reais, as horas ociosas, o custo unitário real e o custo unitário ocioso voltam todos a zero. Depois de remover um setup de uma máquina que tem outros, os totais dela ficam zerados mesmo com apontamentos remanescentes. Recalcule o custo antes de tomar decisão sobre esses números.
Como a remoção de insumo, recebe um único parâmetro com a lista serializada — mas o formato tem três números, não quatro:
| Parâmetro | Formato |
|---|---|
P_PRODUTOS | {OPD_COD;OPD_PD_COD;OPD_ITM} por apontamento, concatenados sem separador. Ordem de Produção, produto e item — vindos de FABORDPRO12. |
{1001;138;1}{1001;138;2}
Não confunda os dois formatos. O da remoção de insumo tem quatro números e o segundo é o processo; o de produto tem três e o segundo é o produto. Trocar um pelo outro não produz erro: a chamada simplesmente não encontra nada e termina em silêncio, sem ter removido coisa alguma.
Esta é a remoção com o limite diferente das outras
Ela não exige processo aberto — exige apenas Ordem de Produção Firmada. A recusa é "A O.P. não está Firmada." Isso significa que o apontamento de produto pode ser removido com o processo já fechado, o que as outras três não permitem. Mas não é irrestrito: o limite se fecha quando a Ordem de Produção é fechada ou cancelada.
Como a de insumo, ela reverte a movimentação de estoque, exclui a Nota Fiscal e a ficha geradas, remove os números de série órfãos e por fim apaga o apontamento. E também confere se o período da ficha de estoque permite alteração.
Desfaz o início do processo: a data e hora de início realizado e o usuário responsável voltam a nulo, e o processo retorna ao estado de não iniciado. A janela prevista é preservada.
| Parâmetro | Descrição |
|---|---|
P_OPD_COD | Ordem de Produção. |
P_PRO_COD | Processo. Opcional: nulo faz o servidor escolher o último processo aberto. |
Informe o processo. Com P_PRO_COD nulo, o servidor escolhe sozinho o processo aberto de maior ordem de execução, desempatando pela data de início mais recente — e não devolve qual escolheu. Numa Ordem de Produção com processos concomitantes, você não sabe qual foi afetado sem consultar depois.
Só é possível desfazer do fim para o começo. Informando um processo que não esteja na maior ordem de execução aberta, a chamada é recusada apontando que existem processos de ordem superior.
O processo não pode ter apontamento nenhum de setup, mão de obra ou insumo — a recusa lista os tipos encontrados. Remova-os primeiro, pelos Passos 9 a 11. E sendo o único processo iniciado da Ordem de Produção, também não pode haver produto fabricado apontado.
Desfaz o fechamento: a data e hora de término realizado e o usuário responsável voltam a nulo. O início é preservado, então o processo fica aberto — não volta a não iniciado.
As duas rotinas de desfazer são complementares, não alternativas. FAB_PRC_REABRIRAPTPROCESSO desfaz o fechamento; FAB_PRC_CANCELARAPTPROCESSO desfaz a abertura. Para voltar um processo fechado ao estado de não iniciado são duas chamadas, nesta ordem: reabrir, remover os apontamentos, cancelar a abertura.
Exige Ordem de Produção Firmada. Como o cancelamento, respeita a ordem inversa da execução: nenhum processo de ordem posterior pode ter sido iniciado ou fechado, e não pode haver outro processo aberto em ordem diferente.
Com FRM_APTPRODANTESPROC = 0 na Fórmula, produto acabado já apontado impede a reabertura. A recusa é "A O.P. N já recebeu apontamento de Produtos Acabados." Nos valores 1 a 4 essa conferência não se aplica — ali o produto pode ser apontado antes do fim, e a reabertura continua possível.
Com o processo informado, o servidor não confere se ele está realmente fechado. Passar um processo aberto não produz mensagem e não muda nada. Com P_PRO_COD nulo, o servidor escolhe o último processo fechado — e também não devolve qual foi.
Validações e erros
As mensagens abaixo são as que o servidor devolve. N e M são substituídos pelos códigos envolvidos. Várias vêm precedidas do prefixo interno DBMATENCAO,OPERACAO| — descarte-o ao exibir para o usuário final.
Abrir e fechar o processo
| Mensagem | Causa | O que fazer |
|---|---|---|
| O processo N não existe na O.P. M. | Par de Ordem de Produção e processo inexistente. | Confira o processo em FAB_VIEW_AGENDAPROCESSO. |
| A O.P. N não está com o Status de "Firmada". | Ordem de Produção em Simulação, Fechada ou Cancelada. | Firme a Ordem de Produção — ver Preparação, Passo 9. |
| O processo N da O.P. M já foi iniciado. | Abertura de processo que já está aberto. | Siga para o apontamento. Para reabrir a janela, cancele a abertura pelo Passo 13. |
| O processo N da O.P. M não tem a "Data/Hora de Início" informada. | Fechamento de processo que nunca foi aberto. | Abra o processo primeiro. |
| O processo N da O.P. M já tem a "Data/Hora de Término" informada. | Fechamento de processo já fechado. | Reabra pelo Passo 14 se precisar alterar. |
| É necessário informar os apontamentos de Insumo para o processo N da O.P. M. | Nenhum insumo apontado — ou o produto fabricado não foi apontado e o consumo "Conforme o Produzido" não pôde rodar. | Confira as duas causas. Se há insumos de OPD_APONTAMENTO = 2, aponte o produto antes de fechar. |
| É necessário informar os apontamentos de Mão de Obra para o processo N da O.P. M. | Nenhuma mão de obra apontada. A versão por função acrescenta "(por Função)" à mensagem. | Aponte pelo Passo 5, na rotina compatível com o modelo da Ordem. |
| Os processos (N) não tem "Data/Hora Inicio" e/ou "Data/Hora Fim" preenchidas. | Processos de ordem anterior ainda não concluídos. | Conclua-os antes. |
| Os apontamentos de Setup (N) ... / Os apontamentos de Mão de Obra (N) ... | Apontamento iniciado e não encerrado no fechamento. | Encerre os apontamentos em aberto antes de fechar. |
| Falha no apontamento automático dos insumos "Conforme o Produzido" do processo N da O.P. M: ... | Erro num ou mais insumos do consumo automático. A mensagem traz uma linha por insumo. | Corrija o que cada linha aponta. Há mensagem análoga para a devolução automática. |
Apontamentos
| Mensagem | Causa | O que fazer |
|---|---|---|
| A O.P. N não está Firmada. | Apontamento de insumo ou produto com a Ordem fora do status Firmada. | Firme a Ordem de Produção. |
| O processo N da O.P. M não está aberto. | Apontamento de insumo, mão de obra ou setup com o processo não iniciado, ou já fechado. | Abra o processo pelo Passo 3, ou reabra pelo Passo 14. |
| O produto N está inativo no cadastro. | Insumo com status diferente de ativo. | Ative o produto no cadastro. |
| A O.P. N não é compatível com apontamento de mão de obra por Função. | Ordem de Produção com OPD_MODELOAPTRH = 0. | Use FAB_PRC_APTMAODEOBRA, a rotina por funcionário. |
| A Quantidade de Pessoas deve ser maior que zero. | Quantidade zerada ou negativa no apontamento por função. | Informe ao menos uma pessoa. |
| Informe ao menos a Data/Hora de Início ou a Data/Hora de Término do apontamento. | As duas datas nulas no apontamento por função. | Informe pelo menos uma das duas. |
| O Motivo de Setup N tem que ser informado como ocorrência de "Parada" / de "Início". | Ocorrência incoerente com o MSU_TIPO do motivo. | Ver a tabela do Passo 6. |
| A máquina N não existe para o processo P da Fórmula F. | Motivo de MSU_TIPO = 4 com máquina que não consta na Fórmula. | Acrescente a máquina na Fórmula antes. |
| A máquina N não existe para o processo P da O.P. M. | Máquina fora do processo, com motivo que não é de inclusão. | Use um motivo de MSU_TIPO = 4, ou troque a máquina antes da abertura. |
| Motivo de Setup inválido! A máquina N já existe para o processo P da O.P. M. | Motivo de inclusão de máquina usado com máquina já presente. | Use um motivo de outro tipo. |
Remoções e desfazer
| Mensagem | Causa | O que fazer |
|---|---|---|
| O processo não está aberto. | Remoção de insumo com algum dos processos da lista fechado. A mensagem não diz qual. | Confira os processos da lista, ou remova processo a processo. |
| A O.P. não está Firmada. | Remoção de apontamento de produto com a Ordem fora de Firmada. | É o único limite dessa remoção — o processo pode estar fechado. |
| Não há processos para cancelar a abertura na O.P. N. | Cancelamento sem processo informado e sem nenhum processo aberto. | Confira o estado dos processos. |
| Existem processos com a Ordem de Execução superior a do processo N na O.P. M. | Cancelamento fora da ordem inversa da execução. | Cancele do fim para o começo. |
| O processo N da O.P. M ja tem apontamentos de ... | Cancelamento de abertura com apontamento existente. A mensagem lista os tipos. | Remova os apontamentos pelos Passos 9 a 11. |
| A O.P. N ja tem apontamentos de PRODUTO FABRICADO. | Cancelamento da abertura do único processo iniciado, com produto já apontado. | Remova o apontamento de produto pelo Passo 12. |
| Não há processos para reabrir na O.P. N. | Reabertura sem processo informado e sem nenhum processo fechado. | Confira o estado dos processos. |
| A O.P. N já recebeu apontamento de Produtos Acabados. | Reabertura com produto apontado, em Fórmula de FRM_APTPRODANTESPROC = 0. | Remova o apontamento de produto antes. |
| Os processos (N) da O.P. M ja foram realizados posteriormente ao processo P. | Reabertura fora da ordem inversa da execução. | Reabra do fim para o começo. |
| Os processos (N) da O.P. M estão abertos. | Reabertura com outro processo aberto em ordem diferente. | Feche o que está aberto antes. |
Termos desta página
- Abrir e fechar processo
- As duas operações que delimitam a janela em que se pode apontar. Abrir grava o início realizado e consome os insumos de comportamento "Automático do Previsto". Fechar grava o término realizado, consome os de "Conforme o Produzido" e devolve o saldo reservado não usado. Entre uma e outra, o processo está aberto — iniciado e ainda não fechado —, que é o estado exigido por quase todas as rotinas desta página.
- Mão de obra por funcionário × por função
- Dois modelos mutuamente exclusivos de registrar trabalho, escolhidos na Fórmula e herdados pela Ordem de Produção em
OPD_MODELOAPTRH. Por funcionário nomeia a pessoa e registra início e parada em chamadas separadas. Por função registra a função e a quantidade de pessoas num intervalo, e admite ser preenchido em duas etapas. Cada modelo tem a sua rotina de apontamento e a sua de remoção; a Ordem de Produção aceita só um dos dois. - Setup e motivo de setup
- Setup é a parada ou o início de uma máquina dentro do processo — troca de ferramenta, limpeza, ajuste, defeito. Todo setup exige um motivo cadastrado, e o
MSU_TIPOdesse motivo decide se ele é de parada ou de início, e se permite trazer uma máquina nova para o processo. - Lote
- Identificação de um conjunto de unidades produzidas ou recebidas juntas, usada para rastrear origem e validade. No apontamento de insumo, o lote é obrigatório quando a filial e o produto usam controle de lote, e é você quem informa. No apontamento de produto fabricado, quem informa depende da sugestão de lote configurada na Fórmula.
- Número de série
- Identificação individual de cada unidade produzida. Diferente do lote, não há parâmetro de número de série no apontamento de produto: os números são gerados pelo servidor, e somente sob as três condições do Passo 7. Fora delas o apontamento é gravado sem série e sem aviso.
Dica — identificar a tabela e o campo a partir da interface do ERP
Quando você souber o que quer gravar mas não souber onde, use a própria interface do ERP para descobrir. Posicione o cursor no campo da tela e pressione F1: a Ajuda embutida mostra a tabela e o campo correspondentes.
Com o nome da tabela e do campo em mãos, procure-os no dicionário da sua instância para confirmar o tipo, o domínio e se estão liberados para o seu token.
Relação com páginas vizinhas
| Página | Como se liga a esta |
|---|---|
| Módulo de Produção central |
A regra de fronteira, a configuração da instância e o encadeamento dos cinco fluxos. Leia antes desta. |
| Ordem de Produção: Criação e Preparação | É o passo anterior. O que a reserva separa lá é o que a abertura consome aqui, e o primeiro apontamento desta página fecha a janela de reversibilidade daquela. |
| Fórmula de Fabricação | Três campos dela governam este fluxo: FRM_APONTAMENTO de cada insumo decide o momento do consumo automático, FRM_MODELOAPTRH decide qual rotina de mão de obra vale, e a sugestão de número de série decide se o produto sai rastreado. |
| Ordem de Produção: Documentos e Encerramento | O passo seguinte. FRM_APTPRODANTESPROC decide quando a Nota Fiscal sai sozinha a partir do apontamento de produto, e o fechamento da Ordem de Produção tem conferências próprias. |
| Cadastro de Produto | É lá que o controle de lote e o controle de número de série são configurados — e são eles que decidem o que este fluxo exige em cada apontamento. |
Onde aprofundar
O dicionário da sua instância é a referência autoritativa: assinatura de cada rotina, domínio de cada campo e exemplo de uso pronto, sempre limitado ao que o seu token alcança.
Para consultar antes de apontar: FAB_RES_APTORDPRO61 lista os insumos apontáveis do processo, FAB_VIEW_INSUMODISPONIVEL e FAB_VIEW_INSUMODISPONIVELLOTE mostram o saldo, FAB_VIEW_PESSOA e FAB_VIEW_AFASTAMENTO trazem os funcionários, e FAB_VIEW_MAQUINA as máquinas da fábrica.
Com todos os processos fechados, o próximo passo é Ordem de Produção: Documentos e Encerramento.