NR_DIASABLOQUEAR - Bloqueio de Pessoas por Período
Tela de configuração: ADM010 — Parâmetros do Sistema Localização: Aba Bloqueio/Cadastro Pessoa Tabela:
PARMSISTEMA.NR_DIASABLOQUEAR(DOM_INTEGER, anulável) Valor padrão:NULL(funcionalidade desabilitada)
Descrição
Define o número de dias após a Data de Liberação da pessoa para que o sistema execute o bloqueio automático. Funciona como um "segundo estágio" de bloqueio: enquanto NR_DIASBLOQUEIO controla inatividade por falta de compras, este parâmetro controla o prazo letivo a partir da data em que a pessoa foi liberada.
Quando o campo está vazio (NULL), esta verificação é ignorada completamente.
Telas impactadas
| Tela | Impacto |
|---|---|
| ADM010 — Parâmetros do Sistema | Onde o parâmetro é configurado |
| Pessoas (cadastro) | Pessoas podem ser automaticamente inativadas ou marcadas como SCPC |
Campos envolvidos
| Campo | Tabela | Papel |
|---|---|---|
NR_DIASABLOQUEAR | PARMSISTEMA | Nº de dias após liberação para bloqueio automático |
DT_LIBERACAO | PESSOA | Data base do cálculo (Data de Liberação da pessoa) |
TP_BLOQUEIO | PARMSISTEMA | Tipo de bloqueio a ser aplicado (I = Inativar, S = SCPC) |
ST_ATIVA | PESSOA | Status de atividade da pessoa |
ST_SCPC | PESSOA | Indicador de inclusão no SCPC |
NR_DIASBLOQUEIO | PARMSISTEMA | Dias sem compra para bloqueio (primeiro estágio) |
NR_DIASBLOQLIB | PARMSISTEMA | Dias de carência após liberação no primeiro estágio |
Opções disponíveis
Este parâmetro é numérico. O comportamento depende do valor informado e do parâmetro TP_BLOQUEIO (configurado em ADM010 — Parâmetros do Sistema, mesma aba).
NULL / Vazio — Funcionalidade desabilitada
| O que faz | Detalhe |
|---|---|
| Não executa bloqueio por período de liberação | Se o campo ficar vazio, toda a lógica de "bloqueio após N dias da data de liberação" é ignorada |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa.
- Deixe o campo Bloqueio de Pessoas por Período vazio.
- Salve os parâmetros.
- Execute a rotina de verificação de bloqueio — o sistema não aplicará nenhuma ação baseada em data de liberação.
Resultado esperado: Pessoas liberadas permanecem com status inalterado independentemente do tempo decorrido desde a liberação.
Valor informado (ex.: 30) com TP_BLOQUEIO = I — Inativar pessoa
| O que faz | Detalhe |
|---|---|
| Inativa pessoas após N dias da data de liberação | Pessoa com ST_ATIVA = 'S' passa para 'N' quando a data atual ultrapassa DT_LIBERACAO + NR_DIASABLOQUEAR |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa.
- No campo Bloqueio de Pessoas por Período, digite
30. - Confirme que o campo Tipo de Bloqueio está em
I(Inativar). - Salve os parâmetros.
- Ao executar a procedure
VERIFICA_BLOQUEIOPESSOA, o sistema localizará todas as pessoas ativas do tipo Cliente ou Ambos. - Para cada pessoa cuja
DT_LIBERACAO + 30 diasseja menor ou igual à data atual, o sistema inativará a pessoa (ST_ATIVA = 'N').
Resultado esperado: Após 30 dias contados da data de liberação, a pessoa é automaticamente inativada. Exemplo: pessoa liberada em 01/03/2025 será inativada a partir de 31/03/2025.
Exceção / Importante: A verificação só atinge pessoas com
TP_TIPOPESSOAdo tipo Cliente (C) ou Ambos (A). O consumidor final (configurado emPARMFATUR.CD_CONSUMIDOR) é ignorado.
Valor informado (ex.: 30) com TP_BLOQUEIO = S — Marcar como SCPC
| O que faz | Detalhe |
|---|---|
| Marca pessoa como SCPC após N dias da data de liberação | Pessoa com ST_SCPC = 'N' passa para 'S' quando a data atual ultrapassa DT_LIBERACAO + NR_DIASABLOQUEAR |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa.
- No campo Bloqueio de Pessoas por Período, digite
30. - Confirme que o campo Tipo de Bloqueio está em
S(SCPC). - Salve os parâmetros.
- Ao executar a procedure
VERIFICA_BLOQUEIOPESSOA, o sistema localizará todas as pessoas não marcadas como SCPC do tipo Cliente ou Ambos. - Para cada pessoa cuja
DT_LIBERACAO + 30 diasseja menor ou igual à data atual, o sistema marcaráST_SCPC = 'S'.
Resultado esperado: Após 30 dias da liberação, a pessoa é automaticamente incluída no SCPC, sem inativá-la. Ela continuará ativa, porém marcada como SCPC.
Exceção / Importante: A verificação só atinge pessoas com
TP_TIPOPESSOAdo tipo Cliente (C) ou Ambos (A). O consumidor final é ignorado.
Regra Geral de Funcionamento
O parâmetro atua em um bloco independente dentro da procedure VERIFICA_BLOQUEIOPESSOA, separado da lógica de NR_DIASBLOQUEIO (bloqueio por inatividade de compras). Os dois mecanismos podem coexistir:
| Mecanismo | Base de cálculo | Ação |
|---|---|---|
NR_DIASBLOQUEIO | Data da última compra vs. data atual | Inativa ou bloqueia pessoa sem movimento |
NR_DIASABLOQUEAR | Data de liberação + N dias vs. data atual | Inativa ou marca SCPC após prazo da liberação |
- Se
NR_DIASABLOQUEARforNULL, este mecanismo é completamente ignorado. - O tipo de ação (Inativar ou SCPC) segue
TP_BLOQUEIO(configurado em ADM010 — Parâmetros do Sistema, aba Bloqueio/Cadastro Pessoa).
Procedures impactadas
| Procedure | Tipo de impacto | Detalhe |
|---|---|---|
VERIFICA_BLOQUEIOPESSOA | Referência direta ao campo | Lê NR_DIASABLOQUEAR e usa em dateadd(:V_NR_DIASABLOQUEAR day to :V_DTLIBERACAO) para decidir bloqueio |
As demais procedures que referenciam a tabela PARMSISTEMA (listadas na análise de candidatos) acessam outros campos e não possuem referência direta a NR_DIASABLOQUEAR.