Pular para o conteúdo principal

CD_ITEM — Produto do Parâmetro de Vendedor

Tela de configuração: MFA007 — Parâmetros de Vendedor Tabela: PARMVENDEDOR.CD_ITEM Tipo: DOM_INTEGER (editável, opcional) Componente: edtCD_ITEM (TDBEdit) + edtDS_ITEM (TDBEdit, somente leitura) Foreign Key: RPARMVENDEDOR_ITEM → ITEM (CD_ITEM)

Resumo​

Campo que filtra o produto (item) na regra de atribuição automática de vendedor. Quando preenchido, a combinação de Região Comercial + Grupo + Marca + Pessoa + Produto define qual vendedor será sugerido nas movimentações comerciais (pedidos, notas fiscais). É opcional — faz parte do conjunto de critérios onde ao menos um deve ser informado (Região, Grupo, Pessoa ou Produto).

Telas impactadas​

TelaEfeito
MFA007Tela de cadastro do campo — inclusão, alteração e exclusão
MFA001/PARFATURNão influencia diretamente este campo
Telas de pedido/nota (consumidores de PARMVENDEDOR)Consultam a tabela para definir vendedor por produto

Campos envolvidos​

CampoTabelaTipoObrigatórioObservação
CD_ITEMPARMVENDEDORINTEGERNãoCódigo do produto; FK para ITEM
DS_ITEMITEMVARCHAR—Descrição exibida ao lado do código (lookup)

Opções disponíveis​

O que fazDetalhe
Campo livre editávelAceita qualquer código de produto ativo via digitação ou <F9>
OpcionalPode ficar vazio, mas ao menos um dos campos (Região, Grupo, Pessoa ou Produto) deve ser preenchido
Valida ativo/inexistenteRejeita produtos inativos (ST_ATIVO = 'N') ou não cadastrados
AntiduplicidadeA combinação (Região + Grupo + Marca + Pessoa + Produto) não pode se repetir

Preenchido — Produto vincula vendedor a um item específico​

Simulação passo a passo​

  1. Acesse a tela MFA007.
  2. Clique em Novo (<F5>) ou posicione no campo Região Comercial.
  3. Preencha o campo Produto digitando o código do item ou pressionando <F9> para abrir a pesquisa de produtos ativos (ST_ATIVO = 'S').
  4. Selecione o produto desejado na lista, por exemplo o produto de código 1234.
  5. Preencha o campo Vendedor com o código desejado, por exemplo vendedor 567.
  6. Clique em Salvar (<F6>).

Resultado esperado: O registro é gravado com CD_ITEM = 1234 e CD_VENDEDOR = 567. Nas movimentações comerciais que consultam PARMVENDEDOR, quando o item 1234 estiver presente, o vendedor 567 será sugerido (respeitando a precedência de especificidade das regras).

Exceção / Importante: Se o produto informado estiver inativo (ST_ATIVO = 'N' na tabela ITEM), o sistema exibe a mensagem "O Produto não está Ativo [TPO001]!" e bloqueia a gravação. Se o código não existir na tabela ITEM, exibe "O Produto não está Cadastrado [TPO001]!".

Vazio — Regra sem filtro de produto (genérica)​

Simulação passo a passo​

  1. Acesse a tela MFA007.
  2. Clique em Novo (<F5>).
  3. Deixe o campo Produto vazio.
  4. Preencha ao menos um dos campos: Região Comercial, Grupo ou Pessoa. Por exemplo, preencha Grupo com código 10.
  5. Preencha o campo Vendedor com o código desejado.
  6. Clique em Salvar (<F6>).

Resultado esperado: O registro é gravado com CD_ITEM = NULL e CD_GRUPO = 10. Essa regra aplica-se a qualquer produto desde que os demais critérios coincidam (regra mais genérica).

Exceção / Importante: Se Produto, Pessoa, Região Comercial e Grupo estiverem todos vazios simultaneamente, o sistema bloqueia a gravação com a mensagem "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!".

Duplicidade detectada — Registro já existe para a combinação​

Simulação passo a passo​

  1. Acesse a tela MFA007.
  2. Clique em Novo (<F5>).
  3. Preencha a mesma combinação de Região, Grupo, Marca, Pessoa e Produto de um registro já existente.
  4. Ao sair do campo Vendedor (OnExit), o sistema detecta a duplicidade e reposiciona o grid no registro já cadastrado.

Resultado esperado: O registro não é duplicado. O grid é posicionado sobre o registro existente com a mesma combinação de critérios.

Regra Geral de Validação​

CondiçãoComportamento
CD_ITEM preenchido e produto existe e ativo (ST_ATIVO = 'S')Preenche DS_ITEM automaticamente; permite gravação
CD_ITEM preenchido e produto existe mas inativo (ST_ATIVO = 'N')Erro: "O Produto não está Ativo [TPO001]!"
CD_ITEM preenchido e produto não existeErro: "O Produto não está Cadastrado [TPO001]!"
CD_ITEM vazio e todos os outros filtros também vaziosErro: "É Obrigatório informar a Região Comercial, Grupo, Pessoa ou Produto!"
Combinação (Região + Grupo + Marca + Pessoa + Produto) já existeReposiciona no registro existente, sem duplicar

Tabela Comparativa Resumida​

Situação do CD_ITEMEfeito na regra de vendedor
Preenchido (produto ativo)Regra aplica-se somente a esse produto específico
Vazio (NULL)Regra aplica-se a qualquer produto, desde que os demais critérios coincidam

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoEvidência
TfrmMFA007.edtCD_ITEMKeyDownsource/MFA007/UMFA007.pas:360-378Abre pesquisa <F9> de produtos ativos (ITEM com ST_ATIVO = 'S')
TdmMFA007.tabPARMVENDEDORCD_ITEMValidatesource/MFA007/UdmMFA007.pas:144-162Valida existência e status ativo do produto
TdmMFA007.tabPARMVENDEDORBeforePostsource/MFA007/UdmMFA007.pas:70-76Verifica que ao menos um critério está preenchido (inclui CD_ITEM)
ConsultaRegistrosource/MFA007/UMFA007.pas:148-153Monta SELECT antiduplicidade usando CD_ITEM

Referências SQL diretas ao campo​

Nenhuma stored procedure SQL referencia diretamente PARMVENDEDOR.CD_ITEM. O campo é utilizado apenas pela aplicação Delphi (MFA007).

Candidatas por uso da tabela​

Procedure/ViewArquivoObservação
ATUALIZA_PESSOAScripts/ATUALIZA_PESSOA.sql:307,443Atualiza CD_PESSOA e CD_VENDEDOR em PARMVENDEDOR quando pessoa é alterada — não referencia CD_ITEM diretamente