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
| Tela | Contexto |
|---|---|
| MFA007 | Cadastro de Parâmetros de Vendedor — filtro por Pessoa |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_PESSOA | PARMVENDEDOR | INTEGER | Código da Pessoa (cliente) que delimita o parâmetro |
NM_PESSOA | PARMVENDEDOR (lookup) | STRING | Nome/Razão Social exibido ao lado do campo |
FK: PARMVENDEDOR.CD_PESSOA → PESSOA.CD_PESSOA
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| Campo editável — código de Pessoa | Filtra 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
- Acesse a tela MFA007 — Parâmetros de Vendedor.
- No campo Vendedor, informe o código do vendedor desejado (obrigatório).
- Posicione o cursor no campo Pessoa (
edtCD_PESSOA). - Pressione
<F9>para abrir a janela de pesquisa de Pessoas. - Na janela "Selecione a Pessoa Física / Jurídica", localize a pessoa desejada (apenas pessoas com
ST_ATIVA = 'S'são listadas). - 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.
- Opcionalmente, preencha também Região Comercial, Grupo e/ou Marca.
- 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
- Acesse a tela MFA007 — Parâmetros de Vendedor.
- Informe o Vendedor e ao menos um outro filtro (Região Comercial, Grupo ou Produto).
- Deixe o campo Pessoa em branco.
- 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
| Evento | Comportamento |
|---|---|
OnValidate do campo | Se 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 campo | Abre pesquisa em PESSOA filtrando ST_ATIVA = 'S', retornando `NM_PESSOA |
BeforePost | Exige 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
| Rotina | Arquivo | Descrição |
|---|---|---|
TdmMFA007.tabPARMVENDEDORCD_PESSOAValidate | UdmMFA007.pas | Valida existência da Pessoa e preenche NM_PESSOA |
TfrmMFA007.edtCD_PESSOAKeyDown | UMFA007.pas | Lookup <F9> para seleção de Pessoa ativa |
TdmMFA007.tabPARMVENDEDORBeforePost | UdmMFA007.pas | Exige ao menos um filtro preenchido (inclui CD_PESSOA) |
ConsultaRegistro | UMFA007.pas | Usa 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ção | CD_PESSOA preenchido | CD_PESSOA vazio |
|---|---|---|
| Comportamento | Parâmetro do vendedor aplica-se exclusivamente à pessoa informada | Parâmetro do vendedor aplica-se sem restrição de pessoa (respeitando os demais filtros) |
| Obrigatório | Não (mas ao menos um filtro é obrigatório) | — |
| Validação | Deve existir em PESSOA | Sem validação |