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
| Tela | Descrição | Impacto |
|---|---|---|
| MOF001 | Ordem de Serviço | Exige vendedor no cabeçalho e/ou nos itens de serviço |
| MOF005 | Orçamento | Exige vendedor no cabeçalho do orçamento |
Campos envolvidos
| Tabela | Campo | Descrição |
|---|---|---|
| PARMOFICINA | ST_OBRIGAVENDEDOR | Parâmetro (configuração) |
| ORDEMSERVICO | CD_VENDEDOR | Vendedor no cabeçalho da OS |
| ORDEMSERVITEM | CD_VENDEDOR | Vendedor no item de serviço |
| ORCAMENTO | CD_VENDEDOR | Vendedor 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 faz | Detalhe |
|---|---|
| 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ção | Sem vendedor → exceção "O vendedor deve ser informado" |
Simulação passo a passo
- Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
- Selecione S - Sim - OS
- Salve a configuração
- Abra MOF001 (Ordem de Serviço) e crie uma nova OS
- Informe cliente, veículo e serviços, mas não informe o vendedor no cabeçalho
- Clique em Salvar
- O sistema exibirá: "O vendedor deve ser informado. Verifique!"
- 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 faz | Detalhe |
|---|---|
| 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ção | Sem vendedor no item → exceção "O Vendedor deve ser Informado!" |
Simulação passo a passo
- Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
- Selecione P - Sim - Peças
- Salve a configuração
- Abra MOF001 e crie uma nova OS
- Adicione um serviço no grid, mas não informe o vendedor na coluna do grid
- Tente sair da linha (ou salve) → o sistema exibirá: "O Vendedor deve ser Informado!"
- Informe um vendedor na coluna do item → validação passa
- 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 faz | Detalhe |
|---|---|
| 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ção | Nenhuma |
Simulação passo a passo
- Acesse OFI001 → aba Parâmetros → localize Obriga Vendedor
- Selecione N - Não
- Salve a configuração
- Abra MOF001 e crie uma nova OS sem informar vendedor
- Salve a OS → documento salva sem erro
- Abra MOF005 e crie um orçamento sem vendedor
- 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
| Valor | Descrição | Onde valida | Exige vendedor | Label negrito MOF005 |
|---|---|---|---|---|
S | Sim - OS | Cabeçalho OS + Orçamento | Cabeçalho + Múltiplos vendedores | Sim |
P | Sim - Peças | Itens de serviço/peça | Por item (grid) + Múltiplos vendedores | Não |
N | Não | Nenhum | Não exige | Não |
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Linha | Comportamento |
|---|---|---|---|
TfrmMOF001.variosVendServico | UMOF001.pas | 1517 | Se ='S' e vendedor = -1 → bloqueia operação |
TfrmMOF001.variosVendPeca | UMOF001.pas | 1946 | Se ='P' ou ='S' e vendedor = -1 → bloqueia operação |
TfrmMOF001.btnSalvarClick | UMOF001.pas | 2626 | Se ='S', campo visível e ST_VARIOSVENDEDORES='N' → exige vendedor cabeçalho |
TdmMOF001.tabSERVICOITEMBeforePost | UdmMOF001.pas | 3133 | Se ='P' e ST_VARIOSVENDEDORES='N' → exige vendedor no item |
TdmMOF001.Busca_Parametros | UdmMOF001.pas | 670 | Carrega o parâmetro da tabela PARMOFICINA |
iniciar (MOF005) | UMOF005.pas | 242 | Se ='S' → label do vendedor em negrito |
TdmMOF005.tabORCAMENTOBeforePost | UdmMOF005.pas | 528 | Se ='S' → exige vendedor no cabeçalho do orçamento |
TdmMOF005.Busca_Parametros | UdmMOF005.pas | 204 | Carrega 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