Pular para o conteúdo principal

ST_IGNORACONFERENCIAPEDIDOOS - Ignorar Pedidos Gerados por O.S.

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela: PARMFATUR.ST_IGNORACONFERENCIAPEDIDOOS — DOM_CHAR1 DEFAULT 'N' NOT NULL Valor padrão: N (Desmarcado)

Telas impactadas​

TelaContexto
MFA001Configuração do parâmetro (checkbox)
MNF033Vinculação de pedidos à NF — bloqueio ao faturar pedidos não conferidos
MPD031 / MPD091 / MPD097Telas de conferência de pedidos referenciadas na mensagem de bloqueio

Campos envolvidos​

CampoTabelaPapel
ST_IGNORACONFERENCIAPEDIDOOSPARMFATURParâmetro principal
NR_ORDEMSERVICOPEDIDOIdentifica pedidos originados de O.S. (não nulo = veio de OS)
ST_CONFERENCIAITEMIndica se item exige conferência obrigatória
QT_PEDIDA / QT_CONFERENCIAITEMPEDIDOQuantidades pedida vs. conferida
PS_PEDIDO / PS_CONFERENCIAITEMPEDIDOPesos pedido vs. conferido
QT_LOTE / QT_CONFERIDAITEMPEDIDOSEMENTEQuantidades de lote vs. conferidas

Parâmetros relacionados​

ParâmetroOnde é configuradoRelação
ST_BLOQFATNAOCONFERIDOSMFA001 — Opção 2Pré-requisito obrigatório. Este checkbox só fica editável quando ST_BLOQFATNAOCONFERIDOS = 'S'.
TP_CONTROLELOTEMFA001 — Opção 2Quando = 'I', força ST_BLOQFATNAOCONFERIDOS = 'N' e desabilita este checkbox indiretamente.

Opções disponíveis​

N — Desmarcado (padrão)​

O que fazDetalhe
Pedidos de OS são tratados como qualquer outro pedidoQuando o bloqueio de conferência está ativo (ST_BLOQFATNAOCONFERIDOS = 'S'), pedidos originados de O.S. também precisam ser conferidos antes de faturar.

Simulação passo a passo​

  1. Acesse MFA001 → Opção 2.
  2. Marque "Validar Quantidade Conferida [MPD031/MPD091/MPD097]" (ST_BLOQFATNAOCONFERIDOS = 'S').
  3. Deixe desmarcado o checkbox "Ignorar Pedidos Gerados por O.S.[MOF001]".
  4. Salve os parâmetros (<F9> ou botão Salvar).
  5. Tente gerar uma Nota Fiscal de saída vinculada a um pedido que veio de O.S. com itens não conferidos.
  6. O sistema exibe: "A NOTA FISCAL POSSUI PEDIDOS QUE NÃO FORAM CONFERIDOS. VERIFIQUE [MPD031/MPD091/MPD097]" — a NF não é gerada.

Resultado esperado: Pedidos de O.S. não conferidos bloqueiam a geração da NF, assim como pedidos comuns.


S — Marcado​

O que fazDetalhe
Ignora a exigência de conferência para pedidos originados de O.S.Pedidos com PEDIDO.NR_ORDEMSERVICO preenchido não bloqueiam a NF, mesmo sem conferência. Pedidos comuns (sem OS) continuam bloqueados.

Simulação passo a passo​

  1. Acesse MFA001 → Opção 2.
  2. Marque "Validar Quantidade Conferida [MPD031/MPD091/MPD097]" (ST_BLOQFATNAOCONFERIDOS = 'S').
  3. Marque o checkbox "Ignorar Pedidos Gerados por O.S.[MOF001]".
  4. Salve os parâmetros (<F9> ou botão Salvar).
  5. Gere uma Nota Fiscal de saída que contenha:
    • Um pedido originado de O.S. (ex.: O.S. nº 150) com itens não conferidos.
    • Um pedido comum (sem O.S.) com itens não conferidos.
  6. O sistema exibe bloqueio apenas para o pedido comum: "A NOTA FISCAL POSSUI PEDIDOS QUE NÃO FORAM CONFERIDOS. VERIFIQUE [MPD031/MPD091/MPD097]".
  7. Remova o pedido comum da NF e tente novamente — agora a NF é gerada normalmente, ignorando a falta de conferência do pedido de O.S.

