ST_BLOQUEIOPESSOA - Bloqueia Alteração no Cadastro de Pessoa em Outras Empresas
Tela de configuração: ADM010 — Parâmetros do Sistema Localização: aba Configurações Tabela:
PARMSISTEMA.ST_BLOQUEIOPESSOA(CHAR(1)) Valor padrão:N(Não)
Descrição
Controla se o usuário pode alterar dados de uma Pessoa (cliente/fornecedor) cujo cadastro original pertence a outra empresa do grupo. Quando ativado, impede que usuários de empresas diferentes daquela que cadastrou a pessoa modifiquem seus dados.
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| TFA001 | Cadastro de Pessoa | Bloqueia edição e impede gravação de alterações |
| TFA083 | Cadastro Rápido de Pessoa | Bloqueia edição do campo empresa de cadastro |
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_EMPRCADASTRO | PESSOA | Código da empresa que realizou o cadastro original da pessoa |
Opções disponíveis
S - Sim (Bloqueia alteração)
| O que faz | Detalhe |
|---|---|
| Bloqueia edição | Torna o campo Empresa de Cadastro (CD_EMPRCADASTRO) somente leitura quando a empresa logada difere da empresa que cadastrou a pessoa |
| Impede gravação | No TFA001, ao tentar salvar, exibe erro e aborta a operação |
Simulação passo a passo
- Acesse ADM010 → Parâmetros do Sistema → aba Configurações.
- Defina
ST_BLOQUEIOPESSOAcomo Sim. - Salve o parâmetro.
- Acesse TFA001 - Cadastro de Pessoa com um usuário logado na Empresa B (código 2).
- Localize uma pessoa que foi cadastrada pela Empresa A (código 1).
- Observe que o campo Empresa de Cadastro fica bloqueado para edição (somente leitura).
- Tente alterar qualquer outro dado da pessoa e clique em Salvar (
<F9>). - O sistema exibe a mensagem: "Não é Permitido Alterar os Dados desta Pessoa, pois ela Pertence a outra Empresa. Verifique!" e a alteração é rejeitada.
Resultado esperado: Pessoas cadastradas por outra empresa não podem ser alteradas por usuários de empresas diferentes. O campo empresa de cadastro fica bloqueado e a gravação é impedida.
Exceção / Importante: No TFA083 - Cadastro Rápido de Pessoa, o bloqueio é aplicado apenas ao campo Empresa de Cadastro (ReadOnly). A exceção de gravação com mensagem de erro ocorre somente no TFA001 - Cadastro de Pessoa.
N - Não (Permite alteração)
| O que faz | Detalhe |
|---|---|
| Permite edição | O campo Empresa de Cadastro (CD_EMPRCADASTRO) permanece editável independentemente da empresa logada |
| Permite gravação | Usuários de qualquer empresa podem alterar dados de pessoas cadastradas por outras empresas |
Simulação passo a passo
- Acesse ADM010 → Parâmetros do Sistema → aba Configurações.
- Defina
ST_BLOQUEIOPESSOAcomo Não. - Salve o parâmetro.
- Acesse TFA001 - Cadastro de Pessoa com um usuário logado na Empresa B (código 2).
- Localize uma pessoa cadastrada pela Empresa A (código 1).
- Altere dados normalmente e clique em Salvar (
<F9>). - A alteração é gravada com sucesso.
Resultado esperado: Qualquer usuário pode visualizar e alterar dados de pessoas cadastradas por qualquer empresa do grupo, sem restrição.
Regra Geral
A verificação compara o campo CD_EMPRCADASTRO da tabela PESSOA com a empresa logada (Sessao.empresa.cd_empresa). Se o parâmetro for S e os valores forem diferentes, a edição é bloqueada. O bloqueio é aplicado tanto na navegação (AfterScroll) quanto na gravação (BeforePost no TFA001).
Tabela Comparativa Resumida
| Valor | Nome | Edição | Gravação | Mensagem de Erro |
|---|---|---|---|---|
| S | Sim | Bloqueada (ReadOnly) | Impedida (TFA001) / Permitida (TFA083) | Sim (TFA001) |
| N | Não | Liberada | Permitida | Não |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Descrição |
|---|---|---|
iniciar | source/TFA001/UTFA001.pas | Lê ST_BLOQUEIOPESSOA do PARMSISTEMA e armazena em iAlteraPessoa |
iniciar | source/TFA083/UTFA083.pas | Lê ST_BLOQUEIOPESSOA do PARMSISTEMA e armazena em iAlteraPessoa |
Referências de uso da variável no Data Module
| Método/Evento | Arquivo | Descrição |
|---|---|---|
tabPESSOAAfterScroll | source/TFA001/UdmTFA001.pas | Torna CD_EMPRCADASTRO ReadOnly quando empresa logada difere |
tabPESSOABeforePost | source/TFA001/UdmTFA001.pas | Levanta exceção ao tentar salvar alteração de pessoa de outra empresa |
tabPESSOAAfterScroll | source/TFA083/UdmTFA083.pas | Torna CD_EMPRCADASTRO ReadOnly quando empresa logada difere |
Scripts SQL
Nenhuma procedure/view SQL faz referência direta ao campo ST_BLOQUEIOPESSOA. As procedures que utilizam a tabela PARMSISTEMA acessam outros campos e não são impactadas funcionalmente por este parâmetro.