Pular para o conteúdo principal

ST_OBRIGATIPOVENDPRINCIPAL - Obriga tipo de vendedor "Principal"

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Aba Vendedor, checkbox "Obriga tipo de vendedor "Principal"" Tabela: PARMFATUR.ST_OBRIGATIPOVENDPRINCIPAL Valor padrão: N (Desmarcado)

Telas impactadas​

Tela / RotinaArquivoEfeito
Tela de Vendedor Individualsource/jVendedor/UVendedorIndividual.pasAo confirmar (botão OK), valida se existe pelo menos um vendedor com tipo "Principal"
Tela de Vendedor Agrupadosource/jVendedor/UVendedorAgrupado.pasAo confirmar, valida se cada produto possui ao menos um vendedor com tipo "Principal"

Campos envolvidos​

CampoTabelaPapel
ST_VENDEDORPRINCIPALVendedor do itemIndica se o vendedor é do tipo "Principal" (S/N)
CD_TIPOVENDEDORVendedor do itemCódigo do tipo de vendedor

Dependências​

Este parâmetro só é visível quando ST_VARIOSVENDEDORES = 'S'. Caso contrário, o checkbox é ocultado pelo handler cmbST_VARIOSVENDEDORESChange em UMFA001.pas.

  • ST_VARIOSVENDEDORES (configurado em MFA001 — Parâmetros de Faturamento, aba Vendedor, campo "Vários Vendedores")

Opções disponíveis​

S — Obrigatório (Marcado)​

O que fazDetalhe
Exige vendedor "Principal"Ao gravar o rateio de vendedores, o sistema verifica se existe ao menos um vendedor marcado como "Principal"
Levanta exceção W-0133Se nenhum vendedor do tipo "Principal" for encontrado, a operação é bloqueada
Escopo da validaçãoIndividual: valida todos os vendedores do item. Agrupado: valida por produto — cada produto precisa ter ao menos um vendedor "Principal"

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros de Faturamento → aba Vendedor.
  2. Marque o campo "Vários Vendedores" como S (pré-requisito).
  3. Marque o checkbox "Obriga tipo de vendedor "Principal"".
  4. Salve os parâmetros (<F9> ou botão Salvar).
  5. Abra um pedido ou nota fiscal e inclua itens com rateio de vendedores.
  6. Distribua os vendedores nos itens, sem marcar nenhum como tipo "Principal".
  7. Tente confirmar/gravar o rateio de vendedores.

Resultado esperado: O sistema exibe a mensagem de erro W-0133, impedindo a gravação. Para prosseguir, é necessário que ao menos um vendedor em cada item tenha ST_VENDEDORPRINCIPAL = 'S'.

Exceção / Importante: A validação ocorre tanto na tela Individual (UVendedorIndividual.btnOKClick) quanto na tela Agrupado (UVendedorAgrupado.VerificaVendedorPrincipal). Na tela Agrupada, a verificação é feita produto a produto — se qualquer produto não tiver um vendedor "Principal", a exceção W-0133 é levantada.

N — Não Obrigatório (Desmarcado, padrão)​

O que fazDetalhe
Sem obrigatoriedadeO rateio de vendedores é gravado normalmente, sem exigir tipo "Principal"
Sem restriçãoQualquer combinação de tipos de vendedor é aceita

Simulação passo a passo​

  1. Acesse MFA001 → Parâmetros de Faturamento → aba Vendedor.
  2. Deixe o checkbox "Obriga tipo de vendedor "Principal"" desmarcado.
  3. Salve os parâmetros.
  4. Abra um pedido ou nota fiscal e distribua vendedores nos itens de qualquer forma.

Resultado esperado: A gravação é aceita normalmente, independentemente de haver ou não um vendedor tipo "Principal".

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEvidência
TfrmMFA001.cmbST_VARIOSVENDEDORESChangesource/MFA001/UMFA001.pas2143chkST_OBRIGATIPOVENDPRINCIPAL.Visible := True;
TdmMFA001.tabPARMFATURAfterInsertsource/MFA001/UdmMFA001.pas579tabPARMFATURST_OBRIGATIPOVENDPRINCIPAL.AsString := 'N';
TfrmVendedorAgrupado.setParametrossource/jVendedor/UVendedorAgrupado.pas1198Carrega ST_OBRIGATIPOVENDPRINCIPAL do SELECT em PARMFATUR
TfrmVendedorAgrupado.VerificaVendedorPrincipalsource/jVendedor/UVendedorAgrupado.pas1224if (param.St_ObrigaVendedorPrin = 'S') then
TfrmVendedorIndividual.btnOKClicksource/jVendedor/UVendedorIndividual.pas423if (iST_OBRIGATIPOVENDPRINCIPAL = 'S') then
CarregarVendedorIndividualsource/jVendedor/UVendedorIndividual.pas201SELECT ST_VENDPEDIDONOTA, ST_OBRIGATIPOVENDPRINCIPAL FROM PARMFATUR

Referências SQL​

Não foi encontrada referência direta ao campo ST_OBRIGATIPOVENDPRINCIPAL em procedures SQL (Scripts/). As procedures que utilizam a tabela PARMFATUR acessam outros campos e não este parâmetro diretamente.