Pular para o conteúdo principal

ST_BLOQUEIAPEDIDOOSLIB - Bloqueia Pedido com OS Liberada

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela: PARMFATUR.ST_BLOQUEIAPEDIDOOSLIB Valor padrão: S (Marcado — bloqueio ativado)

Telas impactadas​

TelaArquivoImpacto
MOF001 — Ordem de ServiçoUMOF001.pasAo gerar pedido a partir da OS, verifica se o pedido deve ser bloqueado

Campos envolvidos​

CampoTabelaDescrição
DS_BLOQUEIOORDEMSERVICOMotivo do bloqueio da Ordem de Serviço
ST_PEDIDOPEDIDOStatus do pedido (B = Bloqueado)
DS_BLOQUEIOPEDIDOMotivo do bloqueio do pedido

Opções disponíveis​

S — Bloqueia Pedido quando OS possui bloqueio (Padrão)​

O que fazDetalhe
Quando marcado (S), o pedido gerado a partir de uma OS não recebe bloqueio extraMesmo que a OS tenha DS_BLOQUEIO preenchido, o pedido é gerado normalmente

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros → Opção 2 e certifique-se de que o checkbox "Bloqueia Pedido com OS Liberada [MOF001]" esteja marcado.
  2. No MOF001, abra uma Ordem de Serviço que possua o campo DS_BLOQUEIO preenchido (OS com restrição).
  3. Clique no botão Gerar Pedido.
  4. O sistema gera o pedido com status normal — não aplica bloqueio ao pedido.

Resultado esperado: Pedido gerado sem bloqueio, independentemente de a OS ter restrição registrada em DS_BLOQUEIO.

Exceção / Importante: Mesmo com S, o sistema ainda pode bloquear o pedido por outras regras da função VERIFICA_BLOQUEIO (ex: limite de crédito, inadimplência). Este parâmetro controla apenas se o bloqueio da OS é repassado ao pedido.


N — Não repassa bloqueio da OS para o pedido​

O que fazDetalhe
Quando desmarcado (N), se a OS tiver DS_BLOQUEIO preenchido, o pedido gerado é bloqueadoO bloqueio da OS é propagado para o pedido

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros → Opção 2 e desmarque o checkbox "Bloqueia Pedido com OS Liberada [MOF001]".
  2. No MOF001, abra uma Ordem de Serviço que possua o campo DS_BLOQUEIO preenchido (ex: "Aguardando peça").
  3. Clique no botão Gerar Pedido.
  4. O sistema detecta que a OS tem bloqueio e que o parâmetro permite repassar o bloqueio.
  5. O pedido é gerado com ST_PEDIDO = 'B' (Bloqueado) e o motivo do bloqueio é gravado em DS_BLOQUEIO do pedido.

Resultado esperado: Pedido gerado com status Bloqueado (ST_PEDIDO = 'B'), impedindo a faturamento até que o bloqueio seja removido.

Exceção / Importante: Se a OS não tiver DS_BLOQUEIO preenchido (vazio/nulo), o pedido é gerado normalmente mesmo com o parâmetro em N. O bloqueio só ocorre quando ambas as condições são verdadeiras: OS com bloqueio e parâmetro desmarcado.

Regra Geral​

A lógica interna funciona da seguinte forma:

CondiçãoST_BLOQUEIAPEDIDOOSLIBDS_BLOQUEIO da OSResultado para o Pedido
Bloqueio ativadoS (marcado)PreenchidoPedido liberado
Bloqueio ativadoS (marcado)VazioPedido liberado
Bloqueio desativadoN (desmarcado)PreenchidoPedido bloqueado
Bloqueio desativadoN (desmarcado)VazioPedido liberado

O parâmetro atua como uma chave de passagem: quando N, o bloqueio da OS "passa" para o pedido; quando S, o bloqueio da OS é ignorado na geração do pedido.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaDescrição
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pas590Define valor padrão S ao criar novo registro de parâmetros
TfrmMOF001.btnPedidoClickUMOF001.pas4757Verifica o parâmetro ao gerar pedido a partir da OS — se N e OS com bloqueio, repassa bloqueio ao pedido

Referências SQL diretas ao campo​

Nenhuma procedure SQL em Scripts/ referencia diretamente o campo ST_BLOQUEIAPEDIDOOSLIB. O uso está restrito à camada Delphi (rotina btnPedidoClick do MOF001).

Candidatas por uso da tabela​

As procedures abaixo utilizam a tabela PARMFATUR, mas não referenciam o campo ST_BLOQUEIAPEDIDOOSLIB diretamente:

CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, CALCULA_COMISSAO, CANCELA_NOTAFISCAL, CANCELA_MESTRA, entre outras listadas na análise de impacto.

Tabela Comparativa Resumida​

ValorCheckboxComportamento
SMarcadoIgnora bloqueio da OS ao gerar pedido (pedido liberado)
NDesmarcadoRepassa bloqueio da OS ao pedido (pedido bloqueado se OS tiver DS_BLOQUEIO)