TP_ORDEMSERVICO - Tipo da Ordem de Serviço
Tela de configuração: OFI001 - Parâmetros de Oficina Localização: Aba Parâmetros Tabela:
PARMOFICINA.TP_ORDEMSERVICOTipo: CHAR(1) NOT NULL Valor padrão:V(Veículo)
Define o modo de operação do módulo de Oficina: se as ordens de serviço e orçamentos trabalham identificando veículos (por placa) ou plataformas (equipamentos industriais). A escolha altera campos visíveis, validações obrigatórias e a lógica de busca de preços de serviços.
Telas impactadas
| Tela | Descrição | Como usa o parâmetro |
|---|---|---|
| MOF001 | Ordem de Serviço | Controla visibilidade de campos de veículo/plataforma; define validações e busca de serviços |
| MOF005 | Orçamento de Oficina | Controla visibilidade, validações e busca de serviços por placa ou plataforma |
| MOF006 | Consulta de Ordem de Serviço | Lê parâmetro via Busca_Parametros para filtros |
| MOF008 | Acompanhamento de OS | Usa TP_ORDEMSERVICOPARM para retornar semi-reboques do veículo |
Campos envolvidos
MOF001 — Ordem de Serviço
| Campo | Visível quando V | Visível quando P | Observação |
|---|---|---|---|
NR_PLACA | ✅ | ❌ | Placa do veículo |
DS_VEICULO | ✅ | ❌ | Descrição do veículo |
NR_MEDIAKM | ✅ | ❌ | Média de quilometragem |
CD_PLATAFORMAVEICULO | ❌ | ✅ | Código da plataforma |
DS_PLATAFORMA | ❌ | ✅ | Descrição da plataforma |
NR_FROTA | ❌ | ✅ | Número da frota |
CD_MARCAVEICULO / DS_MARCAVEICULO | ❌ | ✅ | Marca do equipamento |
CD_MODELOVEICULO / DS_MODELOVEICULO | ❌ | ✅ | Modelo do equipamento |
MOF005 — Orçamento de Oficina
| Comportamento | Quando V | Quando P |
|---|---|---|
| Label da placa em negrito | Sim (se ST_OBRIGAPLACAORCAMENTO = 'S') | Não |
| Validação ao inserir item | Exige placa informada (se ST_OBRIGAPLACAORCAMENTO = 'S') | Exige Marca e Modelo do veículo |
| Função de busca de serviço | SERVICOORDEMOFICINA (passa placa) | SERVICOORDEM (passa plataforma) |
| Retorno de semi-reboques | Sim (busca junção do veículo) | Não |
Opções disponíveis
V - Veículo
| O que faz | Detalhe |
|---|---|
| Modo de operação | A OS trabalha com veículos identificados por placa |
| Campos visíveis | Placa, Descrição do Veículo, Média KM |
| Campos ocultos | Plataforma, Frota, Marca/Modelo de plataforma |
| Validação ao inserir serviço (MOF001) | Permite inserir sem restrição de placa (validação de placa obrigatória está comentada no código) |
| Validação ao inserir serviço (MOF005) | Exige placa quando ST_OBRIGAPLACAORCAMENTO = 'S' |
| Busca de preço de serviço | Usa SERVICOORDEMOFICINA, passando NR_PLACA como parâmetro |
| Semi-reboques | Busca junção do veículo para retornar plataformas vinculadas |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Parâmetros, localize o campo Tipo da Ordem de Serviço.
- Selecione Veículo.
- Clique em Salvar.
- Acesse MOF001 (Ordem de Serviço) e clique em Novo.
- Observe que os campos Placa, Descrição do Veículo e Média KM estão visíveis na tela.
- Informe uma placa válida (ex:
ABC-1234). - Na grade de serviços, pressione
<F3>para adicionar um serviço. - Informe o código do serviço e pressione
<Enter>. - O sistema busca o preço usando a placa do veículo informada.
Resultado esperado: A OS opera no modo veicular. Os campos de placa são exibidos e a busca de serviços considera a placa do veículo para encontrar o preço correto. Os campos de plataforma, frota e marca/modelo de plataforma ficam ocultos.
Exceção / Importante: O parâmetro
ST_OBRIGAPLACAORCAMENTO(configurado em OFI001, aba Parâmetros) controla se a placa é obrigatória no orçamento. QuandoS, o sistema bloqueia a inclusão de serviços no orçamento (MOF005) sem que a placa esteja informada.
P - Plataforma
| O que faz | Detalhe |
|---|---|
| Modo de operação | A OS trabalha com plataformas (equipamentos industriais) |
| Campos visíveis | Plataforma, Descrição da Plataforma, Frota, Marca, Modelo |
| Campos ocultos | Placa, Descrição do Veículo, Média KM |
| Validação ao inserir serviço (MOF001) | Validação de marca/modelo está comentada no código (não aplicada) |
| Validação ao inserir serviço (MOF005) | Exige Marca e Modelo do veículo informados |
| Busca de preço de serviço | Usa SERVICOORDEM, passando CD_PLATAFORMAVEICULO como parâmetro |
| Semi-reboques | Não busca semi-reboques |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Parâmetros, localize o campo Tipo da Ordem de Serviço.
- Selecione Plataforma.
- Clique em Salvar.
- Acesse MOF005 (Orçamento de Oficina) e clique em Novo.
- Observe que os campos de Placa e Descrição do Veículo estão ocultos.
- Os campos Plataforma, Frota, Marca e Modelo estão visíveis.
- Informe a Marca e o Modelo do equipamento.
- Na grade de serviços, pressione
<F3>para adicionar um serviço. - Informe o código do serviço e pressione
<Enter>. - O sistema busca o preço usando a plataforma informada.
Resultado esperado: A OS/Orçamento opera no modo plataforma. Os campos de placa são ocultados e substituídos por campos de plataforma, frota, marca e modelo. A busca de serviços utiliza a plataforma como referência de preço.
Exceção / Importante: No modo Plataforma, a busca de serviços usa a função
SERVICOORDEM(diferente deSERVICOORDEMOFICINAusada no modo Veículo). Isso significa que os preços de serviço podem ser definidos por plataforma na tabela de preços.
Regra Geral
O parâmetro é global por empresa (chave primária de PARMOFICINA é CD_EMPRESA). Todos os módulos de oficina da mesma empresa leem o mesmo valor. A alteração afeta imediatamente todas as telas dependentes na próxima abertura.
Procedures impactadas
Rotinas Delphi com referência direta ao parâmetro
| Rotina | Arquivo | Linha | Evidência |
|---|---|---|---|
Busca_Parametros | source/MOF001/UdmMOF001.pas | 666 | SELECT TP_ORDEMSERVICO, TP_PRECOSERVICO... lê para iTP_ORDEMSERVICO |
iniciar | source/MOF001/UMOF001.pas | 543 | if (dmMOF001.iTP_ORDEMSERVICO = 'P') then — oculta campos de placa, exibe campos de plataforma |
gridORDEMSERVITEMKeyDown | source/MOF001/UMOF001.pas | 3240 | if (dmMOF001.iTP_ORDEMSERVICO = 'V')then — busca serviço por placa vs plataforma |
retorna_semireboques | source/MOF001/UdmMOF001.pas | 2022 | if (dmMOF001.iTP_ORDEMSERVICO = 'V') — busca junção de veículos |
Busca_Parametros | source/MOF005/UdmMOF005.pas | 203 | SELECT TP_ORDEMSERVICO,TP_PRECOSERVICO... lê para iTP_ORDEMSERVICO |
iniciar | source/MOF005/UMOF005.pas | 247 | if (dmMOF005.iTP_ORDEMSERVICO = 'V') — label da placa em negrito |
gridSERVICOKeyDown | source/MOF005/UMOF005.pas | 1375 | if (dmMOF005.iTP_ORDEMSERVICO = 'V') and (dmMOF005.iTP_PRECOSERVICO <> 'P') — busca por placa |
tabSERVICOBeforeInsert | source/MOF005/UdmMOF005.pas | 1987 | if (dmMOF005.iTP_ORDEMSERVICO = 'V') — valida placa obrigatória |
tabSERVICOBeforeInsert | source/MOF005/UdmMOF005.pas | 1997 | if (dmMOF005.iTP_ORDEMSERVICO = 'P') — valida marca/modelo obrigatórios |
retorna_semireboques | source/MOF005/UdmMOF005.pas | 367 | if (dmMOF005.iTP_ORDEMSERVICO = 'V') — busca junção de veículos |
Busca_Parametros | source/MOF006/UdmMOF006.pas | 267 | SELECT TP_ORDEMSERVICO, TP_PRECOSERVICO... |
retorna_semireboques | source/MOF008/UdmMOF008.pas | 875 | if (tabORDEMSERVICOTP_ORDEMSERVICOPARM.AsString = 'V') |
Referências SQL em Scripts/
Não há referência direta ao campo PARMOFICINA.TP_ORDEMSERVICO nos scripts SQL. Os scripts que mencionam TP_ORDEMSERVICO referenciam outros campos homônimos:
ORDEMSERVICO.TP_ORDEMSERVICO— tipo individual da ordem ('I'=Interna,'E'=Externa,'L'=Locação). Usado emGERA_PEDIDOLOCACAO,TRGAIU_PEDIDO, layouts LOS036/LOS038.PARMORCAMENTO.TP_ORDEMSERVICO— tipo padrão do orçamento ('I'=Interna,'R'=Referência). Usado emCONFIRMA_ORDEMSERVICO,TRGAI_MAQUINAORCAMENTO.
Estes campos são distintos do parâmetro de configuração documentado aqui (PARMOFICINA.TP_ORDEMSERVICO, valores 'V'/'P').