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
| Tela | Contexto |
|---|
| MFA001 | Configuração do parâmetro (checkbox) |
| MNF033 | Vinculação de pedidos à NF — bloqueio ao faturar pedidos não conferidos |
| MPD031 / MPD091 / MPD097 | Telas de conferência de pedidos referenciadas na mensagem de bloqueio |
Campos envolvidos
| Campo | Tabela | Papel |
|---|
ST_IGNORACONFERENCIAPEDIDOOS | PARMFATUR | Parâmetro principal |
NR_ORDEMSERVICO | PEDIDO | Identifica pedidos originados de O.S. (não nulo = veio de OS) |
ST_CONFERENCIA | ITEM | Indica se item exige conferência obrigatória |
QT_PEDIDA / QT_CONFERENCIA | ITEMPEDIDO | Quantidades pedida vs. conferida |
PS_PEDIDO / PS_CONFERENCIA | ITEMPEDIDO | Pesos pedido vs. conferido |
QT_LOTE / QT_CONFERIDA | ITEMPEDIDOSEMENTE | Quantidades de lote vs. conferidas |
Parâmetros relacionados
| Parâmetro | Onde é configurado | Relação |
|---|
ST_BLOQFATNAOCONFERIDOS | MFA001 — Opção 2 | Pré-requisito obrigatório. Este checkbox só fica editável quando ST_BLOQFATNAOCONFERIDOS = 'S'. |
TP_CONTROLELOTE | MFA001 — Opção 2 | Quando = 'I', força ST_BLOQFATNAOCONFERIDOS = 'N' e desabilita este checkbox indiretamente. |
Opções disponíveis
N — Desmarcado (padrão)
| O que faz | Detalhe |
|---|
| Pedidos de OS são tratados como qualquer outro pedido | Quando 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
- Acesse MFA001 → Opção 2.
- Marque "Validar Quantidade Conferida [MPD031/MPD091/MPD097]" (
ST_BLOQFATNAOCONFERIDOS = 'S').
- Deixe desmarcado o checkbox "Ignorar Pedidos Gerados por O.S.[MOF001]".
- Salve os parâmetros (
<F9> ou botão Salvar).
- Tente gerar uma Nota Fiscal de saída vinculada a um pedido que veio de O.S. com itens não conferidos.
- 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 faz | Detalhe |
|---|
| 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
- Acesse MFA001 → Opção 2.
- Marque "Validar Quantidade Conferida [MPD031/MPD091/MPD097]" (
ST_BLOQFATNAOCONFERIDOS = 'S').
- Marque o checkbox "Ignorar Pedidos Gerados por O.S.[MOF001]".
- Salve os parâmetros (
<F9> ou botão Salvar).
- 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.
- O sistema exibe bloqueio apenas para o pedido comum: "A NOTA FISCAL POSSUI PEDIDOS QUE NÃO FORAM CONFERIDOS. VERIFIQUE [MPD031/MPD091/MPD097]".
- 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ção | Estado 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
| Rotina | Arquivo | Linha | Efeito |
|---|
TfrmMFA001.chkST_BLOQFATNAOCONFERIDOSClick | UMFA001.pas | 2607 | Habilita/desabilita o checkbox conforme o pai |
TfrmMFA001.cmbTP_CONTROLELOTEChange | UMFA001.pas | 2446, 2450, 2459, 2463 | Quando = 'I' desabilita; quando <> 'I' reabilita |
TdmMFA001.tabPARMFATURAfterInsert | UdmMFA001.pas | 585 | Valor padrão 'N' ao inserir novo registro |
TdmMFA001.tabPARMFATURAfterScroll | UdmMFA001.pas | 1456 | Reaplica habilitação/desabilitação ao navegar registros |
Referências SQL diretas ao campo
| Procedure/View | Arquivo | Linha(s) | Efeito |
|---|
GERA_NOTAFISCAL | GERA_NOTAFISCAL.sql | 175, 267, 427-435 | Declara variável, lê de PARMFATUR e repassa como parâmetro para VERIRICA_BLOQUEIONAOCONFERIDO |
VERIRICA_BLOQUEIONAOCONFERIDO | VERIRICA_BLOQUEIONAOCONFERIDO.sql | 8, 38-39, 68-69 | Recebe 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:
-
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.
-
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
| Valor | Pedidos comuns (sem OS) | Pedidos de O.S. | Observação |
|---|
N (padrão) | Bloqueados se não conferidos | Bloqueados se não conferidos | Comportamento uniforme |
S | Bloqueados se não conferidos | Liberados sem conferência | Só tem efeito com ST_BLOQFATNAOCONFERIDOS = 'S' |