Resultado esperado: Pedidos vinculados a O.S. são liberados para faturamento sem conferência prévia. Pedidos comuns continuam exigindo conferência.

Exceção / Importante:

  • Este parâmetro só tem efeito quando ST_BLOQFATNAOCONFERIDOS = 'S'. Se o bloqueio de conferência estiver desativado, este checkbox não altera nenhum comportamento.
  • O checkbox fica desabilitado (cinza) na tela MFA001 quando ST_BLOQFATNAOCONFERIDOS está desmarcado. Ele só é habilitado automaticamente ao marcar o checkbox de bloqueio de conferência.
  • Quando TP_CONTROLELOTE = 'I' (individual), o sistema força ST_BLOQFATNAOCONFERIDOS = 'N' e desabilita ambos os checkboxes, tornando este parâmetro inacessível.
  • O bypass também se aplica à verificação de lotes/sementes: pedidos de O.S. com lotes não conferidos são igualmente ignorados quando este parâmetro está marcado.

Regra de dependência na UI​

CondiçãoEstado do checkbox
ST_BLOQFATNAOCONFERIDOS = 'N'Desabilitado (não editável)
ST_BLOQFATNAOCONFERIDOS = 'S' e TP_CONTROLELOTE <> 'I'Habilitado (editável)
TP_CONTROLELOTE = 'I'Desabilitado (pai ST_BLOQFATNAOCONFERIDOS forçado para 'N')

Procedures impactadas​

Rotinas Delphi com referência direta​

RotinaArquivoLinhaEfeito
TfrmMFA001.chkST_BLOQFATNAOCONFERIDOSClickUMFA001.pas2607Habilita/desabilita o checkbox conforme o pai
TfrmMFA001.cmbTP_CONTROLELOTEChangeUMFA001.pas2446, 2450, 2459, 2463Quando = 'I' desabilita; quando <> 'I' reabilita
TdmMFA001.tabPARMFATURAfterInsertUdmMFA001.pas585Valor padrão 'N' ao inserir novo registro
TdmMFA001.tabPARMFATURAfterScrollUdmMFA001.pas1456Reaplica habilitação/desabilitação ao navegar registros

Referências SQL diretas ao campo​

Procedure/ViewArquivoLinha(s)Efeito
GERA_NOTAFISCALGERA_NOTAFISCAL.sql175, 267, 427-435Declara variável, lê de PARMFATUR e repassa como parâmetro para VERIRICA_BLOQUEIONAOCONFERIDO
VERIRICA_BLOQUEIONAOCONFERIDOVERIRICA_BLOQUEIONAOCONFERIDO.sql8, 38-39, 68-69Recebe o valor e decide se emite mensagem de bloqueio: pula pedidos de OS quando = 'S'

Lógica dentro de VERIRICA_BLOQUEIONAOCONFERIDO​

A procedure executa duas verificações:

  1. Itens com saldo — Busca itens de pedido onde a quantidade/peso pedida excede a conferida e que tenham conferência iniciada ou item com ST_CONFERENCIA = 'S'. Se encontrado e (NR_ORDEMSERVICO IS NULL) ou (NR_ORDEMSERVICO IS NOT NULL AND I_ST_IGNORACONFERENCIAPEDIDOOS = 'N'), emite bloqueio.

  2. Lotes/Sementes com saldo — Busca lotes de ITEMPEDIDOSEMENTE com QT_LOTE > QT_CONFERIDA. Mesma lógica de bypass para pedidos de OS.

Em ambas: quando NR_ORDEMSERVICO IS NOT NULL e I_ST_IGNORACONFERENCIAPEDIDOOS = 'S', a procedure não emite a mensagem de bloqueio para esse pedido.

Tabela comparativa resumida​

ValorPedidos comuns (sem OS)Pedidos de O.S.Observação
N (padrão)Bloqueados se não conferidosBloqueados se não conferidosComportamento uniforme
SBloqueados se não conferidosLiberados sem conferênciaSó tem efeito com ST_BLOQFATNAOCONFERIDOS = 'S'