Pular para o conteúdo principal

ST_OBRIGAPLACA - Obriga Placa na Abertura da Ordem

Tela de configuração: OFI001 - Parâmetros de Oficina
Localização: Aba "Ordem 2"
Tabela: PARMOFICINA.ST_OBRIGAPLACA
Tipo: CHAR(1)
Valor padrão: N (Não)


Descrição​

Controla se o sistema exige o preenchimento da placa do veículo ao abrir uma nova Ordem de Serviço. Quando habilitado, o campo placa torna-se obrigatório no cadastro da OS, impedindo a continuidade do processo sem essa informação.

Condição de ativação: O parâmetro só tem efeito quando o tipo de OS está configurado como Veículo (TP_ORDEMSERVICO = 'V'). Para OS do tipo Equipamento, a placa não é aplicável e o parâmetro é ignorado.


Telas impactadas​

TelaDescriçãoImpacto
MOF001Ordem de ServiçoValidação da placa na abertura/inclusão da OS
OFI001Parâmetros de OficinaConfiguração do parâmetro

Campos envolvidos​

TabelaCampoDescrição
PARMOFICINAST_OBRIGAPLACAFlag que ativa a obrigatoriedade
PARMOFICINATP_ORDEMSERVICOTipo de OS (V=Veículo, E=Equipamento) - condição obrigatória
ORDEMSERVICONR_PLACACampo de placa validado quando parâmetro ativo

Parâmetro relacionado: ST_OBRIGAPLACAORCAMENTO (configurado em OFI001 — Parâmetros de Oficina, aba Ordem 2) — controla a obrigatoriedade da placa no Orçamento (MOF005), independente deste parâmetro.


Opções disponíveis​

S - Sim (Obrigatória)​

Exige que o campo placa seja preenchido antes de salvar a Ordem de Serviço. Se a placa estiver em branco, o sistema exibe mensagem de erro e impede a gravação.

O que fazDetalhe
EditávelNão
ExigePlaca preenchida
RestriçãoSó atua quando TP_ORDEMSERVICO = 'V' (Veículo)

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina) → Aba "Ordem 2".
  2. No campo "Obriga Placa na Abertura da Ordem", selecione "Sim".
  3. Salve as configurações com <F9> ou botão Confirmar.
  4. Abra MOF001 (Ordem de Serviço).
  5. Clique em "Incluir" para criar uma nova OS.
  6. Preencha os demais campos obrigatórios, mas deixe o campo placa em branco.
  7. Tente salvar a OS.

Resultado esperado: O sistema exibe mensagem de erro informando que a placa é obrigatória e não permite a gravação da OS até que o campo seja preenchido.


N - Não (Opcional)​

O campo placa permanece disponível, mas não é exigido para salvar a OS. O usuário pode preenchê-lo opcionalmente.

O que fazDetalhe
EditávelSim
ExigeNenhuma validação adicional
RestriçãoNenhuma

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina) → Aba "Ordem 2".
  2. No campo "Obriga Placa na Abertura da Ordem", selecione "Não".
  3. Salve as configurações com <F9> ou botão Confirmar.
  4. Abra MOF001 (Ordem de Serviço).
  5. Clique em "Incluir" para criar uma nova OS.
  6. Deixe o campo placa em branco.
  7. Tente salvar a OS.

Resultado esperado: O sistema permite a gravação da OS normalmente, mesmo com o campo placa em branco.


Regra Geral​

A validação ocorre em dois pontos críticos:

  1. Início da OS (iniciar) — ao abrir a tela de inclusão, o sistema verifica se deve tornar o campo placa obrigatório.
  2. BeforePost da OS — antes de gravar, o sistema valida novamente se a placa está preenchida quando o parâmetro está ativo.

Lógica de validação (pseudocódigo):

SE (ST_OBRIGAPLACA = 'S') E (TP_ORDEMSERVICO = 'V')
ENTÃO exige preenchimento de NR_PLACA
SENÃO
placa é opcional

Exceção / Importante: Este parâmetro só afeta OS do tipo Veículo. Para OS do tipo Equipamento (TP_ORDEMSERVICO = 'E'), a placa nunca é obrigatória, independentemente da configuração.


Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaEvidência
iniciarsource/MOF001/UMOF001.pas713Verifica ST_OBRIGAPLACA = 'S' e TP_ORDEMSERVICO = 'V'
TdmMOF001.tabORDEMSERVICOBeforePostsource/MOF001/UdmMOF001.pas1963Valida placa antes de gravar OS
TdmOFI001.tabPARMOFICINAAfterInsertsource/OFI001/UdmOFI001.pas369Define valor padrão 'N' ao inserir registro

Referências SQL diretas ao campo​

Não foram encontradas referências diretas ao campo ST_OBRIGAPLACA em procedures SQL do diretório Scripts/. A validação é feita exclusivamente em código Delphi.

Candidatas por uso da tabela​

Estas procedures/views utilizam a tabela PARMOFICINA, mas não citam o campo ST_OBRIGAPLACA diretamente:

Procedure/ViewArquivo
RETORNA_MOTIVOBLOQUEIOScripts/RETORNA_MOTIVOBLOQUEIO.sql
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sql
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sql
REABRE_OSScripts/REABRE_OS.sql
VIEW_DOCUMENTOSBLOQUEADOSScripts/VIEW_DOCUMENTOSBLOQUEADOS.sql
VIEW_ROF004Scripts/VIEW_ROF004.sql