Pular para o conteúdo principal

ST_OBRIGAVENDEDOR - Parâmetro de Obrigatoriedade de Vendedor

Tela de configuração: OFI001 - Parâmetros de Oficina
Localização: Parâmetros → Aba Parâmetros
Tabela: PARMOFICINA.ST_OBRIGAVENDEDOR
Componente: cmbST_OBRIGAVENDEDOR (combobox)
Valor padrão: N (Não)

Controla se o vendedor é obrigatório nas telas de Ordem de Serviço (MOF001) e Orçamento (MOF005). Quando habilitado, o sistema impede o salvamento do documento caso o campo vendedor esteja vazio.

Telas impactadas​

TelaDescriçãoImpacto
MOF001Ordem de ServiçoExige vendedor no cabeçalho e/ou nos itens de serviço
MOF005OrçamentoExige vendedor no cabeçalho do orçamento

Campos envolvidos​

TabelaCampoDescrição
PARMOFICINAST_OBRIGAVENDEDORParâmetro (configuração)
ORDEMSERVICOCD_VENDEDORVendedor no cabeçalho da OS
ORDEMSERVITEMCD_VENDEDORVendedor no item de serviço
ORCAMENTOCD_VENDEDORVendedor no cabeçalho do orçamento

Opções disponíveis​

S - Sim - OS (Obrigatório no Cabeçalho)​

Exige que o vendedor seja informado no cabeçalho da Ordem de Serviço e na tela de múltiplos vendedores (quando ativo). O label do vendedor fica em negrito na tela de Orçamento (MOF005).

O que fazDetalhe
Editável?Sim, via combobox em OFI001
Exige vendedor no cabeçalho da OS?Sim, se ST_VARIOSVENDEDORES = 'N' e o campo estiver visível
Exige vendedor nos itens de serviço?Não diretamente (apenas via múltiplos vendedores)
Exige vendedor no orçamento?Sim
RestriçãoSem vendedor → exceção "O vendedor deve ser informado"

Simulação passo a passo​

  1. Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
  2. Selecione S - Sim - OS
  3. Salve a configuração
  4. Abra MOF001 (Ordem de Serviço) e crie uma nova OS
  5. Informe cliente, veículo e serviços, mas não informe o vendedor no cabeçalho
  6. Clique em Salvar
  7. O sistema exibirá: "O vendedor deve ser informado. Verifique!"
  8. Informe um vendedor válido e salve novamente → documento salva com sucesso

Resultado esperado: A OS é salva apenas quando o campo CD_VENDEDOR do cabeçalho estiver preenchido. Na tela MOF005 (Orçamento), o label do vendedor aparece em negrito e o sistema exige o preenchimento antes de salvar.

Exceção / Importante: Se ST_VARIOSVENDEDORES (configurado em MFA001 — Parâmetros de Faturamento) estiver como 'S', a validação do cabeçalho é desativada — o sistema passa a exigir pelo menos um vendedor na tela de múltiplos vendedores (equipe).


P - Sim - Peças (Obrigatório nos Itens)​

Exige que o vendedor seja informado em cada linha de serviço/peça no grid. Obrigatório tanto para serviços quanto para peças.

O que fazDetalhe
Editável?Sim, via combobox em OFI001
Exige vendedor no cabeçalho da OS?Não diretamente
Exige vendedor nos itens de serviço?Sim, se ST_VARIOSVENDEDORES = 'N'
Exige vendedor nos itens de peça?Sim, se ST_VARIOSVENDEDORES = 'N'
RestriçãoSem vendedor no item → exceção "O Vendedor deve ser Informado!"

Simulação passo a passo​

  1. Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
  2. Selecione P - Sim - Peças
  3. Salve a configuração
  4. Abra MOF001 e crie uma nova OS
  5. Adicione um serviço no grid, mas não informe o vendedor na coluna do grid
  6. Tente sair da linha (ou salve) → o sistema exibirá: "O Vendedor deve ser Informado!"
  7. Informe um vendedor na coluna do item → validação passa
  8. Repita o teste com um item de peça → mesmo comportamento

Resultado esperado: Cada linha de serviço ou peça no grid exige o preenchimento do vendedor antes de ser confirmada.

