Pular para o conteúdo principal

ST_BLOQUEIACPFCNPJ - Bloqueio de Alteração de CPF/CNPJ

Tela de configuração: ADM010 — Parâmetros do Sistema Localização: aba Configurações, campo Configurações (cmbST_BLOQUEIOCPFCNPJ) Tabela: PARMSISTEMA.ST_BLOQUEIACPFCNPJ Tipo: CHAR(1) — Valor padrão: N (Não)

Telas impactadas​

TelaDescriçãoImpacto
TFA001Cadastro de PessoasCampo CPF/CNPJ fica somente leitura em registros já existentes
TFA083Cadastro de Pessoas (simplificado)Mesmo comportamento do TFA001

Campos envolvidos​

CampoTabelaEfeito
NR_CNPJCPFPESSOATornar-se-á somente leitura (ReadOnly) quando o parâmetro estiver ativo e o registro já existir

Opções disponíveis​

S - Sim (Bloqueia CPF/CNPJ em registros existentes)​

O que fazDetalhe
Bloqueia edição do CPF/CNPJO campo NR_CNPJCPF fica ReadOnly com fundo cinza e fonte em cor diferenciada em registros já cadastrados
Permite CPF/CNPJ em inclusãoAo criar uma nova pessoa, o campo é liberado normalmente para digitação
Aplica-se após salvar/navegarAo navegar para um registro existente (AfterScroll) ou localizar pessoa já cadastrada, o campo é bloqueado

Simulação passo a passo​

  1. Acesse ADM010 → Configurações e configure ST_BLOQUEIACPFCNPJ = S.
  2. Abra o TFA001 — Cadastro de Pessoas.
  3. Navegue até uma pessoa já cadastrada (ex.: cliente "João Silva").
  4. Observe que o campo CPF/CNPJ está com fundo cinza e não permite edição.
  5. Clique no botão Novo para incluir uma pessoa.
  6. Digite o código ou nome da nova pessoa e pressione <Tab> para sair do campo de código.
  7. Observe que o campo CPF/CNPJ está liberado (fundo branco) — digite o CPF/CNPJ normalmente.
  8. Preencha os dados e Salve o registro.
  9. Após salvar, navegue novamente até essa pessoa — o campo CPF/CNPJ voltará a ficar bloqueado.

Resultado esperado: O CPF/CNPJ pode ser informado apenas no momento da inclusão de uma nova pessoa. Após salvo, o campo não pode mais ser alterado pelo usuário.

N - Não (CPF/CNPJ livre para edição)​

O que fazDetalhe
CPF/CNPJ editávelO campo NR_CNPJCPF permanece editável tanto em inclusão quanto em alteração
Sem restrição visualO campo mantém fundo branco e fonte preta em qualquer situação

Simulação passo a passo​

  1. Acesse ADM010 → Configurações e configure ST_BLOQUEIACPFCNPJ = N (padrão).
  2. Abra o TFA001 — Cadastro de Pessoas.
  3. Navegue até uma pessoa já cadastrada (ex.: cliente "Maria Souza").
  4. Clique no campo CPF/CNPJ e altere o valor normalmente.
  5. Salve o registro — a alteração é aceita sem restrição.

Resultado esperado: O campo CPF/CNPJ é livremente editável em qualquer situação, sem bloqueio.

Regra Geral​

O parâmetro controla exclusivamente a edição do campo CPF/CNPJ em registros já existentes. Em inclusões de novas pessoas, o campo é sempre liberado, independentemente do valor do parâmetro.

SituaçãoST_BLOQUEIACPFCNPJ = SST_BLOQUEIACPFCNPJ = N
Nova pessoa (inclusão)CPF/CNPJ editávelCPF/CNPJ editável
Pessoa existente (alteração)CPF/CNPJ bloqueadoCPF/CNPJ editável
Navegação entre registrosCPF/CNPJ bloqueadoCPF/CNPJ editável

Exceção / Importante: O parâmetro atua em conjunto com ST_BLOQUEIOPESSOA (configurado em ADM010 — Parâmetros do Sistema). Ambos são consultados na mesma rotina de inicialização do TFA001 e TFA083, mas possuem efeitos independentes sobre campos diferentes.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinha(s)Descrição
TfrmTFA001.iniciarsource/TFA001/UTFA001.pas911, 1169Carrega o parâmetro e bloqueia NR_CNPJCPF se S
TfrmTFA001.btnNovoClicksource/TFA001/UTFA001.pas2347Libera NR_CNPJCPF para digitação ao incluir nova pessoa
TfrmTFA001.edtCD_PESSOAExitsource/TFA001/UTFA001.pas2708, 2730Ao localizar pessoa existente → bloqueia; pessoa nova → libera
TdmTFA001.tabPESSOAAfterScrollsource/TFA001/UdmTFA001.pas774, 798Ao navegar entre registros, bloqueia NR_CNPJCPF se S
TfrmTFA083.iniciarsource/TFA083/UTFA083.pas229, 235Carrega o parâmetro na inicialização
TfrmTFA083.edtCD_PESSOAExitsource/TFA083/UTFA083.pas895, 947Mesma lógica do TFA001 para bloqueio/liberação
TdmTFA083.tabPESSOAAfterScrollsource/TFA083/UdmTFA083.pas255, 276Mesma lógica do TFA001 na navegação

Referências SQL diretas ao campo​

Não foi encontrada referência direta ao campo ST_BLOQUEIACPFCNPJ em scripts SQL (Scripts/). O uso é exclusivamente client-side (Delphi).

Candidatas por uso da tabela​

As procedures/views listadas na análise utilizam a tabela PARMSISTEMA, mas não referenciam o campo ST_BLOQUEIACPFCNPJ diretamente. Sem impacto funcional comprovado nestas rotinas.