Pular para o conteúdo principal

ST_SOCIOPESSOA - Bloqueio de Pessoas por Sócio Compartilhado

Tela de configuração: ADM010 - Parâmetros do Sistema Localização: Aba Bloqueio/Cadastro Pessoa Tabela: PARMSISTEMA.ST_SOCIOPESSOA Valor padrão: N (Não)

Telas impactadas​

TelaDescrição
TFA001Cadastro de Pessoas — bloqueio automático ao incluir sócio já vinculado a outra pessoa

Campos envolvidos​

CampoTabelaDescrição
ST_SOCIOPESSOAPARMSISTEMAAtiva/desativa o bloqueio automático por sócio compartilhado
ST_BLOQUEADAPESSOAStatus de bloqueio da pessoa (S/N)
DS_MOTIVOBLOQUEIOPESSOATexto com o motivo do bloqueio
CD_PESSOASOCIOPESSOASOCIOCódigo do sócio no cadastro de pessoas

Opções disponíveis​

S - Sim (Bloqueio ativo)​

O que fazDetalhe
Bloqueia automaticamente o cadastro de pessoaQuando um sócio informado já está vinculado a outra pessoa
Grava motivo do bloqueioConcatena no campo DS_MOTIVOBLOQUEIO o código do sócio e as pessoas associadas
Exibe mensagem de alertaMostra ao usuário todos os motivos de bloqueio acumulados

Simulação passo a passo​

  1. Acesse TFA001 - Cadastro de Pessoas e abra o cadastro de uma pessoa (ex.: Pessoa A, código 100).
  2. Inclua um sócio (ex.: Sócio João, código 50) na aba de Sócios.
  3. Confirme o registro do sócio (post).
  4. O sistema verifica se o Sócio João (código 50) já está vinculado a outras pessoas no sistema.
  5. Se o sócio já existir em outro cadastro (ex.: Pessoa B, código 200), a Pessoa A será bloqueada automaticamente:
    • Campo ST_BLOQUEADA da Pessoa A recebe 'S'.
    • Campo DS_MOTIVOBLOQUEIO recebe o texto: "Os seguintes Sócios já estão associados a outras Pessoas: Sócio: 50; Pessoa(s): 200".
    • É exibida mensagem de alerta com todos os motivos de bloqueio.

Resultado esperado: O cadastro da pessoa fica bloqueado (ST_BLOQUEADA = 'S') e o motivo é registrado automaticamente sempre que um sócio adicionado já estiver associado a outras pessoas.

Exceção / Importante: O bloqueio ocorre apenas no momento do AfterPost do registro de sócio. Se o parâmetro for alterado de 'S' para 'N', cadastros já bloqueados não são desbloqueados automaticamente — é necessário desbloqueio manual.

N - Não (Bloqueio inativo)​

O que fazDetalhe
Não realiza verificação de sócio compartilhadoO sistema permite que o mesmo sócio seja vinculado a várias pessoas sem bloqueio

Simulação passo a passo​

  1. Acesse TFA001 - Cadastro de Pessoas e abra o cadastro de uma pessoa.
  2. Inclua um sócio que já esteja vinculado a outras pessoas.
  3. Confirme o registro do sócio.
  4. O sistema não realiza nenhuma verificação de compartilhamento de sócio.
  5. O cadastro permanece desbloqueado.

Resultado esperado: O cadastro da pessoa não é bloqueado, independentemente de o sócio já estar vinculado a outras pessoas.

Regra Geral de Funcionamento​

O parâmetro atua no evento tabPESSOASOCIOAfterPost da tela TFA001. Quando ativo ('S'), após a confirmação de um sócio no cadastro, o sistema:

  1. Consulta a tabela PESSOASOCIO buscando outras pessoas que possuam o mesmo CD_PESSOASOCIO.
  2. Se encontrar ao menos uma outra pessoa vinculada, marca ST_BLOQUEADA = 'S' na pessoa atual.
  3. Concatena o motivo (código do sócio + lista de pessoas) no campo DS_MOTIVOBLOQUEIO.
  4. Exibe mensagem de alerta ao usuário com todos os motivos acumulados.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaDescrição
TdmTFA001.tabPESSOASOCIOAfterPostsource/TFA001/UdmTFA001.pas4001Verifica ST_SOCIOPESSOA = 'S' para bloquear pessoa quando sócio já está em outro cadastro

Referências SQL diretas ao campo​

Não foi encontrada referência direta ao campo ST_SOCIOPESSOA em scripts SQL (Scripts/). O parâmetro é consumido exclusivamente pela camada Delphi.

Tabela Comparativa Resumida​

OpçãoValorComportamento
SimSBloqueia automaticamente cadastros cujos sócios já estejam vinculados a outras pessoas
NãoNSem bloqueio — sócios podem ser compartilhados livremente entre pessoas