Exceção / Importante: Se ST_VARIOSVENDEDORES (configurado em MFA001 — Parâmetros de Faturamento) estiver como 'S', a validação por item é desativada — o sistema exige pelo menos um vendedor na tela de múltiplos vendedores em vez de por linha.


N - Não (Livre)​

Não exige vendedor em nenhum momento. O campo vendedor fica opcional tanto no cabeçalho quanto nos itens.

O que fazDetalhe
Editável?Sim, via combobox em OFI001
Exige vendedor no cabeçalho da OS?Não
Exige vendedor nos itens?Não
Exige vendedor no orçamento?Não
RestriçãoNenhuma

Simulação passo a passo​

  1. Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
  2. Selecione N - Não
  3. Salve a configuração
  4. Abra MOF001 e crie uma nova OS sem informar vendedor
  5. Salve a OS → documento salva sem erro
  6. Abra MOF005 e crie um orçamento sem vendedor
  7. Salve → documento salva sem erro

Resultado esperado: Nenhuma validação de vendedor é aplicada. O campo permanece opcional em todas as situações.


Regra Geral de Validação​

SE ST_OBRIGAVENDEDOR = 'S' ENTÃO
├─ MOF001 (OS): EXIGE vendedor no cabeçalho (se visível e ST_VARIOSVENDEDORES = 'N')
├─ MOF001 (Serviço): EXIGE vendedor na tela de múltiplos vendedores
└─ MOF005 (Orçamento): EXIGE vendedor no cabeçalho; label em negrito

SENAO SE ST_OBRIGAVENDEDOR = 'P' ENTÃO
├─ MOF001 (Itens): EXIGE vendedor em cada linha de serviço/peça (se ST_VARIOSVENDEDORES = 'N')
└─ MOF001 (Serviço/Peça): EXIGE vendedor na tela de múltiplos vendedores

SENAO (ST_OBRIGAVENDEDOR = 'N')
└─ Nenhuma validação de vendedor

Tabela Comparativa Resumida​

ValorDescriçãoOnde validaExige vendedorLabel negrito MOF005
SSim - OSCabeçalho OS + OrçamentoCabeçalho + Múltiplos vendedoresSim
PSim - PeçasItens de serviço/peçaPor item (grid) + Múltiplos vendedoresNão
NNãoNenhumNão exigeNão

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaComportamento
TfrmMOF001.variosVendServicoUMOF001.pas1517Se ='S' e vendedor = -1 → bloqueia operação
TfrmMOF001.variosVendPecaUMOF001.pas1946Se ='P' ou ='S' e vendedor = -1 → bloqueia operação
TfrmMOF001.btnSalvarClickUMOF001.pas2626Se ='S', campo visível e ST_VARIOSVENDEDORES='N' → exige vendedor cabeçalho
TdmMOF001.tabSERVICOITEMBeforePostUdmMOF001.pas3133Se ='P' e ST_VARIOSVENDEDORES='N' → exige vendedor no item
TdmMOF001.Busca_ParametrosUdmMOF001.pas670Carrega o parâmetro da tabela PARMOFICINA
iniciar (MOF005)UMOF005.pas242Se ='S' → label do vendedor em negrito
TdmMOF005.tabORCAMENTOBeforePostUdmMOF005.pas528Se ='S' → exige vendedor no cabeçalho do orçamento
TdmMOF005.Busca_ParametrosUdmMOF005.pas204Carrega o parâmetro para variável local

Referências SQL diretas ao campo​

Não foram encontradas referências diretas ao campo ST_OBRIGAVENDEDOR em procedures/views SQL em Scripts/.

Candidatas por uso da tabela​

Procedures/views que acessam PARMOFICINA mas não citam ST_OBRIGAVENDEDOR diretamente. Não há impacto funcional confirmado:

  • PARCELA_FINANC_MNF017, PARCELA_FINANCIAMENTO, REABRE_OS, RETORNA_MOTIVOBLOQUEIO, RETORNA_PRECOITEM, VERIFICA_BLOQUEIO, VIEW_DOCUMENTOSBLOQUEADOS, VIEW_ROF004, VIEW_ROF004B, VIEW_ROF004B_V2, VIEW_ROF008