ST_NOVAPESSOA - Novos Cadastros de Pessoa
Tela de configuração: ADM010 — Parâmetros do Sistema
Localização: Aba Bloqueio/Cadastro Pessoa → campo Novos Cadastros [TFA001]
Tabela: PARMSISTEMA.ST_NOVAPESSOA
Valor padrão: N (Não)
Telas impactadas
| Tela | Arquivo | Efeito |
|---|
| TFA001 — Cadastro de Pessoas | UdmTFA001.pas | Ao incluir uma pessoa nova, marca como bloqueada para análise |
Trigger PESSOA_BI | PESSOA_BI.sql | Ao inserir pessoa via SQL, define ST_BLOQUEADA e ST_ATIVA conforme o parâmetro |
Procedure PROCESSA_PESSOASOVIS | PROCESSA_PESSOASOVIS.sql | Ao importar pessoa do Sovis, usa o parâmetro no campo ST_BLOQUEADA |
Campos envolvidos
| Campo | Tabela | Efeito |
|---|
ST_BLOQUEADA | PESSOA | Recebe 'S' quando parâmetro = 'S' (pessoa nova bloqueada) |
ST_ATIVA | PESSOA | Recebe 'N' quando parâmetro = 'S' (pessoa nova inativa) |
DS_MOTIVOBLOQUEIO | PESSOA | Recebe texto "Novo Cadastro de Pessoa. Bloqueado para Análise." (somente via TFA001) |
Opções disponíveis
S - Sim (Bloqueia Novos Cadastros)
| O que faz | Detalhe |
|---|
| Novos cadastros de pessoa são bloqueados | ST_BLOQUEADA = 'S' e ST_ATIVA = 'N' automaticamente |
| Exige liberação manual | Um usuário precisa desbloquear a pessoa para que ela fique ativa |
| Aplica-se em todas as vias de inclusão | Trigger PESSOA_BI (banco), TFA001 (Delphi) e importação Sovis |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa.
- No campo Novos Cadastros [TFA001], selecione Sim.
- Salve os parâmetros.
- Abra TFA001 — Cadastro de Pessoas e inclua uma nova pessoa (ex.: cliente "João da Silva").
- Preencha os dados obrigatórios e salve.
- O sistema exibe a mensagem: "Novo Cadastro de Pessoa. Será Bloqueado para Análise."
- A pessoa é gravada com ST_BLOQUEADA = S e ST_ATIVA = N.
Resultado esperado: Toda pessoa recém-cadastrada fica bloqueada e inativa, aguardando análise e liberação manual por um usuário autorizado.
Exceção / Importante: A importação de pessoas via PROCESSA_PESSOASOVIS (integração Sovis) segue o mesmo comportamento: quando ST_NOVAPESSOA = 'S', a pessoa importada recebe ST_BLOQUEADA = 'S' no UPDATE OR INSERT. O trigger PESSOA_BI também aplica a regra para qualquer INSERT na tabela PESSOA, independentemente da origem.
N - Não (Cadastros Normais)
| O que faz | Detalhe |
|---|
| Novos cadastros são gravados normalmente | ST_BLOQUEADA = 'N' e ST_ATIVA = 'S' |
| Sem bloqueio automático | Pessoa já fica ativa e disponível para uso imediato |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa.
- No campo Novos Cadastros [TFA001], selecione Não.
- Salve os parâmetros.
- Abra TFA001 — Cadastro de Pessoas e inclua uma nova pessoa (ex.: fornecedor "Distribuidora ABC").
- Preencha os dados obrigatórios e salve.
- A pessoa é gravada normalmente, sem bloqueio e já ativa.
Resultado esperado: A pessoa recém-cadastrada fica ativa e desbloqueada, pronta para uso imediato em pedidos, notas e demais operações.
Regra Geral
O parâmetro atua em três camadas:
- Trigger
PESSOA_BI (banco de dados): Toda vez que um registro é inserido na tabela PESSOA, o trigger consulta ST_NOVAPESSOA em PARMSISTEMA. Se 'S', força ST_ATIVA = 'N' e ST_BLOQUEADA = 'S'. Se 'N', força ST_ATIVA = 'S' e ST_BLOQUEADA = 'N'.
- Delphi (TFA001): No evento
BeforePost da tabela PESSOA, ao incluir (st_incluindo), verifica se o CD_PESSOA não existe ainda e se ST_NOVAPESSOA = 'S'. Se sim, marca bloqueada e exibe mensagem ao usuário.
- Integração Sovis (
PROCESSA_PESSOASOVIS): Lê ST_NOVAPESSOA de PARMSISTEMA e usa o valor como ST_BLOQUEADA no UPDATE OR INSERT INTO PESSOA.
Nota: O trigger PESSOA_BI também formata NM_PESSOA e NM_FANTASIA conforme o parâmetro TP_TEXTO (PARMSISTEMA.TP_TEXTO, configurado em ADM010 — Parâmetros do Sistema).
Tabela Comparativa Resumida
| Opção | ST_BLOQUEADA | ST_ATIVA | Mensagem ao Usuário | Necessita Liberação |
|---|
| S (Sim) | S | N | Sim — "Novo Cadastro de Pessoa. Será Bloqueado para Análise." | Sim |
| N (Não) | N | S | Não | Não |
Procedures impactadas
| Rotina | Arquivo | Linha | Evidencia |
|---|
TdmTFA001.tabPESSOABeforePost | source/TFA001/UdmTFA001.pas | 1342 | Verifica ParmSistema.Values['ST_NOVAPESSOA'] = 'S' para bloquear pessoa nova |
| Procedure/Trigger | Arquivo | Linha | Evidencia |
|---|
PESSOA_BI | Scripts/PESSOA_BI.sql | 15, 22 | Lê ST_NOVAPESSOA de PARMSISTEMA e define ST_ATIVA/ST_BLOQUEADA |
PROCESSA_PESSOASOVIS | Scripts/PROCESSA_PESSOASOVIS.sql | 52, 63, 207 | Declara variável, lê de PARMSISTEMA e usa no UPDATE OR INSERT |