Pular para o conteúdo principal

ST_BLOQUEIAALTERACAO — Bloqueio de Alteração de Data de Vencimento das Parcelas de Venda

Tela de configuração: FNC001 — Parâmetros Financeiros Localização: Parâmetros → Financeiro → Aba Financeiro 2 Componente: chkSTBloqueiaAlteracao (checkbox DB) Tabela: PARMFINANC.ST_BLOQUEIAALTERACAO Valor padrão: 'N' (desmarcado — alteração permitida) Schema: DOM_CHAR1 DEFAULT 'N' NOT NULL — ver docs/schema/tables/PARMFINANC.sql, linha 91

Telas impactadas​

TelaDescriçãoOnde o parâmetro atua
FNC001Parâmetros FinanceirosDefine o valor 'S' / 'N'
frmParcelaNota (jParcelamento)Grade de parcelas da NotaQuando 'S' + Venda → coluna DT_VENCIMENTO fica ReadOnly

Campos envolvidos​

CampoTabelaO que faz
ST_BLOQUEIAALTERACAOPARMFINANCLiga ('S') ou desliga ('N') o bloqueio de alteração da data de vencimento das parcelas de Venda

Opções disponíveis​

'S' — Marcado (Bloqueado)​

O que fazDetalhe
Bloqueia edição da data de vencimentoAs parcelas de Venda ficam com DT_VENCIMENTO ReadOnly no grid de parcelas
ExigeOperação de Venda; não afeta parcelas de outros tipos (ex: Devolução)

Simulação passo a passo​

  1. Acesse FNC001 → Aba Financeiro 2.
  2. Marque "Bloqueia alteração de data de vencimento das parcelas de Venda".
  3. Salve o registro (Ctrl+S ou botão Gravar).
  4. Abra uma Nota de Venda existente e acesse a tela de parcelamento.
  5. Clique na coluna DT_VENCIMENTO de qualquer parcela de Venda e tente digitar uma nova data.

Resultado esperado: a coluna de data de vencimento permanece bloqueada — o campo não aceita edição pelo grid. O usuário precisa desmarcar o parâmetro e salvar novamente para conseguir alterar.

Exceção / Importante: o bloqueio só se aplica quando ambas as condições são verdadeiras:

  • ST_BLOQUEIAALTERACAO = 'S'
  • Parametros[3] = 'S' (ou seja, o parcelamento refere-se a uma Venda). Parcelas de outros tipos (Devolução, Nota de Compra etc.) permanecem editáveis mesmo com este parâmetro marcado.

'N' — Desmarcado (Permitido) — Padrão​

O que fazDetalhe
Permite edição da data de vencimentoA coluna DT_VENCIMENTO no grid de parcelas de Venda fica editável
ExigeNada — comportamento padrão, sem restrições adicionais

Simulação passo a passo​

  1. Acesse FNC001 → Aba Financeiro 2.
  2. Desmarque "Bloqueia alteração de data de vencimento das parcelas de Venda" (ou leave como está — padrão 'N').
  3. Salve o registro (Ctrl+S ou botão Gravar).
  4. Abra uma Nota de Venda existente e acesse a tela de parcelamento.
  5. Clique na coluna DT_VENCIMENTO de qualquer parcela e digite uma nova data (ex: de 15/01/2025 para 20/01/2025).

Resultado esperado: a nova data é aceita e gravada normalmente, sem bloqueio.

Tabelas de Banco de Dados impactadas​

TabelaColunaImpacto
PARMFINANCST_BLOQUEIAALTERACAOArmazena o valor do parâmetro

Regras de Negócio​

  1. Somente parcelas de Venda — o parâmetro só bloqueia parcelas cujo tipo é Venda; parcelas de devolução, compra ou outros documentos não são afetadas por este parâmetro.
  2. Configuração por empresa — a tabela PARMFINANC possui a coluna CD_EMPRESA, o que significa que o valor de ST_BLOQUEIAALTERACAO é mantido por empresa. Cada empresa pode ter comportamento diferente.
  3. Bloqueio via grid, não via código — o controle é feito no evento gridParcelaColEnter da tela de parcelamento, que define a coluna como ReadOnly. Isso impede a alteração pela interface do usuário, mas não aplica trigger ou restrição em nível de banco de dados.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
TdmFNC001.tabPARMFINANCAfterInsertsource/FNC001/UdmFNC001.pas425tabPARMFINANCST_BLOQUEIAALTERACAO.AsString := 'N'; (default on insert)
TfrmParcelaNota.gridParcelaColEntersource/jParcelamento/UParcelaNota.pas1178Consulta := 'SELECT ST_BLOQUEIAALTERACAO ' + #10 + 'FROM PARMFINANC ...' — se 'S', ReadOnly na coluna de data

Candidatas por uso da tabela PARMFINANC (sem referência direta ao campo)​

Nenhuma referência direta ao campo ST_BLOQUEIAALTERACAO foi encontrada nos arquivos SQL sob Scripts/. As procedures abaixo consultam a tabela PARMFINANC para outros parâmetros e não utilizam ST_BLOQUEIAALTERACAO.

ProcedureArquivoLinhaEvidência
CALCULA_CAPITALScripts/CALCULA_CAPITAL.sql25FROM PARMFINANC PF
CALCULA_JUROScripts/CALCULA_JURO.sql23FROM PARMFINANC PF
CALCULA_JUROMORAScripts/CALCULA_JUROMORA.sql40LEFT JOIN PARMFINANC PF
GRAVA_CONTASScripts/GRAVA_CONTAS.sql216from PARMFINANC P
PROCESSA_FATURAScripts/PROCESSA_FATURA.sql208FROM PARMFINANC PF
Demais (14 total)——Sem uso direto de ST_BLOQUEIAALTERACAO

Nenhuma das 14 procedures SQL listadas referencia o campo ST_BLOQUEIAALTERACAO literalmente — impacto zero para estas rotinas.