CD_GRUPO - Filtro de Grupo (Parâmetros de Vendedor)
Tela de configuração: MFA007 — Parâmetros de Vendedor Tabela:
PARMVENDEDOR.CD_GRUPO(INTEGER) Campo de descrição associado:DS_GRUPO(somente leitura, preenchido automaticamente) Valor padrão: preenchido via pesquisa (<F9>)
Telas impactadas
| Tela | Contexto |
|---|---|
| MFA007 — Parâmetros de Vendedor | Cadastro do campo CD_GRUPO e validação |
Cálculo de Comissão (CALCULA_COMISSAO, CALCULA_COMISSAO_V2) | Utiliza CD_GRUPO do item para buscar percentual de comissão na tabela COMISSAOVENDEDOR |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_GRUPO | PARMVENDEDOR | INTEGER | Código do Grupo (filtro para comissão do vendedor) |
DS_GRUPO | PARMVENDEDOR (lookup) | VARCHAR(60) | Descrição do Grupo, preenchida via validação |
CD_GRUPO | GRUPO | INTEGER PK | Tabela mestre de Grupos |
CD_GRUPO | COMISSAOVENDEDOR | INTEGER FK | Grupo usado como critério de desempate na busca de comissão |
Opções disponíveis
Este parâmetro é um campo de busca (lookup) para a tabela GRUPO. Não possui opções fixas — o usuário seleciona um grupo previamente cadastrado.
| O que faz | Detalhe |
|---|---|
| Filtra comissão por grupo de produto | Opcional — pode ser deixado em branco |
Validado contra tabela GRUPO | Valor inexistente gera erro |
Preenchimento via <F9> | Abre janela de pesquisa na tabela GRUPO |
Preenchimento do Grupo
Simulação passo a passo
- Acesse a tela MFA007 — Parâmetros de Vendedor.
- Informe o Vendedor (campo obrigatório).
- Posicione o cursor no campo Grupo e pressione
<F9>. - Na janela de pesquisa "Selecione o Grupo", localize o grupo desejado (ex.: "Acessórios", "Peças") e confirme.
- O campo Código do Grupo é preenchido automaticamente e a descrição aparece ao lado em cinza.
- Salve o registro.
Resultado esperado: O vendedor passa a ter comissão diferenciada para produtos do grupo informado. Se o grupo for deixado em branco, a comissão será determinada pelos demais filtros (subgrupo, marca, pessoa, produto, etc.).
Exceção / Importante: O sistema exige que ao menos um dos campos de filtro esteja preenchido: Região Comercial, Grupo, Pessoa ou Produto. Se todos estiverem vazios ao salvar, a mensagem "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!" será exibida.
Exceção / Importante: Se o código do grupo for digitado manualmente (sem
<F9>) e não existir na tabelaGRUPO, a mensagem "O Grupo não está Cadastrado [TPO006]!" será exibida ao sair do campo.
Regra Geral de Comissão
O CD_GRUPO informado em MFA007 não é lido diretamente pelas procedures de comissão. O fluxo é indireto:
- Na tela MFA007, o usuário cadastra parâmetros de comissão por vendedor, associando filtros (grupo, marca, pessoa, produto, região comercial).
- Esses dados alimentam a tabela
COMISSAOVENDEDOR, ondeCD_GRUPOé um dos critérios. - As procedures
CALCULA_COMISSAOeCALCULA_COMISSAO_V2leem o grupo do item sendo faturado (ITEM.CD_GRUPO) e buscam a melhor correspondência na tabelaCOMISSAOVENDEDOR, usando uma cláusulaCOALESCE(CD_GRUPO, ...) = ...com ordenação por especificidade — registros comCD_GRUPOpreenchido têm prioridade sobre genéricos.
Tabela Comparativa Resumida
| Situação | Comportamento da Comissão |
|---|---|
| Grupo informado no parâmetro | Comissão específica para aquele grupo de produtos |
| Grupo em branco | Comissão definida pelos demais filtros (marca, pessoa, produto, etc.) |
| Grupo não cadastrado | Erro ao validar: "O Grupo não está Cadastrado [TPO006]!" |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
edtCD_GRUPOKeyDown | source/MFA007/UMFA007.pas | 340 | Abre pesquisa <F9> na tabela GRUPO |
tabPARMVENDEDORCD_GRUPOValidate | source/MFA007/UdmMFA007.pas | 88 | Valida existência do grupo e preenche DS_GRUPO |
tabPARMVENDEDORBeforePost | source/MFA007/UdmMFA007.pas | 60 | Exige ao menos um filtro preenchido (inclui CD_GRUPO) |
Referências SQL diretas ao campo
As procedures de comissão utilizam CD_GRUPO da tabela ITEM e COMISSAOVENDEDOR, não diretamente de PARMVENDEDOR. Não foi encontrada referência direta ao campo PARMVENDEDOR.CD_GRUPO em Scripts/.
Candidatas por uso da tabela
| Procedure | Arquivo | Observação |
|---|---|---|
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql | Atualiza CD_PESSOA na tabela PARMVENDEDOR, sem referência a CD_GRUPO |