ST_OBRIGADADOS - Dados Gerais Obrigatórios no Cadastro de Pessoa
Tela de configuração: ADM010 — Parâmetros do Sistema Localização: Aba "Bloqueio/Cadastro Pessoa" → Campo "Dados Generales" Tabela:
PARMSISTEMA.ST_OBRIGADADOSComponente:cmbST_OBRIGADADOS(TwwDBComboBox) Valor padrão:N(Não obriga dados) Tipo:CHAR(1)
Telas impactadas
| Tela | Nome | Impacto |
|---|---|---|
| TFA001 | Cadastro de Pessoa | Obrigatoriedade de campos e destaque visual (labels em negrito) |
| TFA083 | Consulta de Pessoa | Obrigatoriedade visual do CNPJ/CPF quando ST_OBRIGADADOS = 'B' |
Campos envolvidos
| Campo | Tabela | Obrigação por opção |
|---|---|---|
NR_CNPJCPF | PESSOA | B, C, F (visual: C, F, B) |
NR_INSCEST | PESSOA | S, I, P, C, F (visual) |
NR_RG | PESSOA | S (visual) |
NR_TELEFONE | ENDERECOPESSOA | P, F (visual) |
NR_CEP | ENDERECOPESSOA | B, C, F (B = required + visual) |
NR_ENDERECO (número) | ENDERECOPESSOA | B (required + visual) |
DS_BAIRRO | ENDERECOPESSOA | B (required + visual) |
| Documentos (anexos) | DOCUMENTOS | D (obriga ≥ 1 doc ao incluir pessoa tipo C ou A) |
Opcoes disponiveis
S - CPF/CNPJ, Inscrição Estadual e RG
| O que faz | Detalhe |
|---|---|
| Aplica destaque visual | Labels de Inscrição Estadual e RG ficam em negrito na tela TFA001 |
| Editavel/bloqueado | Campos permanecem editaveis — não há validação de obrigatoriedade no BeforePost |
| Exige | Nenhum campo é tecnicamente requerido; apenas indicação visual ao usuario |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, localize o campo Dados Gerais.
- Selecione a opção S - CPF/CNPJ, Inscrição Estadual e RG.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa (ou recarregue se ja estiver aberta).
- Observe que os labels Inscrição Estadual e RG aparecem em negrito.
Resultado esperado: Os campos de Inscrição Estadual e RG ficam destacados visualmente em negrito, sinalizando ao usuario que devem ser preenchidos, mas o sistema não impede o salvamento se estiverem vazios.
I - CPF/CNPJ e Inscrição Estadual
| O que faz | Detalhe |
|---|---|
| Aplica destaque visual | Label de Inscrição Estadual fica em negrito na tela TFA001 |
| Editavel/bloqueado | Campo permanece editavel — não há validação de obrigatoriedade |
| Exige | Nenhum campo é tecnicamente requerido |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione I - CPF/CNPJ e Inscrição Estadual no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa.
- Observe que o label Inscrição Estadual aparece em negrito.
Resultado esperado: Apenas o label de Inscrição Estadual fica em negrito como indicador visual. O salvamento nao e bloqueado se o campo estiver vazio.
P - CPF/CNPJ, Inscrição Estadual, Fone e Perfil
| O que faz | Detalhe |
|---|---|
| Aplica destaque visual | Labels de Inscrição Estadual e Telefone ficam em negrito na tela TFA001 |
| Editavel/bloqueado | Campos permanecem editaveis — não há validação de obrigatoriedade |
| Exige | Nenhum campo é tecnicamente requerido |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione P - CPF/CNPJ, Inscrição Estadual, Fone e Perfil no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa.
- Observe que os labels Inscrição Estadual e Telefone aparecem em negrito.
Resultado esperado: Inscrição Estadual e Telefone ficam destacados visualmente. O sistema nao bloqueia o salvamento se estiverem vazios.
C - CPF/CNPJ, CEP e Inscrição Estadual
| O que faz | Detalhe |
|---|---|
| Aplica destaque visual | Labels de CNPJ/CPF, CEP e Inscrição Estadual ficam em negrito na tela TFA001 |
| Editavel/bloqueado | Campos permanecem editaveis — não há validação Required no BeforePost |
| Exige | Nenhum campo é tecnicamente requerido; apenas indicação visual |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione C - CPF/CNPJ, CEP e Inscrição Estadual no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa.
- Observe que os labels CNPJ/CPF, CEP e Inscrição Estadual aparecem em negrito.
Resultado esperado: Os tres campos ficam destacados visualmente. O usuario e sinalizado a preenche-los, mas o salvamento nao e bloqueado por validação tecnica.
F - CPF/CNPJ, CEP, Inscrição Estadual, Fone e Perfil
| O que faz | Detalhe |
|---|---|
| Aplica destaque visual | Labels de CNPJ/CPF, CEP, Inscrição Estadual e Telefone ficam em negrito na tela TFA001 |
| Editavel/bloqueado | Campos permanecem editaveis — não há validação Required no BeforePost |
| Exige | Nenhum campo é tecnicamente requerido |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione F - CPF/CNPJ, CEP, Inscrição Estadual, Fone e Perfil no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa.
- Observe que os labels CNPJ/CPF, CEP, Inscrição Estadual e Telefone aparecem em negrito.
Resultado esperado: Quatro campos ficam destacados visualmente. A obrigatoriedade e apenas indicativa — o sistema nao rejeita o salvamento se estiverem vazios.
D - Documento (Anexo) - Cliente
| O que faz | Detalhe |
|---|---|
| Valida documentos anexados | Obriga que o cadastro de pessoa (tipo Cliente ou Ambos) tenha pelo menos 1 documento na aba de Docs |
| Editavel/bloqueado | Aplica-se apenas no momento de incluir uma nova pessoa (st_incluindo = true) |
| Restricao | Afeta pessoas tipo C (Cliente) ou A (Ambos); nao afeta tipo F (Fornecedor) |
| Exigencia | SELECT na tabela DOCUMENTOS — se Eof, lança exceção E-0000 |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione D - Documento (Anexo) - Cliente no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa e clique em Incluir.
- Preencha os dados basicos da pessoa (tipo = Cliente).
- Tente Salvar sem adicionar nenhum documento na aba Docs.
- O sistema exibe a mensagem: "É obrigatório adicionar ao menos um documento ao cadastro. Verifique!" e direciona para a aba de documentos.
- Adicione pelo menos 1 documento na aba Docs.
- Clique em Salvar novamente.
Resultado esperado: O salvamento e bloqueado se o cliente nao tiver nenhum documento anexado. Após adicionar ao menos 1 documento, o cadastro e salvo normalmente.
Excecao / Importante: Essa regra so se aplica na inclusao de pessoa (
st_incluindo = true) e apenas para tipos C (Cliente) ou A (Ambos). Fornecedores (tipo F) nao sao afetados por essa validação.
B - CPF/CNPJ, CEP, Número e Bairro
| O que faz | Detalhe |
|---|---|
| Validação obrigatoria real | Define campos como Required = True e valida no BeforePost da tabela PESSOA |
| Campos obrigatorios | NR_CNPJCPF (PESSOA), NR_CEP (ENDERECOPESSOA), NR_ENDERECO (número), DS_BAIRRO |
| Destaque visual | Labels dos 4 campos ficam em negrito na tela TFA001 |
Exceção NR_ENDERECO e NR_CEP | O campo NR_CNPJCPF e validado no dataset tabPESSOA; NR_ENDERECO, NR_CEP e DS_BAIRRO sao validados no tabENDERECOPESSOA |
| Impacto amplo | Afeta TFA001 (validação no btnSalvarClick, validaObrigatoriedadeADM010, tabPESSOABeforePost, validacoesADM010) e TFA083 (iniciar) |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione B - CPF/CNPJ, CEP, Número e Bairro no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa e clique em Incluir.
- Observe que os labels CNPJ/CPF, CEP, Número do Endereço e Bairro aparecem em negrito.
- Tente Salvar sem preencher o CNPJ/CPF.
- O sistema exibe: "É Obrigatório Informar o CPF/CNPJ.[TFA001/ADM010]" e posiciona o cursor no campo.
- Preencha o CNPJ/CPF e tente salvar sem informar o Número do Endereço.
- O sistema exibe: "É Obrigatório Informar o Número do Endereço! Verifique![TFA001/ADM010]".
- Preencha o número e tente salvar sem informar o CEP.
- O sistema exibe: "É Obrigatório Informar o CEP! Verifique![TFA001/ADM010]".
- Preencha o CEP e tente salvar sem informar o Bairro.
- O sistema exibe: "É Obrigatório Informar o Bairro! Verifique![TFA001/ADM010]".
- Preencha todos os 4 campos e clique em Salvar.
Resultado esperado: O salvamento e bloqueado até que CNPJ/CPF, CEP, Número do Endereço e Bairro estejam preenchidos. Os 4 campos sao marcados como Required e seus labels ficam em negrito.
Excecao / Importante: Na tela TFA083 — Consulta de Pessoa, a opção
Btambem torna o label do CNPJ/CPF negrito e o campoRequired. Porem, a validação do endereço (CEP, Número, Bairro) e especifica da TFA001.
N - Não (Nenhum dado obrigatorio)
| O que faz | Detalhe |
|---|---|
| Sem obrigatoriedade | Nenhum campo recebe destaque visual nem validação Required por causa deste parametro |
| Valor padrão | N e o valor default da coluna PARMSISTEMA.ST_OBRIGADADOS |
| Outros parametros podem obrigar | Parametros como ST_NOMEFANTASIA, ST_EMAILPESSOA, ST_TELEFONEENDERECO, etc. (configurados em ADM010) ainda podem tornar campos obrigatorios independentemente de ST_OBRIGADADOS |
Simulacao passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, selecione N - Não no campo Dados Gerais.
- Salve o parametro.
- Abra TFA001 — Cadastro de Pessoa.
- Crie um novo registro preenchendo apenas os dados minimos do sistema.
- Clique em Salvar.
Resultado esperado: O cadastro e salvo sem exigencia de CPF/CNPJ, Inscrição Estadual, RG, CEP, Endereço, Bairro, Telefone ou documentos — desde que nenhum outro parametro de obrigatoriedade esteja ativo.
Exceção / Importante: Mesmo com
ST_OBRIGADADOS = 'N', outros parametros da ADM010 podem impor obrigatoriedade individualmente. Exemplos:
ST_NOMEFANTASIA = 'S'→ obriga Nome FantasiaST_EMAILPESSOA = 'S'→ obriga E-mailST_DTNASCPESSOA = 'S'→ obriga Data de NascimentoST_TELEFONEENDERECO = 'S'→ obriga Telefone e Celular no endereçoST_VENDEDORENDERECO = 'S'→ obriga Vendedor no endereçoST_FORMAPAGTOENDERECO = 'S'→ obriga Forma de Pagamento no endereçoST_REGIAOCOMERCIALENDERECO = 'S'→ obliga Região Comercial no endereçoTodos configurados na mesma tela ADM010 — Parâmetros do Sistema em abas relacionadas.
Combinações e interacoes com outros parametros
Parametros que interagem com ST_OBRIGADADOS e sao configurados na mesma tela ADM010:
| Parametro | Tela/Local | Interacao |
|---|---|---|
ST_NOMEFANTASIA | ADM010 | Quando S, obriga NM_FANTASIA independente de ST_OBRIGADADOS |
ST_DTNASCPESSOA | ADM010 | Quando S, destaca label DT_NASCIMENTO |
ST_EMAILPESSOA | ADM010 | Quando S, obriga DS_EMAIL e aplica Required + negrito |
ST_VENDEDORENDERECO | ADM010 | Quando S, obriga CD_VENDEDOR no endereco |
ST_REGIAOCOMERCIALENDERECO | ADM010 | Quando S, obliga região comercial no endereco |
ST_FORMAPAGTOENDERECO | ADM010 | Quando S, obriga forma de pagto no endereco |
ST_TELEFONEENDERECO | ADM010 | Quando S, obriga fone/celular no endereco |
ST_OBRIGAREGCOMCONDPAGTO | ADM010 | Quando S, destaca label da condição de pagamento |
ST_CADASTROPESSOA | ADM010 | Controla se novos cadastros sao permitidos e com quais restricoes |
Tabela Comparativa Resumida
| Opcao | CNPJ/CPF | Insc. Est. | RG | CEP | Numero | Bairro | Telefone | Documentos | Tipo de imposicao |
|---|---|---|---|---|---|---|---|---|---|
| S | — | Negrito | Negrito | — | — | — | — | — | Visual |
| I | — | Negrito | — | — | — | — | — | — | Visual |
| P | — | Negrito | — | — | — | — | Negrito | — | Visual |
| C | Negrito | Negrito | — | Negrito | — | — | — | — | Visual |
| F | Negrito | Negrito | — | Negrito | — | — | Negrito | — | Visual |
| D | — | — | — | — | — | — | — | Required (só C/A) | Validação no save |
| B | Required | — | — | Required | Required | Required | — | — | Validação no save |
| N | — | — | — | — | — | — | — | — | Nenhum |
Procedures impactadas
Rotinas Delphi com referencia direta ao parametro
| Rotina | Arquivo | Linha | Impacto |
|---|---|---|---|
iniciar | source/TFA001/UTFA001.pas | 963 | Carrega ST_OBRIGADADOS e aplica negrito nos labels conforme opção (S, I, P, C, F) |
TfrmTFA001.btnSalvarClick | source/TFA001/UTFA001.pas | 1915 | Valida documentos quando ST_OBRIGADADOS = 'D' (obriga ≥ 1 doc ao incluir cliente) |
TfrmTFA001.validaObrigatoriedadeADM010 | source/TFA001/UTFA001.pas | 4947 | Aplica Required + negrito nos 4 campos quando ST_OBRIGADADOS = 'B' |
TdmTFA001.tabPESSOABeforePost | source/TFA001/UdmTFA001.pas | 1313 | Valida preenchimento do CNPJ/CPF quando ST_OBRIGADADOS = 'B' no BeforePost |
TdmTFA001.validacoesADM010 | source/TFA001/UdmTFA001.pas | 3805 | Valida Numero, CEP e Bairro do endereco quando ST_OBRIGADADOS = 'B' |
iniciar | source/TFA083/UTFA083.pas | 272 | Aplica Required + negrito no CNPJ/CPF quando ST_OBRIGADADOS = 'B' na tela TFA083 |
Nota: A rotina
tabPESSOANR_CNPJCPFValidate(source/TFA001/UdmTFA001.paslinha 1850) contem referencia comentada ao parametro (// 'SELECT ST_OBRIGADADOS FROM PARMSISTEMA'), sem impacto funcional ativo.
Candidatas por uso da tabela PARMSISTEMA
Nao foi encontrada referencia direta ao campo ST_OBRIGADADOS em scripts SQL na pasta Scripts/. As procedures abaixo citam a tabela PARMSISTEMA, mas referenciam outros campos (como TP_PLANOCONTABIL):
ARRUMA_MASCARACONTA, ATUALIZA_CONTACONTABIL, CALCULA_TEMPOPERMANENCIA, CONTABILIZA_CUPOMFISCAL, ENDERECOPESSOA_BI0, GERA_CONTACLIFOR, GERA_DARF, GERA_PLANOFILIAL, GERA_SPEDBLOCOL, GERA_SPEDCONTABIL, GERA_SPEDCONTABIL_0000, GERA_SPEDECF, GERA_SPEDECFBLOCOJ, GERA_SPEDECFBLOCOK155, GERA_SPEDECFBLOCOK355, GERA_SPEDECFBLOCOL210, GERA_SPEDECFBLOCOY, GRAVA_REGISTROSPED0500, IMPORTA_ARQUIVOMAGNETICO, INCLUI_IMPOSTONOTACTB.