Pular para o conteúdo principal

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_ORDEMSERVICO Tipo: 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​

TelaDescriçãoComo usa o parâmetro
MOF001Ordem de ServiçoControla visibilidade de campos de veículo/plataforma; define validações e busca de serviços
MOF005Orçamento de OficinaControla visibilidade, validações e busca de serviços por placa ou plataforma
MOF006Consulta de Ordem de ServiçoLê parâmetro via Busca_Parametros para filtros
MOF008Acompanhamento de OSUsa TP_ORDEMSERVICOPARM para retornar semi-reboques do veículo

Campos envolvidos​

MOF001 — Ordem de Serviço​

CampoVisível quando VVisível quando PObservaçã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​

ComportamentoQuando VQuando P
Label da placa em negritoSim (se ST_OBRIGAPLACAORCAMENTO = 'S')Não
Validação ao inserir itemExige placa informada (se ST_OBRIGAPLACAORCAMENTO = 'S')Exige Marca e Modelo do veículo
Função de busca de serviçoSERVICOORDEMOFICINA (passa placa)SERVICOORDEM (passa plataforma)
Retorno de semi-reboquesSim (busca junção do veículo)Não

Opções disponíveis​

V - Veículo​

O que fazDetalhe
Modo de operaçãoA OS trabalha com veículos identificados por placa
Campos visíveisPlaca, Descrição do Veículo, Média KM
Campos ocultosPlataforma, 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çoUsa SERVICOORDEMOFICINA, passando NR_PLACA como parâmetro
Semi-reboquesBusca junção do veículo para retornar plataformas vinculadas

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina).
  2. Na aba Parâmetros, localize o campo Tipo da Ordem de Serviço.
  3. Selecione Veículo.
  4. Clique em Salvar.
  5. Acesse MOF001 (Ordem de Serviço) e clique em Novo.
  6. Observe que os campos Placa, Descrição do Veículo e Média KM estão visíveis na tela.
  7. Informe uma placa válida (ex: ABC-1234).
  8. Na grade de serviços, pressione <F3> para adicionar um serviço.
  9. Informe o código do serviço e pressione <Enter>.
  10. 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. Quando S, o sistema bloqueia a inclusão de serviços no orçamento (MOF005) sem que a placa esteja informada.


P - Plataforma​

O que fazDetalhe
Modo de operaçãoA OS trabalha com plataformas (equipamentos industriais)
Campos visíveisPlataforma, Descrição da Plataforma, Frota, Marca, Modelo
Campos ocultosPlaca, 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çoUsa SERVICOORDEM, passando CD_PLATAFORMAVEICULO como parâmetro
Semi-reboquesNão busca semi-reboques

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina).
  2. Na aba Parâmetros, localize o campo Tipo da Ordem de Serviço.
  3. Selecione Plataforma.
  4. Clique em Salvar.
  5. Acesse MOF005 (Orçamento de Oficina) e clique em Novo.
  6. Observe que os campos de Placa e Descrição do Veículo estão ocultos.
  7. Os campos Plataforma, Frota, Marca e Modelo estão visíveis.
  8. Informe a Marca e o Modelo do equipamento.
  9. Na grade de serviços, pressione <F3> para adicionar um serviço.
  10. Informe o código do serviço e pressione <Enter>.
  11. 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 de SERVICOORDEMOFICINA usada 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​

RotinaArquivoLinhaEvidência
Busca_Parametrossource/MOF001/UdmMOF001.pas666SELECT TP_ORDEMSERVICO, TP_PRECOSERVICO... lê para iTP_ORDEMSERVICO
iniciarsource/MOF001/UMOF001.pas543if (dmMOF001.iTP_ORDEMSERVICO = 'P') then — oculta campos de placa, exibe campos de plataforma
gridORDEMSERVITEMKeyDownsource/MOF001/UMOF001.pas3240if (dmMOF001.iTP_ORDEMSERVICO = 'V')then — busca serviço por placa vs plataforma
retorna_semireboquessource/MOF001/UdmMOF001.pas2022if (dmMOF001.iTP_ORDEMSERVICO = 'V') — busca junção de veículos
Busca_Parametrossource/MOF005/UdmMOF005.pas203SELECT TP_ORDEMSERVICO,TP_PRECOSERVICO... lê para iTP_ORDEMSERVICO
iniciarsource/MOF005/UMOF005.pas247if (dmMOF005.iTP_ORDEMSERVICO = 'V') — label da placa em negrito
gridSERVICOKeyDownsource/MOF005/UMOF005.pas1375if (dmMOF005.iTP_ORDEMSERVICO = 'V') and (dmMOF005.iTP_PRECOSERVICO <> 'P') — busca por placa
tabSERVICOBeforeInsertsource/MOF005/UdmMOF005.pas1987if (dmMOF005.iTP_ORDEMSERVICO = 'V') — valida placa obrigatória
tabSERVICOBeforeInsertsource/MOF005/UdmMOF005.pas1997if (dmMOF005.iTP_ORDEMSERVICO = 'P') — valida marca/modelo obrigatórios
retorna_semireboquessource/MOF005/UdmMOF005.pas367if (dmMOF005.iTP_ORDEMSERVICO = 'V') — busca junção de veículos
Busca_Parametrossource/MOF006/UdmMOF006.pas267SELECT TP_ORDEMSERVICO, TP_PRECOSERVICO...
retorna_semireboquessource/MOF008/UdmMOF008.pas875if (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 em GERA_PEDIDOLOCACAO, TRGAIU_PEDIDO, layouts LOS036/LOS038.
  • PARMORCAMENTO.TP_ORDEMSERVICO — tipo padrão do orçamento ('I'=Interna, 'R'=Referência). Usado em CONFIRMA_ORDEMSERVICO, TRGAI_MAQUINAORCAMENTO.

Estes campos são distintos do parâmetro de configuração documentado aqui (PARMOFICINA.TP_ORDEMSERVICO, valores 'V'/'P').