ST_FECHAPRODPEDIDO - Fecha Producao por Pedido
Tela de configuracao: MEQ001 — Parametros de Estoque Localizacao: Parametros → Opcao 1 Campo:
PARMESTOQUE.ST_FECHAPRODPEDIDOComponente:cmbST_FECHAPRODUCAOPEDIDO(combobox) Tipo:CHAR(1)Valor padrao:S(Sim)
O que faz
Controla se o fechamento de producao sera vinculado diretamente ao Pedido de Venda via tabela ORDEMPRODUCAOPEDIDO (S) ou se sera gerado de forma independente via tabela CONTROLEPRODUCAO (N).
Quando S, o sistema vincula cada ordem de producao ao pedido de venda original e carrega os dados do pedido (cliente, endereco, vendedor, transportadora) diretamente da tabela PEDIDO.
Quando N, o sistema gera registros de controle de producao independentes e permite pesagens sem vinculo direto com a ordem de producao do pedido.
Telas impactadas
| Tela | Nome | Impacto |
|---|---|---|
| MEQ001 | Parametros de Estoque | Tela de configuracao do parametro |
| MPD049 | Producao / Pesagem | Consulta de saldo, geracao de controle de producao e vinculo com pedido |
| CPD009 | Saldos / Romaneio | Exibicao da aba de alteracao e cancelamento de romaneio |
Fields coinvolti
| Campo | Tabela | Tipo | Padrao |
|---|---|---|---|
ST_FECHAPRODPEDIDO | PARMESTOQUE | CHAR(1) | S |
Opcoes disponiveis
S - Sim (Fecha Producao por Pedido)
| O que faz | Detalhe |
|---|---|
| Consulta vinculada | Usa ORDEMPRODUCAOPEDIDO para buscar saldo e dados do pedido |
| Exibe aba alteracao | Aba pagAlteracao visivel em CPD009 |
| Valida pedido | Ao informar NR_PEDIDO em MPD049, busca dados da ordem de producao vinculada |
Simulacao passo a passo
- Acesse MEQ001 — Parametros de Estoque.
- Abra a aba Opcao 1.
- Encontre o campo Fecha Producao por Pedido (
cmbST_FECHAPRODUCAOPEDIDO). - Selecione a opcao Sim.
- Salve o registro.
- Abra a tela MPD049 e informe um pedido com produtos vinculados a ordem de producao.
- Observe que o sistema consulta a tabela
ORDEMPRODUCAOPEDIDOe traz dados como cliente, endereco, vendedor e transportadora diretamente do pedido vinculado. - Abra a tela CPD009 e consulte um saldo — a aba de alteracao deve estar visivel.
Resultado esperado: O sistema vincula a producao ao pedido de venda via ORDEMPRODUCAOPEDIDO. Ao consultar um pedido em MPD049, os dados sao carregados do pedido vinculado (cliente, endereco, vendedor, transportadora). Em CPD009, a aba de alteracao fica visivel.
N - Nao (Controle de Producao Independente)
| O que faz | Detalhe |
|---|---|
| Gera CONTROLEPRODUCAO | Salva pesagens diretamente na CONTROLEPRODUCAO sem exigir ORDEMPRODUCAOPEDIDO |
| Bloqueia alteracao | Trigger TRGAIUD_ITEMPEDIDO bloqueia alteracao de QT_PEDIDA/PS_PEDIDO se ha pesagens |
| Oculta aba Alteracao | Aba pagAlteracao nao visivel em CPD009 |
| Consulta independente | Usa subquery em CONTROLEPRODUCAO para calcular saldo consumido |
Simulacao passo a passo
- Acesse MEQ001 — Parametros de Estoque.
- Abra a aba Opcao 1.
- Encontre o campo Fecha Producao por Pedido (
cmbST_FECHAPRODUCAOPEDIDO). - Selecione a opcao Nao.
- Salve o registro.
- Abra a tela MPD049 e informe um numero de pedido (ex.:
NR_PEDIDO = 12345). - Selecione um produto e realize uma pesagem (ex.: 500 kg do produto
SOJA). - Salve a producao — o sistema grava um registro em
CONTROLEPRODUCAOvinculado ao pedido12345. - Tente abrir uma tela (ex.: CPD001) e altere a
PS_PEDIDAdo produtoSOJAno pedido12345de1.000kg para800kg.
Resultado esperado: O sistema grava na CONTROLEPRODUCAO sem exigir vinculo em ORDEMPRODUCAOPEDIDO. Ao tentar alterar PS_PEDIDA/QT_PEDIDA no pedido, a trigger TRGAIUD_ITEMPEDIDO bloqueia a alteracao se ja existe CONTROLEPRODUCAO (msg: "A Quantidade do Item Nao pode Ser Alterada pois Possui Pesagens Realizadas[MPD049]. Caso Seja Necessario realizar Alteracao efetue o Cancelamento das Pesagens[CPD009]").
Excecao / Importante: A trigger
TRGAIUD_ITEMPEDIDOpermite a alteracao de quantidade se o modulo forMPD049ouCPD009. Isso significa que as proprias telas de producao e romaneio podem ajustar as quantidades mesmo comST_FECHAPRODPEDIDO = N— outros modulos sao bloqueados.
Regra Geral de Funcionamento
O parametro define duas estrategias de controle de producao vs pedidos:
| Aspecto | S (Sim) | N (Nao) |
|---|---|---|
| Tabela de vinculo | ORDEMPRODUCAOPEDIDO | CONTROLEPRODUCAO |
| Consulta saldo | Dados da ORDEMPRODUCAO vinculada ao pedido | Subquery em CONTROLEPRODUCAO |
| Valida alteracao de pedido | Nao bloqueia via trigger | Trigger TRGAIUD_ITEMPEDIDO bloqueia se ha CONTROLEPRODUCAO |
| Aba alteracao CPD009 | Visivel | Nao visivel |
| Geracao de producao MPD049 | Usa AjusteProducao | Usa GravaControleProducao |
Tabela Comparativa Resumida
| Comportamento | S | N |
|---|---|---|
| Vincula OP ao pedido | Sim, via ORDEMPRODUCAOPEDIDO | Nao, via CONTROLEPRODUCAO |
| Carrega cliente/endereco do pedido vinculado | Sim | Nao |
| Carrega vendedor/transportadora do pedido vinculado | Sim | Nao |
| Bloqueia alteracao de Qt/Ps do pedido se ha pesagem | Nao (trigger ignora) | Sim (trigger bloqueia) |
| Avisa "Item nao possui mais saldo para pesagem" | Nao | Sim |
| Bloqueia pesagem se item "Atendido" | Nao | Sim |
| Exibe aba alteracao em CPD009 | Sim | Nao |
Referencias no Codigo Fonte
Rotinas Delphi com referencia direta
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TfrmCPD009.btnExcluirClick | source/CPD009/UCPD009.pas | 369 | Consulta ROMANEIOGRAO e ORDEMPRODUCAOPEDIDO ao cancelar quando S |
TfrmCPD009.btnProcurarClick | source/CPD009/UCPD009.pas | 1815 | Exibe pagAlteracao quando S |
TfrmMPD049.btnSalvarClick | source/MPD049/UMPD049.pas | 575 | Usa GravaControleProducao quando N; AjusteProducao quando S |
TdmMPD049.tabEMPRESACD_PRODUTOValidate | source/MPD049/UdmMPD049.pas | 390 | Consulta ORDEMPRODUCAOPEDIDO quando S; subquery CONTROLEPRODUCAO quando N |
TdmMPD049.tabEMPRESANR_PEDIDOValidate | source/MPD049/UdmMPD049.pas | 1192 | Busca dados de ORDEMPRODUCAOPEDIDO/PEDIDO quando S |
Scripts SQL com referencia direta
| Procedure | Arquivo | Linha | Comportamento |
|---|---|---|---|
TRGAIUD_ITEMPEDIDO | Scripts/TRGAIUD_ITEMPEDIDO.sql | 323-356 | Quando N, bloqueia alteracao de QT_PEDIDA/PS_PEDIDO se ha CONTROLEPRODUCAO |