Pular para o conteúdo principal

CD_REGIAOCOMERCIAL — Região Comercial do Parâmetro de Vendedor

Tela de configuração: MFA007 — Parâmetros de Vendedor Tabela: PARMVENDEDOR.CD_REGIAOCOMERCIAL (INTEGER) Controle: edtCD_REGIAOCOMERCIAL (edit com lookup) Valor padrão: preenchido via lookup (Resultado[1])

Telas impactadas​

TelaRotinaImpacto
MFA007edtCD_REGIAOCOMERCIALKeyDown, ConsultaRegistroEntrada e validação do campo; busca duplicidade
MFA006edtCD_REGIAOCOMERCIALKeyDown, ConsultaRegistroCampo equivalente na tela de Parâmetros de Tabela de Preço
MNF002edtCD_CONDPAGTOExit, tabNOTACD_ENDERECOValidateHerda região do endereço da pessoa na nota fiscal
CPD012btnFiltraAtendimentosClick, gridREGIAOKeyDownFiltro por região comercial em consultas

Campos envolvidos​

CampoTabelaTipoDescrição
CD_REGIAOCOMERCIALPARMVENDEDORINTEGERRegião comercial associada ao parâmetro do vendedor
CD_VENDEDORPARMVENDEDORINTEGER (NOT NULL)Vendedor obrigatório do parâmetro
CD_PESSOAPARMVENDEDORINTEGERPessoa (cliente) do parâmetro
CD_GRUPOPARMVENDEDORINTEGERGrupo de produto do parâmetro
CD_ITEMPARMVENDEDORINTEGERProduto do parâmetro
CD_MARCAPARMVENDEDORINTEGERMarca do parâmetro
CD_REGIAOCOMERCIALREGIAOCOMERCIALINTEGER (PK)Tabela mestre de regiões comerciais

Opções disponíveis​

O campo aceita qualquer código válido da tabela REGIAOCOMERCIAL. Não há opções fixas — o valor é selecionado via lookup.

Preenchimento com Região Comercial​

O que fazDetalhe
EditávelSim, campo de digitação livre com lookup <F9>
Obrigatório individualmenteNão, mas ao menos um entre Região, Grupo, Pessoa ou Produto deve ser informado
ValidaçãoVerifica existência na tabela REGIAOCOMERCIAL
DuplicidadeConsultaRegistro verifica combinação idêntica antes de gravar

Simulação passo a passo​

  1. Acesse a tela MFA007 — Parâmetros de Vendedor.
  2. Clique em Novo — o foco vai para o campo Região Comercial.
  3. Pressione <F9> para abrir a janela de pesquisa de regiões comerciais.
  4. Selecione a região desejada (ex.: "Região Sul", código 3).
  5. Informe o Vendedor obrigatório (ex.: vendedor "Carlos", código 10).
  6. Opcionalmente preencha Pessoa, Grupo, Produto ou Marca para refinar o parâmetro.
  7. Clique em Salvar.

Resultado esperado: O registro em PARMVENDEDOR é gravado com CD_REGIAOCOMERCIAL = 3, CD_VENDEDOR = 10 e os demais campos informados. Esse parâmetro será utilizado na resolução de tabela de preço e cálculo de comissão.

Exceção / Importante: Se nenhum dos campos Região Comercial, Grupo, Pessoa ou Produto for preenchido, o sistema exibe a mensagem "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!" ao tentar salvar.

Campo vazio (NULL) — Parâmetro geral (sem região)​

O que fazDetalhe
PermitidoSim, desde que outro campo (Grupo, Pessoa, Produto) esteja preenchido
Comportamento na consulta de preçoCOALESCE(CD_REGIAOCOMERCIAL, -1) = -1 equivale a "qualquer região" (coringa)
Peso na prioridadeQuando NULL, adiciona 0 ao score de prioridade (menor especificidade)

Simulação passo a passo​

  1. Acesse a tela MFA007 — Parâmetros de Vendedor.
  2. Clique em Novo.
  3. Deixe o campo Região Comercial vazio.
  4. Informe o Vendedor obrigatório (ex.: código 10).
  5. Preencha ao menos um dos campos: Grupo, Pessoa ou Produto (ex.: Produto código 500).
  6. Clique em Salvar.

Resultado esperado: O registro é salvo com CD_REGIAOCOMERCIAL = NULL, significando que o parâmetro se aplica a qualquer região comercial. Na resolução de tabela de preço, esse registro terá menor prioridade que um registro com região específica.

Regra Geral de Prioridade​

Na procedure RETORNA_TABPRECO, a região comercial tem peso 1 no score de prioridade (somado com outros critérios como Item = 20, Pessoa = 10, Vendedor = 1, Grupo = 1, etc.). Registros com CD_REGIAOCOMERCIAL preenchido têm prioridade maior sobre registros sem região (NULL).

Regra de Duplicidade​

Antes de gravar, a rotina ConsultaRegistro verifica se já existe um registro em PARMVENDEDOR com a mesma combinação de CD_REGIAOCOMERCIAL, CD_GRUPO, CD_MARCA, CD_PESSOA e CD_ITEM. Se encontrar, o sistema posiciona no registro existente em vez de criar um novo.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoDescrição
TfrmMFA007.edtCD_REGIAOCOMERCIALKeyDownUMFA007.pasLookup <F9> na tabela REGIAOCOMERCIAL
ConsultaRegistroUMFA007.pasVerifica duplicidade usando CD_REGIAOCOMERCIAL
TfrmMFA007.btnNovoClickUMFA007.pasPosiciona foco no campo ao criar novo registro
TdmMFA007.tabPARMVENDEDORCD_REGIAOCOMERCIALValidateUdmMFA007.pasValida existência na tabela REGIAOCOMERCIAL
TdmMFA007.tabPARMVENDEDORBeforePostUdmMFA007.pasExige ao menos um campo (Região, Grupo, Pessoa, Produto)

Referências SQL diretas ao campo​

Procedure/ViewArquivoUso
RETORNA_TABPRECORETORNA_TABPRECO.sqlRecebe I_CD_REGIAOCOMERCIAL como parâmetro de entrada; usa no COALESCE para matching e peso 1 na ordenação de prioridade
GERA_COMISSAOTABPRECOGERA_COMISSAOTABPRECO.sqlFiltra CD_REGIAOCOMERCIAL IS NULL na busca de tabela de comissão por vendedor
INSERE_ITEMPEDIDO_SERVCANALETAINSERE_ITEMPEDIDO_SERVCANALETA.sqlUsa COALESCE(P.CD_REGIAOCOMERCIAL, -1) na composição de prioridade

Candidatas por uso da tabela (sem referência direta ao campo)​

ProcedureArquivoObservação
ATUALIZA_PESSOAATUALIZA_PESSOA.sqlFaz UPDATE PARMVENDEDOR mas não referencia CD_REGIAOCOMERCIAL diretamente