Pular para o conteúdo principal

Parâmetro de Devolução de Notas (Saldo do Pedido de Origem)

Tela de configuração: MFA001 - Parâmetros de Faturamento Localização: Parâmetros → Notas Fiscais → Parâmetros de Notas (aba pagNota → pagParametrosNF), rótulo "Devolução de Notas" Tabela: PARMFATUR.ST_DEVOLUCAO Valor padrão: N (Não muda o Saldo do Pedido)

Telas impactadas​

Este parâmetro está configurado no MFA001, é armazenado em PARMFATUR.ST_DEVOLUCAO e é propagado para a TStringList ParmFatur pelo jSessao (via os SELECTs em UdmMFA001.dfm:120, CPD009/UdmCPD009.dfm:578, RCA006/UdmRCA006.dfm:3327). Porém, nenhum consumidor Delphi foi localizado no código-fonte (não há nenhuma ocorrência de ParmFatur.Values['ST_DEVOLUCAO'], tabPARMFATURST_DEVOLUCAO.AsString ou similar fora do próprio MFA001).

MóduloCódigoPapel
Parâmetros de FaturamentoMFA001Configura o parâmetro (único local onde o valor é definido/gravado)
Cópia de Parâmetros para Nova EmpresaCPD009Lê PARMFATUR.ST_DEVOLUCAO ao replicar a parametrização (linha 578 do UdmCPD009.dfm)
Relatório de CarregamentoRCA006Lê PARMFATUR.ST_DEVOLUCAO no SELECT consolidado de parâmetros (linha 3327 do UdmRCA006.dfm), mas não usa o valor para lógica

Todas as outras ocorrências de ST_DEVOLUCAO no código-fonte (MNF001, MNF002, MNF007, MNF026, MPD052, RNF004-030, RFI005-039, jFaturamento, jValidate, etc.) referem-se a outras tabelas — CFO.ST_DEVOLUCAO, MOVIMENTACAO.ST_DEVOLUCAO, NOTA.ST_DEVOLUCAO e ITEMNOTA.ST_DEVOLUCAO — que são campos transacionais independentes do parâmetro PARMFATUR.ST_DEVOLUCAO e não representam consumidores deste parâmetro.

Procedures impactadas​

Nenhuma stored procedure no diretório Scripts/ faz referência a PARMFATUR.ST_DEVOLUCAO (busca realizada em todo D:/Desenvolvimento/JunsoftERP_V2/Scripts/ — zero ocorrências).

Campos envolvidos​

CampoTabelaTipoDescrição
ST_DEVOLUCAOPARMFATURCHAR(1)Parâmetro que, conforme o rótulo da UI, define se a emissão de nota de devolução deve "voltar o saldo do pedido da origem"

Opções disponíveis​

As duas opções estão definidas em source/MFA001/UMFA001.dfm:6752-6754:

