Parâmetro de Integração NF Entrada x Pedido de Compra
Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Pedidos / O.S. → Opção 1 (label "Pedido de Compra") Tabela:
PARMFATUR.ST_PEDCOMPRAValor padrão:N(Não Integrado)
Telas impactadas
| Módulo | Código | Descrição |
|---|---|---|
| Nota Fiscal Entrada | MNF001 | Emissão/digitação de NF de entrada com amarração no pedido de compra |
| Nota Fiscal Entrada Conhecimento | MNF007 | Carrega o parâmetro em variável, mas sem uso efetivo de comportamento |
| Nota Fiscal Entrada (variante) | MNF019 | Carrega o parâmetro em variável, mas sem uso efetivo de comportamento |
| Nota Fiscal Transporte | MTR004 | Carrega o parâmetro em variável, mas sem uso efetivo de comportamento |
A lógica efetiva (mostrar campo
NR_PEDIDO, carregar pedidos de compra ao trocar de fornecedor, buscar endereço via pedido) ocorre apenas no MNF001. Os demais módulos apenas leem o valor junto com outros parâmetros doPARMFATURsem alterar comportamento no código atual.
Campos envolvidos
| Campo | Descrição |
|---|---|
NR_PEDIDO | Número do pedido de compra amarrado à nota de entrada (NOTA.NR_PEDIDO) |
CD_PESSOA | Fornecedor — dispara consulta de pedidos de compra em aberto |
CD_ENDERECO | Endereço da pessoa — preenchido a partir do pedido quando integrado |
ST_CONSOLPED | Quando = 'S', consolida múltiplos pedidos do mesmo fornecedor na mesma NF |
Opções disponíveis
S - Integrado
| O que faz | Detalhe |
|---|---|
Campo NR_PEDIDO visível? | Sim, exibido no formulário MNF001 |
| Foco inicial | Ao entrar em modo Append, o foco vai para edtNR_PEDIDO |
| Ao escolher fornecedor | Sistema consulta PEDIDO em aberto do fornecedor e sugere endereço |
| Endereço | Quando o pedido é único, preenche NOTA.CD_ENDERECO com o endereço do pedido (quando importando XML, cai no comportamento alternativo) |
| Consolidação | Respeita ST_CONSOLPED: se S, agrupa vários pedidos do mesmo fornecedor |
| Uso típico | Empresas que trabalham com pedido de compra formal antes de receber a NF |
Simulação passo a passo
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → ST_PEDCOMPRA = "Integrado"
- Salve os parâmetros (F6)
- Abra a MNF001 — Nota Fiscal de Entrada
- Clique em Incluir (F2) → observe que o campo Nr. Pedido fica visível e já recebe foco
- Informe um fornecedor (
CD_PESSOA) que tenha pedidos de compra em aberto - O sistema consulta os pedidos em
PEDIDOe, se houver exatamente um endereço no pedido, já sugere oCD_ENDERECOna nota - Informe o número do pedido de compra
- Os itens do pedido são carregados para a nota respeitando
ST_CONSOLPED
Resultado esperado: A NF de entrada fica amarrada ao pedido de compra original, trazendo itens e endereço automaticamente. Uso indicado quando a empresa emite pedido de compra antes do recebimento fiscal.
N - Não Integrado
| O que faz | Detalhe |
|---|---|
Campo NR_PEDIDO visível? | Não — edtNR_PEDIDO.Visible = False e lblNR_PEDIDO.Visible = False |
| Foco inicial | Não direciona foco para o campo de pedido |
| Ao escolher fornecedor | Não consulta pedidos em aberto; não sugere endereço via pedido |
| Uso típico | Empresas que lançam NF de entrada avulsa (sem pedido de compra prévio) |
Simulação passo a passo
- Vá em MFA001 → Parâmetros → Ambos → Opção 1 → ST_PEDCOMPRA = "Não Integrado"
- Salve os parâmetros (F6)
- Abra a MNF001 — Nota Fiscal de Entrada
- Clique em Incluir (F2) → observe que o campo Nr. Pedido não aparece (
Visible = False) - Informe diretamente o fornecedor e digite os itens manualmente
- O sistema não consulta
PEDIDOe não sugere endereço/itens a partir de pedido
Resultado esperado: A NF de entrada é lançada de forma totalmente avulsa, sem amarração com pedido de compra. Uso indicado quando a empresa não trabalha com pedido de compra formal.
Este é o valor padrão ao criar um novo registro no MFA001 (
tabPARMFATURST_PEDCOMPRA.AsString := 'N'noAfterInsert).
Regra Geral
A influência prática deste parâmetro está concentrada em MNF001 (Nota Fiscal de Entrada). Os módulos MNF007, MNF019 e MTR004 carregam o valor em variáveis locais (iST_PEDCOMPRA) ao abrir o formulário, porém no código atual não há ramificação condicional que utilize este valor para alterar comportamento visível. Mantenha o parâmetro coerente com o fluxo de compras da empresa, pois futuras evoluções nessas telas podem passar a consumir o valor já carregado.
Tabela Comparativa Resumida
| Opção | Descrição | Campo NR_PEDIDO | Consulta pedidos ao trocar fornecedor | Sugere endereço via pedido |
|---|---|---|---|---|
| S | Integrado | Visível, com foco | Sim | Sim |
| N | Não Integrado | Oculto | Não | Não |
Referências no Código Fonte
| Arquivo | Linhas | Função |
|---|---|---|
source/MFA001/UMFA001.dfm | 8404-8430 | Combobox cmbST_PEDCOMPRA com Items.Strings = ('Integrado'#9'S', 'Não Integrado'#9'N') |
source/MFA001/UdmMFA001.pas | 41 | Declaração do field tabPARMFATURST_PEDCOMPRA: TStringField |
source/MFA001/UdmMFA001.pas | 442 | AfterInsert: valor padrão 'N' em novo registro |
source/MNF001/UdmMNF001.pas | 1106 | Declaração da variável iST_PEDCOMPRA |
source/MNF001/UdmMNF001.pas | 1372, 1392 | Leitura do campo ST_PEDCOMPRA do PARMFATUR para iST_PEDCOMPRA |
source/MNF001/UdmMNF001.pas | 3965, 4021 | Quando iST_PEDCOMPRA = 'S': consulta PEDIDO/ITEMPEDIDO do fornecedor e sugere CD_ENDERECO da nota |
source/MNF001/UMNF001.pas | 1189 | Procedimento Consulta_Pedidos: só executa se iST_PEDCOMPRA = 'S' e não veio de import XML |
source/MNF001/UMNF001.pas | 2971 | Em modo Append, foca edtNR_PEDIDO quando iST_PEDCOMPRA = 'S' |
source/MNF001/UMNF001.pas | 3014-3022 | Alterna edtNR_PEDIDO.Visible e lblNR_PEDIDO.Visible conforme iST_PEDCOMPRA ('N' = oculto) |
source/MNF001/UMNF001.pas | 3572 | Em edtCD_PESSOAExit: quando iST_PEDCOMPRA = 'S', busca endereços do fornecedor para sugerir CD_ENDERECO |
source/MNF007/UdmMNF007.pas | 678, 911, 933 | Declara iST_PEDCOMPRA, inclui o campo na query de PARMFATUR e atribui o valor (sem uso condicional atual) |
source/MNF019/UdmMNF019.pas | 446, 632, 648 | Declara iST_PEDCOMPRA, inclui o campo na query de PARMFATUR e atribui o valor (sem uso condicional atual) |
source/MTR004/UdmMTR004.pas | 351, 422, 432 | Declara iST_PEDCOMPRA, inclui o campo na query de PARMFATUR e atribui o valor (sem uso condicional atual) |
source/CPD009/UdmCPD009.dfm | 378, 469, 532 | Scripts INSERT/UPDATE/SELECT de PARMFATUR incluindo ST_PEDCOMPRA (replicação de parâmetros) |
source/RCA006/UdmRCA006.dfm | 3127, 3218, 3281 | Scripts INSERT/UPDATE/SELECT de PARMFATUR incluindo ST_PEDCOMPRA (replicação de parâmetros) |