Pular para o conteúdo principal

ST_OBRIGAKM - Obriga Informar KM (Comportamento)

Tela de configuração: OFI001 - Parâmetros de Oficina
Localização: Parâmetros → Ordem 1 → Checkbox "Obriga Informar KM"
Tabela: PARMOFICINA.ST_OBRIGAKM
Tipo: Checkbox (S / N)
Valor padrão: N (Não Obrigatório)

Resumo​

Controla se o campo Quilometragem (KM) é obrigatório no momento do Post (gravação) da Ordem de Serviço. Quando habilitado, o sistema não permite salvar uma OS sem que o usuário tenha preenchido o valor de quilometragem.

Telas impactadas​

TelaMóduloEfeito
MOF001Ordem de ServiçoValidação de obrigatoriedade do campo KM ao salvar a OS

Campos envolvidos​

TabelaCampoDescrição
PARMOFICINAST_OBRIGAKMFlag que habilita/desabilita a obrigatoriedade
ORDEMSERVICONR_KILOMETRAGEMCampo de quilometragem da OS (validado quando ST_OBRIGAKM = 'S')

Opções disponíveis​

S - Obrigatório​

O que fazDetalhe
EditávelCheckbox marcado
ExigePreenchimento do campo KM na Ordem de Serviço
RestriçãoImpede gravação da OS se KM estiver vazio

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina).
  2. Na aba Ordem 1, localize o checkbox "Obriga Informar KM".
  3. Marque o checkbox.
  4. Salve os parâmetros.
  5. Abra a tela MOF001 (Ordem de Serviço).
  6. Crie ou edite uma Ordem de Serviço.
  7. Deixe o campo Quilometragem (KM) em branco.
  8. Tente salvar a OS (pressione <F9> ou clique em Salvar).

Resultado esperado: O sistema exibe uma mensagem de erro informando que o campo KM é obrigatório e impede a gravação da OS até que o valor seja preenchido.

Exceção / Importante: A validação ocorre no evento BeforePost da tabela ORDEMSERVICO. Se a quilometragem for preenchida posteriormente, a OS poderá ser salva normalmente.


N - Não Obrigatório (Padrão)​

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

Simulação passo a passo​

  1. Acesse OFI001 (Parâmetros de Oficina).
  2. Na aba Ordem 1, localize o checkbox "Obriga Informar KM".
  3. Desmarque o checkbox (ou mantenha-o desmarcado, já que este é o padrão).
  4. Salve os parâmetros.
  5. Abra a tela MOF001 (Ordem de Serviço).
  6. Crie ou edite uma Ordem de Serviço.
  7. Deixe o campo Quilometragem (KM) em branco.
  8. Salve a OS normalmente.

Resultado esperado: A OS é gravada com sucesso, independentemente de o campo KM estar preenchido ou não.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaDescrição
iniciarsource/MOF001/UMOF001.pas583Verifica iST_OBRIGAKM = 'S' para aplicar lógica de obrigatoriedade
tabORDEMSERVICOCD_ORIGEMCLIENTEValidatesource/MOF001/UdmMOF001.pas431Lista iST_OBRIGAKM entre os parâmetros carregados
Busca_Parametrossource/MOF001/UdmMOF001.pas669Inclui ST_OBRIGAKM no SELECT de parâmetros
TdmMOF001.tabORDEMSERVICOBeforePostsource/MOF001/UdmMOF001.pas1948Valida iST_OBRIGAKM = 'S' e NR_KILOMETRAGEM vazio
chkST_OBRIGAKMMouseMovesource/OFI001/UOFI001.pas227Evento de tooltip do checkbox
TfrmOFI001.chkST_OBRIGAKMMouseMovesource/OFI001/UOFI001.pas650Implementação do tooltip
TdmOFI001.tabPARMOFICINAAfterInsertsource/OFI001/UdmOFI001.pas351Define valor padrão 'N' ao inserir novo registro

Referências SQL diretas ao campo​

Não foram encontradas referências diretas ao campo ST_OBRIGAKM em scripts SQL. O campo é consultado exclusivamente via código Delphi através da procedure Busca_Parametros.

Candidatas por uso da tabela PARMOFICINA​

As seguintes procedures/views utilizam a tabela PARMOFICINA, mas não referenciam o campo ST_OBRIGAKM diretamente. Não há impacto funcional direto confirmado:

Procedure/ViewArquivo
PARCELA_FINANC_MNF017Scripts/PARCELA_FINANC_MNF017.sql
PARCELA_FINANCIAMENTOScripts/PARCELA_FINANCIAMENTO.sql
REABRE_OSScripts/REABRE_OS.sql
RETORNA_MOTIVOBLOQUEIOScripts/RETORNA_MOTIVOBLOQUEIO.sql
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sql
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sql
VIEW_DOCUMENTOSBLOQUEADOSScripts/VIEW_DOCUMENTOSBLOQUEADOS.sql
VIEW_ROF004Scripts/VIEW_ROF004.sql
VIEW_ROF004BScripts/VIEW_ROF004B.sql
VIEW_ROF004B_V2Scripts/VIEW_ROF004B_V2.sql
VIEW_ROF008Scripts/VIEW_ROF008.sql

Tabela Comparativa Resumida​

ValorDescriçãoKM Obrigatório na OS?
SObrigatórioSim - não permite salvar sem KM
NNão Obrigatório (padrão)Não - campo opcional

Comportamento Técnico​

  • Tipo de controle: Checkbox (chkST_OBRIGAKM)
  • DataField: PARMOFICINA.ST_OBRIGAKM
  • DataSource: dmOFI001.dsoPARMOFICINA
  • Tipo de dado no banco: DOM_CHAR1 (1 caractere)
  • Constraint: NOT NULL DEFAULT 'N'
  • Collation: PT_BR
  • Chave primária da tabela: CD_EMPRESA (parâmetros por empresa)

Parâmetros Relacionados​

ParâmetroDescriçãoRelação
ST_OBRIGAPLACAObriga informar placaComportamento similar para outro campo do veículo
ST_OBRIGAMARCATIPOMODELOObriga marca/tipo/modeloComportamento similar para dados do veículo
NR_QUILOMETRAGEMQuilometragem registradaCampo complementar na mesma tabela
QT_KMRETORNOKM de retornoControle de quilometragem na mesma tabela