Items.Strings = (
'Volta Saldo do Pedido da Origem'#9'S'
'Não muda o Saldo do Pedido'#9'N')

S - Volta Saldo do Pedido da Origem​

O que fazDetalhe
Intenção declarada na UIAo emitir uma devolução, o saldo do pedido de origem deveria ser restituído (o item devolvido volta a ficar "em aberto" no pedido)
Onde está gravadoPARMFATUR.ST_DEVOLUCAO = 'S'
Consumidores no código DelphiNenhum consumidor efetivo localizado. Não há leitura de ParmFatur.Values['ST_DEVOLUCAO'] em nenhum .pas do projeto
Consumidores em SQLNenhuma procedure no diretório Scripts/ lê PARMFATUR.ST_DEVOLUCAO

Simulação passo a passo​

  1. Vá em MFA001 → aba Notas Fiscais → sub-aba Parâmetros de Notas
  2. No campo "Devolução de Notas" (combo cmbST_DEVOLUCAO), selecione Volta Saldo do Pedido da Origem
  3. Grave (F6). Valor gravado em PARMFATUR.ST_DEVOLUCAO = 'S'
  4. Emita uma nota de devolução de um pedido já faturado em MNF007 ou MNF002

Resultado esperado: com base apenas no código fonte atual (Delphi + SQL), o comportamento efetivo do sistema é idêntico ao da opção N — nenhuma rotina lê este parâmetro para decidir se devolve ou não saldo ao pedido de origem. A expectativa descrita no rótulo da UI não está implementada no código-fonte analisado.


N - Não muda o Saldo do Pedido (padrão)​

O que fazDetalhe
Intenção declarada na UIA emissão de nota de devolução não altera o saldo do pedido original
Onde está gravadoPARMFATUR.ST_DEVOLUCAO = 'N'
Valor padrão em novo registroSim — definido em source/MFA001/UdmMFA001.pas:464 no evento AfterInsert: tabPARMFATURST_DEVOLUCAO.AsString := 'N'
Comportamento observávelIgual a S (nenhum consumidor)

Simulação passo a passo​

  1. Vá em MFA001 → aba Notas Fiscais → sub-aba Parâmetros de Notas
  2. No campo "Devolução de Notas", selecione Não muda o Saldo do Pedido
  3. Grave (F6). Valor gravado em PARMFATUR.ST_DEVOLUCAO = 'N'
  4. Emita uma nota de devolução

Resultado esperado: o saldo do pedido de origem permanece inalterado após a devolução — comportamento padrão do sistema (que ocorre independentemente do valor gravado, dado que nenhuma rotina consome este parâmetro).


Tabela Comparativa Resumida​

ValorRótulo (UI)Gravado em PARMFATUR.ST_DEVOLUCAOConsumidor efetivoComportamento observado
SVolta Saldo do Pedido da OrigemSNenhumIgual a N (parâmetro dormente)
NNão muda o Saldo do PedidoN (padrão)NenhumSaldo do pedido de origem não é alterado pela devolução

Nota técnica: este parâmetro aparece como dormente / não implementado no code-base atual. Ele é apenas configurado na UI do MFA001 (UMFA001.dfm + UdmMFA001.pas), lido pelo jSessao junto aos demais parâmetros de PARMFATUR, e replicado pelo CPD009 ao copiar parâmetros para outra empresa. Nenhum módulo de devolução (MNF002, MNF007, MNF019, MNF026, MRC020, MPD043, MPD056, MPD076, etc.) testa o valor de PARMFATUR.ST_DEVOLUCAO para decidir sobre o saldo do pedido de origem.


Referências no Código Fonte​

Tela de configuração — MFA001​

ArquivoLinhaConteúdo
source/MFA001/UMFA001.pas383Declaração do combo: cmbST_DEVOLUCAO: TwwDBComboBox;
source/MFA001/UMFA001.dfm6060Label: Caption = 'Devolução de Notas'
source/MFA001/UMFA001.dfm6061FocusControl = cmbST_DEVOLUCAO
source/MFA001/UMFA001.dfm6733-6758Definição do combo cmbST_DEVOLUCAO (DataField, DataSource, Items.Strings com mapeamento S/N)
source/MFA001/UMFA001.dfm6743DataField = 'ST_DEVOLUCAO'
source/MFA001/UMFA001.dfm6752-6754Items.Strings = ('Volta Saldo do Pedido da Origem'#9'S', 'Não muda o Saldo do Pedido'#9'N')
source/MFA001/UdmMFA001.pas108Declaração do TField: tabPARMFATURST_DEVOLUCAO: TStringField;
source/MFA001/UdmMFA001.pas464Valor padrão em AfterInsert: tabPARMFATURST_DEVOLUCAO.AsString := 'N';
source/MFA001/UdmMFA001.dfm120Coluna lida no SELECT de PARMFATUR (CommandText da consulta principal)
source/MFA001/UdmMFA001.dfm998-1001Definição do campo persistente tabPARMFATURST_DEVOLUCAO (FieldName, Size = 1)
source/MFA001/UdmMFA001.dfm2350Coluna referenciada no SQL de INSERT de PARMFATUR
source/MFA001/UdmMFA001.dfm2498Parâmetro :ST_DEVOLUCAO no INSERT
source/MFA001/UdmMFA001.dfm2709Atualização no UPDATE: ST_DEVOLUCAO = :ST_DEVOLUCAO,
source/MFA001/UdmMFA001.dfm3000Segunda ocorrência do SELECT (consulta de refresh)

Módulos que apenas leem a coluna no SELECT de PARMFATUR (sem aplicar lógica)​

ArquivoLinhaObservação
source/CPD009/UdmCPD009.dfm578SELECT usado pelo CPD009 (Cópia de parâmetros entre empresas) — a coluna é copiada tal e qual
source/RCA006/UdmRCA006.dfm3327SELECT do RCA006 (Relatório de Carregamento) — coluna consta no SELECT mas o valor não é usado em regra

Stored Procedures (diretório Scripts/)​

Nenhuma referência a PARMFATUR.ST_DEVOLUCAO foi localizada em D:/Desenvolvimento/JunsoftERP_V2/Scripts/.

Ocorrências de ST_DEVOLUCAO em outras tabelas (NÃO relacionadas a este parâmetro)​

Para evitar confusão em futuras manutenções, estes são os outros campos ST_DEVOLUCAO existentes no modelo (NÃO são consumidores de PARMFATUR.ST_DEVOLUCAO):

CampoUsos típicos encontrados
CFO.ST_DEVOLUCAOjCommon/jValidate.pas:3832 (carregamento de CFO); MNF002/UdmMNF002.pas:9710 (valida se há CFOP de devolução na nota); jFaturamento/Nfe/jNFe.pas:1008, 2019 (cálculos fiscais)
MOVIMENTACAO.ST_DEVOLUCAOjCommon/jValidate.pas:3525-3590 (validação do tipo de movimentação); MNF002/UdmMNF002.pas:5458 (validação da movimentação do item da nota); MNF002/UMNF002.pas:5382 (filtro de pesquisa por movimentação)
NOTA.ST_DEVOLUCAO / ITEMNOTA.ST_DEVOLUCAOVários módulos MNF*, MPD*, RNF*, RFI*, TFI002, TCB001, TCB010 (status transacional da nota/item de devolução)

Essas ocorrências não devem ser interpretadas como consumidoras do parâmetro PARMFATUR.ST_DEVOLUCAO.