1. Introdução
Esta é a página central do módulo de Produção. Ela não ensina um fluxo específico: apresenta como o módulo se organiza, o que muda de instância para instância, e encaminha para as cinco páginas que cobrem cada fluxo em detalhe.
O módulo cobre o ciclo de fabricação do ERP Spalla, da Fórmula de Fabricação — a receita do que se produz — até o encerramento da Ordem de Produção com apontamento, custo apurado e documento fiscal emitido. Cobre também a Produção do Dia, que é o caminho simplificado para lançar produção já ocorrida.
Leia esta página antes das outras cinco. Três coisas aqui valem para o módulo inteiro e não se repetem em cada página: a regra de fronteira, que decide o que se grava direto e o que passa por rotina; a configuração da instância, que faz o mesmo fluxo se comportar de forma diferente em cada base; e o encadeamento, que mostra em que ordem os fluxos se apoiam.
2. Como a API funciona
A API do Spalla expõe objetos do ERP por HTTP. Cada requisição informa o objeto, o método e os parâmetros, e a resposta vem em JSON. O que o seu token alcança é definido no cadastro de API da sua instância — objeto a objeto, método a método.
Os métodos usados no módulo de Produção:
| Método | Para que serve no módulo | Exemplo de objeto |
|---|---|---|
GET |
Consultar tabelas, views e rotinas de consulta. É como se lê a Ordem de Produção, a agenda dos processos e o saldo dos insumos. | FAB_VIEW_ORDEMPRODUCAO |
PATCH |
Executar as rotinas de ação do módulo. É como se cria a Ordem de Produção, se reserva estoque e se aponta produção. | FAB_PRC_GERAROPFORMULA |
PUT e POST |
Gravar direto nas tabelas que admitem gravação — a Fórmula de Fabricação e a Produção do Dia. | FABFORMULA1 |
As rotinas do módulo respondem a PATCH, não a POST. É a convenção do produto para rotina de ação, e vale para as 44 rotinas de Produção. Se você montar a chamada com POST, ela é recusada mesmo com o objeto liberado.
3. 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.
Cada empresa que opera o ERP Spalla expõe o seu próprio dicionário automático em um endereço próprio. Para acessá-lo, abra no navegador a URL no formato abaixo, substituindo os placeholders pelos valores da sua instância:
https://<host>:<porta>/root/dicionario?userToken=<token>
<host>— endereço do servidor que hospeda a API.<porta>— porta de comunicação configurada no servidor.<token>— token de identificação (userToken) fornecido pela equipe responsável pela API.
O dicionário lista cada objeto liberado com a descrição, os parâmetros de entrada, as colunas de retorno e um exemplo de uso pronto. Ele é o lugar certo para conferir a assinatura exata de uma rotina antes de chamá-la.
As cinco páginas de fluxo deste módulo remetem a esta seção — é aqui que o caminho até o dicionário está descrito por inteiro.
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.
4. A regra de fronteira do módulo
Esta é a regra mais importante do módulo, e a que mais se erra na primeira integração.
As tabelas da Ordem de Produção são de leitura. Toda alteração passa pelas rotinas FAB_PRC_*, que aplicam as validações e os efeitos em cadeia no servidor. Gravar nessas tabelas por outro caminho produz inconsistência que o sistema não detecta. Se o dicionário da sua instância mostrar escrita liberada nelas, peça ao gestor do ERP a revisão do cadastro de API.
O motivo é o encadeamento. Criar uma Ordem de Produção não é inserir uma linha em FABORDPRO1: é gerar o cabeçalho, os produtos a fabricar, os processos, os insumos previstos, a mão de obra prevista, as máquinas, os setups e os custos previstos de cada um — nove conjuntos de registros que precisam ser coerentes entre si. A rotina faz isso; a inserção direta cria um cabeçalho órfão que nenhuma outra rotina consegue operar.
Duas áreas do módulo admitem gravação direta, porque são cadastro e não movimento:
| Área | Tabelas | Como se grava |
|---|---|---|
| Fórmula de Fabricação | as treze FABFORMULA* |
gravação direta, dentro do ciclo de status descrito na página de Fórmula |
| Produção do Dia | FABORDPRODIA1, FABORDPRODIA2, FABORDPRODIA3 |
gravação direta do cabeçalho, dos insumos e dos produtos, antes de gerar as Ordens de Produção |
| Ordem de Produção | as vinte e uma FABORDPRO* |
somente leitura — use as rotinas |
5. Aviso sobre liberação na retaguarda
Antes de integrar, três coisas precisam estar cadastradas no ERP, e nenhuma delas se resolve pela API:
- Os objetos liberados para o seu token, no cadastro de API. Sem liberação, a chamada é recusada mesmo correta.
- A configuração do módulo, em
FABCONFIG— ver a seção seguinte. Ela muda o comportamento do mesmo fluxo. - Os cadastros de apoio: produtos, unidades e equivalências, locais de estoque, setores, processos, subprocessos, máquinas, turnos e tipos de movimento.
Equivalência de unidade é o pré-requisito que mais derruba integração nova. A Fórmula de Fabricação exige equivalência cadastrada em PRODEQUIV para a unidade de fabricação de cada produto a fabricar — sem condição alguma, independentemente de como os demais campos de unidade estejam configurados. Sem ela, a Fórmula não passa na validação de ativação, e a mensagem não aponta a causa de forma óbvia.
6. Configuração da instância
O mesmo fluxo se comporta de forma diferente conforme a configuração do módulo, guardada em FABCONFIG. Consulte esses campos antes de concluir que uma rotina falhou — em vários casos ela fez exatamente o que a configuração manda.
| Campo | Efeito medido |
|---|---|
CFG_RESERVAPARCIAL |
Liga e desliga a reserva de estoque inteira. Com 0, as quatro rotinas de reserva e liberação — FAB_PRC_RESERVARESTOQUE, FAB_PRC_RESERVARESTOQUE2, FAB_PRC_LIBERARESTOQUE e FAB_PRC_LIBERARESTOQUE2 — retornam sem fazer nada e sem erro. A consequência atravessa duas páginas: sem reserva, FABORDPRO6 fica vazia, e a abertura do processo não consome insumo automático nenhum, porque é dessa tabela que ela lê. |
CFG_VERINSUMOAPT |
Decide quais insumos a consulta de apontamento devolve. É o único consumidor FAB_RES_APTORDPRO61, com três ramos: 0 devolve os insumos já apontados, 1 os reservados, 2 os previstos mais os reservados que não estavam previstos. Governa o comportamento da página de apontamento, não desta. Lista vazia com o valor 1 significa que o processo ainda não teve estoque reservado. |
CFG_TRAVAAPTINSUMOS |
Troca a mensagem de recusa, não libera nada. O comentário do campo sugere que ele permitiria apontar insumo fora da Fórmula; o único uso executável é em FAB_PRC_APTINSUMOS, e o efeito é apenas trocar o texto da recusa. A mensagem alternativa remete a uma tela do ERP; pela API o equivalente é acrescentar o insumo à previsão do processo com FAB_PRC_MANIPULARPREVISAO antes de apontar. |
CFG_NFORMULAS |
Bloqueia a Produção do Dia quando ligado. Com 1 — múltiplas Fórmulas por produto —, FAB_PRC_GERAROPDIA recusa a geração, porque não teria como escolher qual Fórmula usar para cada produto acabado. |
CFG_PERMANUTENCAO1 |
Data de corte que bloqueia alteração retroativa. Alcança a gravação dos processos da Ordem de Produção e a Produção do Dia. O corte é inclusivo: a data igual ao limite também é recusada — a operação precisa ser posterior ao corte, não a partir dele. |
CFG_ST_COD |
Setor padrão da Produção do Dia por pedido. É de onde FAB_PRC_GERAROPPEDIDODIA tira o setor do cabeçalho, que por isso não é parâmetro da chamada. |
Mais os quatro tipos de movimento, que definem como o estoque é movimentado pelo módulo:
| Campo | O que define |
|---|---|
CFG_TM_CODSAIDA | Saída de matéria-prima e insumos |
CFG_TM_CODENTRADA | Entrada de produtos fabricados |
CFG_TM_CODSAIDAPRODPROC | Saída de produtos em processo |
CFG_TM_CODENTRADAPRODPROC | Entrada de produtos em processo |
Os dois últimos só entram em uso quando a Fórmula trabalha com produto em processo — o item intermediário que sai de um processo e entra no seguinte. Sem essa configuração, o encadeamento entre processos não movimenta estoque.
7. Encadeamento do módulo
Os fluxos se apoiam nesta ordem. Cada um pressupõe o anterior concluído.
- Fórmula de Fabricação — a receita. Define os produtos a fabricar, os processos, os insumos, a mão de obra e as máquinas. Precisa estar Ativa para ser usada. Nenhuma Ordem de Produção existe sem uma Fórmula por trás.
- Criação da Ordem de Produção — a Fórmula é explodida numa Ordem concreta, com quantidade, filial, data e custos previstos.
- Preparação — programar os processos na agenda, firmar a Ordem e reservar o estoque dos insumos.
- Apontamento — abrir cada processo, apontar insumo consumido, mão de obra, setup de máquina e produto fabricado, e fechar o processo.
- Documentos e encerramento — emitir as notas fiscais, registrar a análise de qualidade e fechar a Ordem com o custo apurado.
A Produção do Dia é um atalho sobre esse ciclo, não um fluxo paralelo: ela executa os cinco passos numa chamada, para lançar produção que já ocorreu, sem apurar custo de máquina e mão de obra.
A janela de reversibilidade fecha no primeiro apontamento. Antes dele, a Ordem de Produção pode ter a quantidade alterada, ser desvinculada de pedidos e até ser excluída. Depois dele, cada uma dessas operações exige remover os apontamentos primeiro, na ordem inversa da que foram feitos.
8. As cinco páginas do módulo
O ciclo de status Em Edição → Ativa, a ordem de gravação das treze tabelas, as exigências de equivalência de unidade e as validações da ativação.
Abrir guia →Os três caminhos de criação, como descobrir a Ordem gerada, a programação dos processos, o firmar e a reserva de estoque — em chamada única ou decomposta.
Abrir guia →Abrir e fechar processo, apontar insumo, mão de obra, setup e produto fabricado, e o que cada remoção exige para ser aceita.
Abrir guia →Quando a nota fiscal sai sozinha e quando exige chamada, a captação de documentos, a análise de qualidade e as validações do fechamento.
Abrir guia →O caminho simplificado para lançar produção já ocorrida: cabeçalho, acabados, insumos sugeridos pela Fórmula e a geração das Ordens de Produção.
Abrir guia →9. Termos do módulo
- Ordem de Produção
- O documento que representa uma produção concreta: o que se vai fabricar, quanto, em qual filial, com quais processos e insumos. Identificada por
OPD_COD. Abreviada como O.P. nas mensagens do servidor. - Fórmula de Fabricação
- A receita reutilizável de que a Ordem de Produção é gerada. Identificada por
FRM_COD. Define processos, insumos, mão de obra e máquinas — a Ordem os herda no momento da criação. - Produção do Dia
- Forma simplificada de lançar produção já ocorrida, gerando as Ordens de Produção com o ciclo completo numa chamada. Identificada por
PDD_COD. - Processo
- Cada etapa da fabricação dentro da Ordem de Produção, com ordem de execução, janela prevista e horas previstas. É a unidade que se abre, aponta e fecha.
- Insumo
- Produto consumido na fabricação. Tem quantidade prevista na Fórmula, quantidade reservada no estoque e quantidade apontada no consumo real — três números distintos que não devem ser confundidos.
- Produto fabricado
- O que a Ordem de Produção produz. Uma Ordem pode ter mais de um, com percentuais de rateio do custo entre eles.
- Apontamento
- O registro do que de fato aconteceu: insumo consumido, horas trabalhadas, setup de máquina, produto produzido e perdas. É o que transforma previsão em realizado.
- Status da Ordem de Produção
- O estado do documento, em
OPD_STATUS. Governa o que é permitido: Simulação admite alteração ampla, Firmada é pré-requisito da reserva e do apontamento, Fechada encerra o ciclo. - Tipo de produção
- Em
FABORDPRO1.OPD_TIPO:1Própria Interna,2Própria em Terceiros,3Para Terceiros. Muda quais validações se aplicam e como o fluxo de nota fiscal funciona. - Finalidade e fracionamento
- Em
FABORDPRO1.OPD_FINALIDADE:0Ordem de Produção comum,1fracionamento ou reembalagem. Não confundir com o tipo de produção — são eixos diferentes, e a confusão entre eles é frequente.
10. 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.
11. Relação com outros domínios
| Domínio | Como se relaciona com Produção |
|---|---|
| Estoque | A reserva abate o saldo previsto; o apontamento de insumo movimenta a saída; o apontamento de produto fabricado movimenta a entrada. Lote e número de série são controlados aqui e rastreados até a Ordem de Produção. |
| Pedido de Venda | Ordens de Produção podem ser geradas a partir de itens de pedido e vinculadas a eles. O vínculo atualiza o acompanhamento de status de venda. Ver Pedido de Venda. |
| Nota Fiscal | O módulo emite nota de saída de insumos e de entrada de produto acabado, e capta documentos de entrada para rateio de despesa ou produção em terceiros. |
| Cadastro de Produto | Unidades, equivalências, controle de lote e de número de série vêm do produto e determinam o que a Produção exige em cada apontamento. Ver Cadastro de Produto. |
12. 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 os fluxos, siga pelas cinco páginas do módulo, na ordem do encadeamento. Se você está integrando do zero, comece pela Fórmula de Fabricação: sem ela ativa, nenhum dos outros fluxos tem por onde começar.