CD_VENDEDOR - Parâmetro de Vendedor
Tela de configuração: MFA007 — Parâmetros de Vendedor Tabela:
PARMVENDEDOR.CD_VENDEDOR(DOM_INTEGER NOT NULL) Valor padrão: preenchido via pesquisa<F9>Controle:edtCD_VENDEDOR(TDBEdit, editável)
Descrição
Define qual vendedor receberá a comissão ou terá regras especiais de preço/tabela para a combinação de filtros cadastrada na linha de PARMVENDEDOR. É o único campo obrigatório do cadastro — sem ele, o registro não pode ser salvo.
Telas impactadas
| Tela | Impacto |
|---|---|
| MFA007 — Parâmetros de Vendedor | Tela de cadastro deste campo |
| MFA001 — Parâmetros de Faturamento | Utiliza PARMVENDEDOR indiretamente para aplicar regras de preço/tabela por vendedor |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_VENDEDOR | PARMVENDEDOR | INTEGER NOT NULL | Código do vendedor (FK para VENDEDOR.CD_VENDEDOR) |
NM_VENDEDOR | PARMVENDEDOR (lookup) | VARCHAR | Nome do vendedor, preenchido automaticamente via validação |
NR_SEQUENCIA | PARMVENDEDOR | INTEGER NOT NULL | Chave primária da tabela |
CD_REGIAOCOMERCIAL | PARMVENDEDOR | INTEGER | Filtro opcional — Região Comercial |
CD_GRUPO | PARMVENDEDOR | INTEGER | Filtro opcional — Grupo de produto |
CD_MARCA | PARMVENDEDOR | INTEGER | Filtro opcional — Marca |
CD_PESSOA | PARMVENDEDOR | INTEGER | Filtro opcional — Pessoa/Cliente |
CD_ITEM | PARMVENDEDOR | INTEGER | Filtro opcional — Produto |
Regras de preenchimento
| O que faz | Detalhe |
|---|---|
| Obrigatório | O campo não pode ficar vazio ao salvar (BeforePost exige valor) |
| Validação | O código informado deve existir na tabela VENDEDOR (join com PESSOA); caso contrário, exibe erro "O Vendedor não está Cadastrado [TFA007]!" |
Pesquisa <F9> | Abre janela de pesquisa listando pessoas ativas (ST_ATIVA = 'S') que são vendedoras |
| Nome automático | Ao informar um código válido, o campo NM_VENDEDOR é preenchido automaticamente com o nome da pessoa |
Opções disponíveis
Este parâmetro é um campo de código inteiro (não possui opções fixas como A/B/N). O comportamento varia conforme o valor informado (código do vendedor).
Preenchimento manual (digitação direta)
Simulação passo a passo
- Acesse MFA007 — Parâmetros de Vendedor.
- Pressione
<F5>ou clique em Novo. - Digite o código do vendedor diretamente no campo Vendedor (ex.:
42). - Pressione
<Tab>para sair do campo. - O nome do vendedor será exibido automaticamente ao lado.
Resultado esperado: O campo é validado; se o código existir em VENDEDOR, o nome é carregado. Se não existir, uma mensagem de erro é exibida impedindo a gravação.
Exceção / Importante: Se o campo ficar vazio ao tentar salvar, o sistema exibe "É Obrigatório informar o Vendedor!" e bloqueia a gravação.
Preenchimento via pesquisa (<F9>)
Simulação passo a passo
- Acesse MFA007 — Parâmetros de Vendedor.
- Pressione
<F5>ou clique em Novo. - Posicione o cursor no campo Vendedor e pressione
<F9>. - Na janela "Selecione o Vendedor", localize o vendedor desejado (ex.: "João Silva — Código 42").
- Dê um duplo clique ou selecione e confirme.
- O código
42é preenchido no campo e o nome "João Silva" aparece ao lado.
Resultado esperado: O campo Vendedor é preenchido com o código selecionado e o nome é exibido automaticamente no campo adjacente (somente leitura).
Exceção / Importante: A pesquisa lista apenas pessoas com
ST_ATIVA = 'S'que possuam registro na tabelaVENDEDOR. Vendedores inativos não aparecem na lista, mas ainda podem ser digitados manualmente.
Regras complementares do registro
Ao salvar, o sistema exige que pelo menos um dos filtros complementares esteja preenchido:
CD_REGIAOCOMERCIAL(Região Comercial)CD_GRUPO(Grupo)CD_PESSOA(Pessoa/Cliente)CD_ITEM(Produto)
Se nenhum desses filtros for informado, o sistema exibe: "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!".
Procedures impactadas
Rotinas Delphi
| Rotina | Arquivo | Descrição |
|---|---|---|
edtCD_VENDEDORKeyDown | source/MFA007/UMFA007.pas | Abre pesquisa <F9> de vendedores |
tabPARMVENDEDORCD_VENDEDORValidate | source/MFA007/UdmMFA007.pas | Valida código do vendedor e preenche nome |
tabPARMVENDEDORBeforePost | source/MFA007/UdmMFA007.pas | Exige CD_VENDEDOR preenchido antes de salvar |
Scripts SQL com referência direta ao campo CD_VENDEDOR
| Procedure/View | Arquivo | Contexto |
|---|---|---|
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql | Recebe V_CD_VENDEDOR para cálculo de comissão |
CALCULA_COMISSAO_V2 | Scripts/CALCULA_COMISSAO_V2.sql | Recebe V_CD_VENDEDOR para cálculo de comissão |
GERA_COMISSAOTABPRECO | Scripts/GERA_COMISSAOTABPRECO.sql | Utiliza vendedor da nota fiscal para comissão |
GERA_CREDITOVENDEDOR | Scripts/GERA_CREDITOVENDEDOR.sql | Recebe I_CD_VENDEDOR como parâmetro de entrada |
GRAVA_COMISSAOCONTAS | Scripts/GRAVA_COMISSAOCONTAS.sql | Utiliza V_CD_VENDEDOR para gravar comissão em contas |
GRAVA_CONTAS | Scripts/GRAVA_CONTAS.sql | Recebe V_CD_VENDEDOR como parâmetro |
GERA_DUPLICATAS | Scripts/GERA_DUPLICATAS.sql | Recebe I_CD_VENDEDOR para gerar duplicatas |
GERA_NOTAFISCAL | Scripts/GERA_NOTAFISCAL.sql | Recebe I_CD_VENDEDOR para gerar nota fiscal |
GERA_ESTOQUE_NOTAFISCAL | Scripts/GERA_ESTOQUE_NOTAFISCAL.sql | Recebe I_CD_VENDEDOR para movimentar estoque |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql | Declara V_CD_VENDEDOR na confirmação de OS |
ENDERECOPESSOA_BI0 | Scripts/ENDERECOPESSOA_BI0.sql | Trigger que verifica NEW.CD_VENDEDOR |