Pular para o conteúdo principal

CD_PESSOA — Pessoa (Filtro de Parâmetros de Vendedor)

Tela de configuração: MFA007 — Parâmetros de Vendedor Tabela: PARMVENDEDOR.CD_PESSOA (DOM_INTEGER) Controle: edtCD_PESSOA (TDBEdit, editável, com lookup <F9>) Valor padrão: preenchido via lookup de Pessoa

Telas impactadas​

TelaContexto
MFA007Cadastro de Parâmetros de Vendedor — filtro por Pessoa

Campos envolvidos​

CampoTabelaTipoDescrição
CD_PESSOAPARMVENDEDORINTEGERCódigo da Pessoa (cliente) que delimita o parâmetro
NM_PESSOAPARMVENDEDOR (lookup)STRINGNome/Razão Social exibido ao lado do campo

FK: PARMVENDEDOR.CD_PESSOA → PESSOA.CD_PESSOA

Opções disponíveis​

O que fazDetalhe
Campo editável — código de PessoaFiltra os parâmetros do vendedor para uma Pessoa específica. O preenchimento é opcional, porém pelo menos um dos filtros (Região Comercial, Grupo, Pessoa ou Produto) deve ser informado.

Preenchimento do campo CD_PESSOA​

Simulação passo a passo​

  1. Acesse a tela MFA007 — Parâmetros de Vendedor.
  2. No campo Vendedor, informe o código do vendedor desejado (obrigatório).
  3. Posicione o cursor no campo Pessoa (edtCD_PESSOA).
  4. Pressione <F9> para abrir a janela de pesquisa de Pessoas.
  5. Na janela "Selecione a Pessoa Física / Jurídica", localize a pessoa desejada (apenas pessoas com ST_ATIVA = 'S' são listadas).
  6. Dê um duplo clique ou confirme a seleção — o campo Pessoa será preenchido com o código e o campo Nome será preenchido automaticamente.
  7. Opcionalmente, preencha também Região Comercial, Grupo e/ou Marca.
  8. Pressione <F6> ou clique em Salvar para gravar o parâmetro.

Resultado esperado: O registro em PARMVENDEDOR será gravado com o CD_VENDEDOR e o CD_PESSOA informados, delimitando as configurações daquele vendedor para aquela pessoa específica.

Exceção / Importante:

  • Se o código digitado não existir na tabela PESSOA, o sistema exibe o erro: "A Pessoa não está Cadastrada [TFA001]!".
  • Se nenhum dos filtros (Região Comercial, Grupo, Pessoa, Produto) for preenchido, ao salvar o sistema exibe: "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!".
  • O campo Pessoa só aceita pesquisa quando o campo Vendedor não está em modo somente leitura.

Deixar o campo vazio​

Simulação passo a passo​

  1. Acesse a tela MFA007 — Parâmetros de Vendedor.
  2. Informe o Vendedor e ao menos um outro filtro (Região Comercial, Grupo ou Produto).
  3. Deixe o campo Pessoa em branco.
  4. Pressione <F6> ou clique em Salvar.

Resultado esperado: O parâmetro do vendedor é salvo sem restrição de Pessoa (CD_PESSOA = NULL), aplicando-se genericamente aos demais filtros informados.

Regra de validação​

EventoComportamento
OnValidate do campoSe CD_PESSOA estiver preenchido, consulta SELECT NM_PESSOA FROM PESSOA WHERE CD_PESSOA = :valor. Se encontrar, preenche NM_PESSOA; senão, gera exceção.
<F9> no campoAbre pesquisa em PESSOA filtrando ST_ATIVA = 'S', retornando `NM_PESSOA
BeforePostExige que ao menos um dos campos CD_REGIAOCOMERCIAL, CD_GRUPO, CD_PESSOA ou CD_ITEM esteja preenchido.

Consulta de registro existente​

Ao sair do campo Vendedor (edtCD_VENDEDRExit), o sistema executa ConsultaRegistro, que monta uma query sobre PARMVENDEDOR combinando todos os filtros preenchidos — incluindo CD_PESSOA — para localizar um registro já existente. Se encontrar, carrega automaticamente os dados na tela.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo em MFA007​

RotinaArquivoDescrição
TdmMFA007.tabPARMVENDEDORCD_PESSOAValidateUdmMFA007.pasValida existência da Pessoa e preenche NM_PESSOA
TfrmMFA007.edtCD_PESSOAKeyDownUMFA007.pasLookup <F9> para seleção de Pessoa ativa
TdmMFA007.tabPARMVENDEDORBeforePostUdmMFA007.pasExige ao menos um filtro preenchido (inclui CD_PESSOA)
ConsultaRegistroUMFA007.pasUsa CD_PESSOA como critério de busca de registro existente

Referências SQL diretas ao campo em Scripts/​

Não foram encontradas referências diretas ao campo PARMVENDEDOR.CD_PESSOA em procedures SQL do diretório Scripts/. As referências a CD_PESSOA nas procedures listadas nos evidências referem-se à tabela genérica PESSOA.CD_PESSOA ou a outras tabelas, não ao campo de PARMVENDEDOR.

Tabela comparativa resumida​

SituaçãoCD_PESSOA preenchidoCD_PESSOA vazio
ComportamentoParâmetro do vendedor aplica-se exclusivamente à pessoa informadaParâmetro do vendedor aplica-se sem restrição de pessoa (respeitando os demais filtros)
ObrigatórioNão (mas ao menos um filtro é obrigatório)—
ValidaçãoDeve existir em PESSOASem validação