ST_OBRIGASOCIOPESSOA - Obrigatoriedade de sócios para pessoa jurídica
Tela de configuração: ADM010
Localização: Aba Bloqueio/Cadastro Pessoa → checkbox "Sócio(s) - Pessoa Jurídica"
Tabela: PARMSISTEMA.ST_OBRIGASOCIOPESSOA
Valor padrão: N
Tipo: CHAR(1) — 'S' | 'N'
Telas impactadas
| Tela | Descrição | Impacto observável |
|---|
| TFA001 | Cadastro de Pessoa (fornecedor/cliente) | Ao salvar pessoa jurídica (CNPJ > 14 dígitos), valida a existência de sócios quando habilitado. |
Campos envolvidos
| Campo | Tabela | Tipo | Obrigatório | Padrão | Editável |
|---|
ST_OBRIGASOCIOPESSOA | PARMSISTEMA | DOM_CHAR1 (CHAR(1)) | Sim | N | Sim (checkbox na ADM010) |
Opções disponíveis
| O que faz | Detalhe |
|---|
Marcado (S) | Obriga o cadastro de pelo menos um sócio ao salvar pessoa jurídica com CNPJ (NR_CNPJCPF com comprimento > 14). |
Desmarcado (N) | Permite salvar pessoa jurídica sem informar sócios. |
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Abra a aba Bloqueio/Cadastro Pessoa.
- Marque o checkbox Sócio(s) - Pessoa Jurídica.
- Salve os parâmetros.
- Acesse TFA001 — Cadastro de Pessoa.
- Crie um novo cadastro (ex: fornecedor ou cliente Pessoa Jurídica).
- Preencha os dados básicos e informe um CNPJ válido (ex:
12.345.678/0001-90).
- Não preencha a aba de sócios.
- Clique no botão Salvar.
Resultado esperado: A tela é forçado para a aba de sócios (pagSOCIOS) e uma mensagem de erro é exibida: "É Obrigatório Informar os Sócios." — o registro não é salvo até que ao menos um sócio seja cadastrado.
Importante: Validação ocorre no AfterPost da tabela PESSOA (TdmTFA001.tabPESSOAAfterPost). O sistema checa se NR_CNPJCPF tem comprimento > 14 (caracteriza CNPJ). Se for CNPJ, abre o dataset tabPESSOASOCIO e verifica se tabPESSOASOCIOCD_PESSOA está vazio. Se vazio, lança exceção.
N - Não obrigatório (padrão)
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, desmarque o checkbox Sócio(s) - Pessoa Jurídica.
- Salve os parâmetros.
- Acesse TFA001 — Cadastro de Pessoa.
- Crie um novo cadastro de pessoa jurídica com CNPJ.
- Não preencha a aba de sócios.
- Clique em Salvar.
Resultado esperado: O cadastro é salvo normalmente sem exigir sócios.
Regra de Validação
| Condição | Resultado |
|---|
ST_OBRIGASOCIOPESSOA = 'S' e Length(NR_CNPJCPF) > 14 e tabPESSOASOCIOCD_PESSOA vazio | Exceção: "É Obrigatório Informar os Sócios." — tela vai para a aba de sócios |
ST_OBRIGASOCIOPESSOA = 'N' | Nenhuma validação — sócios são opcionais |
Length(NR_CNPJCPF) <= 14 (CPF) | Validação ignorada — sócios não obrigatórios |
Tabela Comparativa Resumida
| Valor | Sócio obrigatório? | Aplicação |
|---|
S | Sim | Pessoa Jurídica ao salvar (CNPJ > 14 dígitos) |
N | Não | Nenhuma validação (padrão do sistema) |
Tabela Comparativa Resumida
| Valor | Sócio obrigatório? | Quando valida | Comportamento |
|---|
S | Sim | Pessoa Jurídica (CNPJ > 14 dígitos) ao salvar | Exceção se não sócios cadastrados |
N | Não | — | Sócios são opcionais |
Procedures impactadas
| Rotina | Arquivo | Linha | Evidência |
|---|
TdmTFA001.tabPESSOAAfterPost | source/TFA001/UdmTFA001.pas | 2702 | if (ParmSistema.Values['ST_OBRIGASOCIOPESSOA'] = 'S') then |
Candidatas por uso da tabela PARMSISTEMA
As scripts SQL abaixo usam a tabela PARMSISTEMA mas não citam o campo ST_OBRIGASOCIOPESSOA literalmente. Validação necessária antes de afirmar impacto funcional direto:
| Procedure/View | Arquivo | Linha |
|---|
ARRUMA_MASCARACONTA | Scripts/ | FROM PARMSISTEMA |
ATUALIZA_CONTACONTABIL | Scripts/ | FROM PARMSISTEMA |
CALCULA_TEMPOPERMANENCIA | Scripts/ | FROM PARMSISTEMA |
CONTABILIZA_CUPOMFISCAL | Scripts/ | FROM PARMSISTEMA |
ENDERECOPESSOA_BI0 | Scripts/ | FROM PARMSISTEMA |
GERA_CONTACLIFOR | Scripts/ | FROM PARMSISTEMA |
GERA_DARF | Scripts/ | FROM PARMSISTEMA |
GERA_PLANOFILIAL | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDBLOCOL | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDCONTABIL | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDCONTABIL_0000 | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDECF | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDECFBLOCOJ | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDECFBLOCOK155 | Scripts/ | FROM PARMSISTEMA |
GERA_SPEDECFBLOCOK355 | Scripts/ | FROM PARMSISTEMA |
GERA_EDECFBLOCOL210 | Scripts/ | FROM PARMSISTEMA |
| `G | | |