Pular para o conteúdo principal

CD_TIPOPESSOA — Parâmetro de Tipo de Pessoa (Comportamento)

Tela de configuração: FNC001 — Parâmetros Financeiros Localização: Aba "Financeiro 1" — GroupBox "Dados do Parâmetro" Tabela: PARMFINANC.CD_TIPOPESSOA Tabela de referência: TIPOPESSOA(CD_TIPOPESSOA) Componente: edtCD_TIPOPESSOA (TDBEdit) Tipo de controle: edit (campo livre com busca por <F9>) Tipo de dados: INTEGER Valor padrão: nenhum (campo opcional)

Telas impactadas​

TelaNomeComo é impactada
FNC001Parâmetros FinanceirosTela de configuração do parâmetro
CFC004Consulta FinanceiraLê CD_TIPOPESSOA da PARMFINANC para validar restrição de acesso por tipo de pessoa
CFC001Consulta FinanceiraUsa RETORNA_TIPOPESSOA_RESTRITA (que lê PARMFINANC.CD_TIPOPESSOA) para filtrar clientes por tipo
CFC008Consulta FinanceiraUsa RETORNA_TIPOPESSOA_RESTRITA para filtrar clientes por tipo
CFC011Consulta FinanceiraUsa RETORNA_TIPOPESSOA_RESTRITA para filtrar clientes por tipo
TFA001Cadastro de PessoasVincula o CD_TIPOPESSOA ao cadastro de uma pessoa
TFA005Cadastro de Tipos de PessoaTela onde os tipos de pessoa são criados/editados

Campos envolvidos​

ColunaTipoFK
CD_TIPOPESSOADOM_INTEGERTIPOPESSOA(CD_TIPOPESSOA)
DS_TIPOPESSOACalculado em runtimePreenchido pelo validate ao encontrar o registro em TIPOPESSOA

Opções disponíveis​

Este parâmetro não possui opções predefinidas (A/B/N/etc.). Trata-se de um campo livre que armazena o código de um registro existente na tabela TIPOPESSOA.

O que fazDetalhe
Armazena CD_TIPOPESSOACódigo do tipo de pessoa que servirá como referência para a empresa nos parâmetros financeiros
Busca por F9Invoca a rotina de busca padrão da tabela TIPOPESSOA
Validação automáticaAo salvar, se o código informado for inválido/inesistente, gera erro W-0000

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba "Financeiro 1", localize o GroupBox "Dados do Parâmetro".
  3. Posicione o cursor no campo "CD_TIPOPESSOA" (label genérico; o conteúdo exibe o código numérico).
  4. Pressione <F9> para abrir a busca de tipos de pessoa ou digite o código diretamente (ex: 1).
  5. Selecione um tipo de pessoa existente (ex: 1 — "Cliente").
  6. Salve o registro (<Ctrl+S>).

Resultado esperado: O código do tipo de pessoa é persistido em PARMFINANC.CD_TIPOPESSOA para a empresa. O campo descritivo DS_TIPOPESSOA é preenchido automaticamente ao lado.

Excecao / Importante: Se o código informado não existir na tabela TIPOPESSOA, o sistema exibe a mensagem de erro "Tipo de Pessoa não cadastrado! [TFA005]". Acesse a tela TFA005 — Cadastro de Tipos de Pessoa para criar o registro antes de referenciá-lo aqui.

Importante: O campo é opcional — pode permanecer em branco. Contudo, diversos processos de restrição de acesso e filtragem (descritos abaixo) dependem dele.

Efeito funcional — Restrição de acesso por tipo de pessoa​

Quando configurado, este parâmetro atua como gatilho de restrição em consultas financeiras, em conjunto com o parâmetro:

  • ST_RESTRICAOPESSOA — campo na tabela PARMUSUARIO, por usuário/empresa (configurado em ADM012 — Parâmetros do Usuário).

Quando ST_RESTRICAOPESSOA = 'S' para o usuário logado e o CD_TIPOPESSOA cadastrado em PARMFINANC coincide com o CD_TIPOPESSOA da pessoa consultada, o acesso ao histórico financeiro é negado.

Simulação passo a passo do cenário de restrição​

  1. Acesse FNC001 e configure CD_TIPOPESSOA = 2 (ex: "Fornecedor") para a empresa 1. Salve.
  2. Acesse ADM012 e habilite a restrição de pessoa (ST_RESTRICAOPESSOA = 'S') para o usuário JOAO na empresa 1.
  3. O usuário JOAO abre a tela CFC004 — Consulta Financeira.
  4. No campo de filtro, o usuário digita o código de uma pessoa do tipo 2 ("Fornecedor") e pressiona <Tab>.

