Pular para o conteúdo principal

ST_PERDAPRODUCAO — Perda na Produção

Tela de configuração: MEQ001 — Parâmetros de Estoque Localização: Parâmetros → Opção 1 Tabela / Campo: PARMESTOQUE.ST_PERDAPRODUCAO Tipo: CHAR(1) Valor padrão: N

Controla como o sistema registra a perda de matéria-prima durante o fechamento de uma Ordem de Produção. Define se o valor da perda é incorporado ao custo do Produto Acabado ou se apenas a quantidade é baixada do estoque, sem impacto no custo final.

Campos envolvidos​

CampoTabelaFunção
ST_PERDAPRODUCAOPARMESTOQUEFlag que define o tratamento da perda (S/N)
CD_OPERPRODPERDAPARMESTOQUEOperação de estoque utilizada para registrar a baixa de perda
CD_HISTPERDAPARMESTOQUEHistórico padrão vinculado à movimentação de perda

Telas impactadas​

TelaDescrição
MEQ001Tela de configuração do parâmetro
CEQ002Consulta de Ordens de Produção — utiliza o parâmetro no cálculo de custo unitário
CEQ015Consulta de Ordens de Produção — carrega o parâmetro na query de dados
MEQ020Manutenção de Ordens de Produção — carrega o parâmetro na query de dados
MEQ044Manutenção de Ordens de Produção — carrega o parâmetro na query de dados

Opções disponíveis​

S — Soma o valor da perda no custo do Produto Acabado​

O que fazDetalhe
Impacto no custoSim — o valor gasto com a matéria-prima perdida é adicionado ao custo do Produto Acabado
Movimentação de estoqueBaixa a quantidade perdida via operação de perda (CD_OPERPRODPERDA) com TP_DOCUMENTO = 'PR'
Cálculo unitárioA quantidade perdida (QT_PERDA) é somada ao divisor no cálculo do custo unitário

Simulação passo a passo​

  1. Acesse MEQ001 → Parâmetros → Opção 1.
  2. No campo Perda na Produção, selecione S — Soma o valor da perda no custo do Produto Acabado.
  3. Salve o parâmetro.
  4. Crie uma Ordem de Produção para o Produto X com 100 unidades.
  5. Registre uma perda de 10 unidades de matéria-prima no apontamento.
  6. Finalize (feche) a Ordem de Produção.
  7. Consulte a movimentação de estoque da matéria-prima: será registrada uma saída com TP_DOCUMENTO = 'PR'.
  8. Consulte o custo do Produto Acabado: o valor das 10 unidades perdidas estará incluído no custo total.

Resultado esperado: O custo do Produto X será calculado dividindo o valor total gasto em matéria-prima por 110 (100 produzidas + 10 perdidas), diluindo o prejuízo da perda no custo unitário de cada unidade produzida.

Excecao / Importante: A quantidade de perda pode ser informada por lote (tabela ORDEMPRODUCAOLOTE). Quando há lotes, o sistema percorre cada lote individualmente, gerando uma movimentação de estoque separada por lote.


N — Somente faz a saída em quantidade e ignora o valor da perda​

O que fazDetalhe
Impacto no custoNão — o valor da perda é desconsiderado no custo do Produto Acabado
Movimentação de estoqueBaixa apenas a quantidade perdida via operação de perda (CD_OPERPRODPERDA) com TP_DOCUMENTO = 'AV' (avulso)
Cálculo unitárioA quantidade perdida não é somada ao divisor; o custo unitário é calculado apenas com a quantidade produzida

Simulação passo a passo​

  1. Acesse MEQ001 → Parâmetros → Opção 1.
  2. No campo Perda na Produção, selecione N — Somente faz a saída em quantidade e ignora o valor da perda.
  3. Salve o parâmetro.
  4. Crie uma Ordem de Produção para o Produto X com 100 unidades.
  5. Registre uma perda de 10 unidades de matéria-prima no apontamento.
  6. Finalize (feche) a Ordem de Produção.
  7. Consulte a movimentação de estoque da matéria-prima: será registrada uma saída com TP_DOCUMENTO = 'AV' (avulso).
  8. Consulte o custo do Produto Acabado: o valor das 10 unidades perdidas não aparece no custo.

Resultado esperado: O custo do Produto X será calculado dividindo o valor total gasto em matéria-prima por 100 (apenas unidades produzidas). A perda gera apenas baixa de quantidade no estoque da matéria-prima, sem repasse de valor ao Produto Acabado. O prejuízo da perda fica registrado como custo avulso separado.

Excecao / Importante: Mesmo com ST_PERDAPRODUCAO = 'N', a saída de estoque da quantidade perdida sempre ocorre. A diferença é que o tipo de documento gerado é 'AV' (avulso) em vez de 'PR' (produção), o que impede a inclusão do valor no custo do Produto Acabado.


Tabela comparativa resumida​

AspectoS — Soma no custoN — Ignora valor
Saída de quantidade da perda✓✓
Valor da perda incluído no custo do PA✓✗
TP_DOCUMENTO gerado'PR' (produção)'AV' (avulso)
Custo unitário do PACalculado sobre (produzido + perdido)Calculado apenas sobre produzido
Valor padrão—✓

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEvidência
iniciarsource/CEQ002/UCEQ002.pas:293Carrega iST_PERDAPRODUCAO da tabela PARMESTOQUE para uso nos cálculos de custo
TfrmCEQ002.btnProcurarClicksource/CEQ002/UCEQ002.pas:967Quando ST_PERDAPRODUCAO = 'S', soma QT_PERDA ao divisor do custo unitário
tabPARMESTOQUEAfterInsertsource/MEQ001/UdmMEQ001.pas:282Define valor padrão 'N' ao inserir novo registro

Scripts SQL com referência direta ao campo​

ProcedureArquivoEvidência
GERA_ORDEMPRODUCAOScripts/GERA_ORDEMPRODUCAO.sql:91,584Declara variável V_ST_PERDAPRODUCAO; quando 'S', gera saída com TP_DOCUMENTO = 'PR'; quando 'N', gera com TP_DOCUMENTO = 'AV'

Carregamento em queries (sem lógica condicional direta)​

Estas rotinas carregam o campo ST_PERDAPRODUCAO em suas queries SELECT, mas não possuem lógica condicional diretamente no código Delphi visível nas evidências:

RotinaArquivo
Ordemproducaosource/CEQ015/UCEQ015.pas:157
Ordemproducaosource/MEQ020/UMEQ020.pas:179
TfrmMEQ044.btnORDEMPRODClicksource/MEQ044/UMEQ044.pas:920