ST_PRODUCAOLOTE — Controle de Lote na Produção
Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Parâmetros → Opção 1 Tabela / Coluna:
PARMESTOQUE.ST_PRODUCAOLOTETipo:CHAR(1)— Combobox (S/N) Valor padrão:SComponente:cmbST_PRODUCAOLOTE
O que este parâmetro controla
Define quando as matérias-primas da ficha de produção são debitadas do estoque em relação ao fechamento do lote de produção.
S(Sim) — O consumo de matérias-primas ocorre no fechamento da ordem de produção (comportamento padrão). A procedureGERA_ORDEMPRODUCAOprocessa a ficha técnica integralmente.N(Não) — O consumo de matérias-primas ocorre no fechamento do lote de produção. Ao fechar a ordem vinculada a um lote, o sistema apenas marca a ordem como'V'(fechada) sem gerar movimentações de matéria-prima. O custo é calculado viaRETORNA_CUSTOPRODUCAOno momento do fechamento do lote.
Este parâmetro só tem efeito quando a ordem de produção possui NR_LOTEPRODUCAO preenchido. Se a ordem não tiver lote associado, o comportamento é sempre o de consumo direto no fechamento da ordem.
Telas impactadas
| Tela | Nome | Uso do parâmetro |
|---|---|---|
| MEQ001 | Parâmetros de Estoque | Configuração do parâmetro |
| MEQ012 | Ordem de Produção | Lógica de fechamento da ordem (btnFechar / btnFecharLote) |
| MEQ027 | Ordem de Produção (variante) | Mesma lógica de fechamento |
| MEQ068 | Ordem de Produção (variante) | Mesma lógica de fechamento |
| MEQ065 | Lote de Produção | Parâmetro consultado em GravaLoteProducao |
| MEQ020 | Relatório de Produção | Consulta para impressão de ordens |
| MEQ044 | Consulta de Produção | Consulta para geração de ordens |
| CEQ015 | Consulta de Estoque | Consulta para listagem de ordens |
Campos envolvidos
| Campo | Tabela | Relação |
|---|---|---|
ST_PRODUCAOLOTE | PARMESTOQUE | Parâmetro em análise |
ST_PRODUCAO | PARMESTOQUE | Habilita o módulo de produção (pré-requisito) |
NR_LOTEPRODUCAO | ORDEMPRODUCAO | Lote vinculado à ordem — condição para ativar a regra |
CD_TABPRODUCAO | PARMESTOQUE | Tabela de preço usada na produção |
CD_OPERPRODENT | PARMESTOQUE | Operação de entrada do produto produzido |
CD_OPERPRODSAI | PARMESTOQUE | Operação de saída de matéria-prima |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| S — Sim (padrão) | Consome matérias-primas no fechamento da ordem de produção |
| N — Não | Adia o consumo para o fechamento do lote; na ordem, apenas atualiza status |
S — Consumo no Fechamento da Ordem
| O que faz | Detalhe |
|---|---|
| Comportamento padrão | Matérias-primas são debitadas ao fechar a ordem de produção |
| Exige | ST_PRODUCAO = 'S' (PARMESTOQUE) |
| Restrição | Nenhuma adicional |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque, aba Opção 1.
- Configure Parâmetros → Controle de Lote na Produção como "Sim" (valor
S). - Salve o cadastro.
- Crie uma ordem de produção com ficha técnica (ex.: produto acabado com 2 matérias-primas).
- Vincule a ordem a um lote de produção (campo
NR_LOTEPRODUCAOpreenchido). - Clique em Fechar a ordem de produção.
- O sistema chama
GERA_ORDEMPRODUCAO, que processa a ficha técnica completa — debitando matérias-primas e creditando o produto acabado.
Resultado esperado: As matérias-primas são consumidas do estoque no momento do fechamento da ordem de produção. O estoque do produto acabado é atualizado simultaneamente.
N — Consumo no Fechamento do Lote
| O que faz | Detalhe |
|---|---|
| Adia consumo de matéria-prima | Ao fechar a ordem, o sistema apenas marca como 'V' sem movimentar estoque de MP |
| Exige | Ordem de produção com NR_LOTEPRODUCAO preenchido |
| Restrição | Se a ordem não tiver lote, o sistema ignora este parâmetro e consome normalmente |
Simulação passo a passo
- Acesse MEQ001 — Parâmetros de Estoque, aba Opção 1.
- Configure Parâmetros → Controle de Lote na Produção como "Não" (valor
N). - Salve o cadastro.
- Crie uma ordem de produção vinculada a um lote de produção.
- Clique em Fechar a ordem de produção.
- O sistema apenas atualiza o status da ordem para
'V'(fechada), sem chamarGERA_ORDEMPRODUCAO— nenhuma matéria-prima é debitada neste momento. - Posteriormente, ao fechar o lote de produção (em MEQ065 ou tela equivalente), o sistema calcula o custo via
RETORNA_CUSTOPRODUCAOe consome as matérias-primas.
Resultado esperado: As matérias-primas permanecem em estoque até o fechamento do lote. A ordem de produção é marcada como fechada sem movimentação imediata de estoque de insumos.
Exceção / Importante: Se a ordem de produção não possuir
NR_LOTEPRODUCAOpreenchido, o sistema ignora o valorNdeste parâmetro e executa o consumo normal de matérias-primas (comportamento idêntico aoS). A condição verificada no código é:iST_PRODUCAOLOTE = 'N' AND NR_LOTEPRODUCAO <> ''.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TdmMEQ001.tabPARMESTOQUEAfterInsert | UdmMEQ001.pas | 276 | Define valor padrão 'S' ao inserir registro |
TfrmMEQ012.btnFecharClick | UMEQ012.pas | 1534 | Verifica se deve consumir MP ou apenas fechar ordem |
TfrmMEQ012.btnFecharLoteClick | UMEQ012.pas | 2112 | Mesma lógica para fechamento de lote |
Busca_Parametros (MEQ012) | UdmMEQ012.pas | 230 | Carrega parâmetro na variável iST_PRODUCAOLOTE |
TfrmMEQ027.btnFecharClick | UMEQ027.pas | 790 | Verifica se deve consumir MP ou apenas fechar ordem |
TfrmMEQ027.btnFecharLoteClick | UMEQ027.pas | 916 | Mesma lógica para fechamento de lote |
Busca_Parametros (MEQ027) | UdmMEQ027.pas | 152 | Carrega parâmetro na variável iST_PRODUCAOLOTE |
TfrmMEQ068.btnFecharClick | UMEQ068.pas | 1394 | Verifica se deve consumir MP ou apenas fechar ordem |
TfrmMEQ068.btnFecharLoteClick | UMEQ068.pas | 1867 | Mesma lógica para fechamento de lote |
Busca_Parametros (MEQ068) | UdmMEQ068.pas | 189 | Carrega parâmetro na variável iST_PRODUCAOLOTE |
GravaLoteProducao (MEQ065) | UdmMEQ065.pas | 124 | Variável declarada para uso na gravação do lote |
Busca_Parametros (MEQ065) | UdmMEQ065.pas | 157 | Carrega parâmetro |
Ordemproducao (CEQ015) | UCEQ015.pas | 157 | Consulta SQL para relatório de ordens |
Ordemproducao (MEQ020) | UMEQ020.pas | 179 | Consulta SQL para relatório de ordens |
TfrmMEQ044.btnORDEMPRODClick | UMEQ044.pas | 920 | Consulta SQL para geração de ordens |
Referências SQL diretas ao campo
| Procedure / Script | Arquivo | Linha | Comportamento |
|---|---|---|---|
GERA_ORDEMPRODUCAO | GERA_ORDEMPRODUCAO.sql | 90, 310 | Declara variável V_ST_PRODUCAOLOTE; quando 'N' e lote preenchido, calcula custo via RETORNA_CUSTOPRODUCAO sem consumir ficha técnica |
Candidatas por uso da tabela (sem referência direta ao campo)
Não foram encontradas referências diretas ao campo ST_PRODUCAOLOTE em procedures SQL além de GERA_ORDEMPRODUCAO. As demais procedures listadas no inventário utilizam a tabela PARMESTOQUE para outros campos e não impactam diretamente este parâmetro.
Regra geral
Quando ST_PRODUCAOLOTE = 'N' e a ordem de produção possui lote (NR_LOTEPRODUCAO preenchido), o sistema adiar o consumo de matérias-primas para o momento do fechamento do lote. Nesse cenário, ao fechar a ordem, o status é atualizado para 'V' sem gerar movimentações de estoque de insumos. O consumo efetivo ocorre ao fechar o lote de produção, onde o custo é calculado pela function RETORNA_CUSTOPRODUCAO.
Quando ST_PRODUCAOLOTE = 'S' (ou quando a ordem não possui lote), o consumo ocorre normalmente no fechamento da ordem via GERA_ORDEMPRODUCAO.
Tabela comparativa resumida
| Valor | Quando consome MP | Quando atualiza estoque do PA | Exige lote na ordem |
|---|---|---|---|
| S | No fechamento da ordem | No fechamento da ordem | Não |
| N | No fechamento do lote | No fechamento da ordem | Sim (condição) |