Resultado esperado: O sistema exibe a mensagem "Usuário não Possui Acesso ao Histórico desta Pessoa" e limpa o campo de nome da pessoa, impedindo a consulta.

Importante: A leitura de CD_TIPOPESSOA da PARMFINANC é feita por empresa (WHERE CD_EMPRESA = ...). Cada empresa pode ter um tipo de pessoa diferente configurado como restrito.

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaUso
tabPARMFINANCCD_TIPOPESSOAValidatesource/FNC001/UdmFNC001.pas697Valida existência do tipo na tabela TIPOPESSOA e popula DS_TIPOPESSOA
edtCD_TIPOPESSOAKeyDownsource/FNC001/UFNC001.pas925Busca por <F9> na tabela TIPOPESSOA
tabFILTROCD_PESSOAValidatesource/CFC004/UdmCFC004.pas189Lê CD_TIPOPESSOA da PARMFINANC para validação de restrição de acesso
gridDEPSTIPOPESSOAKeyDownsource/FNC001/UFNC001.pas1464Busca por <F9> para a sub-tabela DEPSSMARTTIPOPESSOA
tabDEPSSMARTTIPOPESSOACD_TIPOPESSOAValidatesource/FNC001/UdmFNC001.pas1315Validação do campo na sub-tabela
tabDEPSSMARTTIPOPESSOABeforePostsource/FNC001/UdmFNC001.pas1295Verifica preenchimento obrigatório na sub-tabela

Referências SQL diretas ao campo​

Procedure/ViewArquivoUso
RETORNA_TIPOPESSOA_RESTRITAdocs/schema/metadata/procedures/Procedure que recebe CD_TIPOPESSOA e retorna bloqueio ou permissão de acesso por tipo de pessoa. Usada em CFC001, CFC008, CFC011
VIEW_CUSTOEQUIVALENTEScripts/VIEW_CUSTOEQUIVALENTE.sql41

Candidatas por uso da tabela PARMFINANC​

Estas procedures usam a tabela PARMFINANC, mas não citam CD_TIPOPESSOA literalmente. Não foi encontrada referência direta ao campo nessas rotinas:

  • CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CALCULA_JUROMORA_RFC019
  • CANCELA_CONTAS, CONTABILIZA_REPARCELAMENTO, CONTROLE_CAIXA
  • ESTORNA_MOVTOCAIXA, EXECUTA_PROCESSO, GERA_DUPLICATAS
  • GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL, GERA_MOVTOCONTABIL
  • GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOCAIXA
  • GRAVA_MOVTOCAIXAINDIVIDUAL, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART, PROCESSA_FATURA

Nota: Candidatas por tabela apenas — sem impacto direto do campo CD_TIPOPESSOA identificado nestas rotinas.

Comportamentos detectados​

  1. Validação de existência: Ao informar um valor, o sistema executa SELECT CD_TIPOPESSOA, DS_TIPOPESSOA FROM TIPOPESSOA WHERE CD_TIPOPESSOA = :valor. Se não encontrar, lança exceção "Tipo de Pessoa não cadastrado! [TFA005]".
  2. Busca por <F9>: O evento KeyDown intercepta vk_F9 e invoca Busca(transaction, 'TIPOPESSOA', nil), que abre a consulta padrão de tipos de pessoa.
  3. Restrição de acesso em CFC004: A rotina compara CD_TIPOPESSOA de PARMFINANC com o CD_TIPOPESSOA da pessoa filtrada. Se coincidir e o usuário tiver ST_RESTRICAOPESSOA = 'S', o acesso é bloqueado.
  4. Sub-tabela DEPSSMARTTIPOPESSOA: Existe uma tabela secundária com CD_TIPOPESSOA próprio, onde o campo é obrigatório (BeforePost verifica Trim = EmptyStr).

Tabela comparativa resumida​

AspectoDetalhe
FunçãoVincular um tipo de pessoa como referência para a empresa nos parâmetros financeiros
ObrigatoriedadeOpcional em PARMFINANC, obrigatório na sub-tabela DEPSSMARTTIPOPESSOA
ValidaçãoVerifica existência em TIPOPESSOA ao salvar
Busca<F9> abre consulta da tabela TIPOPESSOA
Impacto de restriçãoCombinado com ST_RESTRICAOPESSOA (tabela PARMUSUARIO, tela ADM012) bloqueia acesso ao histórico financeiro de pessoas do tipo configurado
EscopoPor empresa (CD_EMPRESA)
Mensagem de erro"Tipo de Pessoa não cadastrado! [TFA005]" / "Usuário não Possui Acesso ao Histórico desta Pessoa"