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
| Tela | Módulo | Efeito |
|---|
| MOF001 | Ordem de Serviço | Validação de obrigatoriedade do campo KM ao salvar a OS |
Campos envolvidos
| Tabela | Campo | Descrição |
|---|
PARMOFICINA | ST_OBRIGAKM | Flag que habilita/desabilita a obrigatoriedade |
ORDEMSERVICO | NR_KILOMETRAGEM | Campo de quilometragem da OS (validado quando ST_OBRIGAKM = 'S') |
Opções disponíveis
S - Obrigatório
| O que faz | Detalhe |
|---|
| Editável | Checkbox marcado |
| Exige | Preenchimento do campo KM na Ordem de Serviço |
| Restrição | Impede gravação da OS se KM estiver vazio |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Ordem 1, localize o checkbox "Obriga Informar KM".
- Marque o checkbox.
- Salve os parâmetros.
- Abra a tela MOF001 (Ordem de Serviço).
- Crie ou edite uma Ordem de Serviço.
- Deixe o campo Quilometragem (KM) em branco.
- 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 faz | Detalhe |
|---|
| Editável | Checkbox desmarcado |
| Exige | Nenhuma validação adicional |
| Restrição | Nenhuma |
Simulação passo a passo
- Acesse OFI001 (Parâmetros de Oficina).
- Na aba Ordem 1, localize o checkbox "Obriga Informar KM".
- Desmarque o checkbox (ou mantenha-o desmarcado, já que este é o padrão).
- Salve os parâmetros.
- Abra a tela MOF001 (Ordem de Serviço).
- Crie ou edite uma Ordem de Serviço.
- Deixe o campo Quilometragem (KM) em branco.
- Salve a OS normalmente.
Resultado esperado: A OS é gravada com sucesso, independentemente de o campo KM estar preenchido ou não.
Procedures impactadas
| Rotina | Arquivo | Linha | Descrição |
|---|
iniciar | source/MOF001/UMOF001.pas | 583 | Verifica iST_OBRIGAKM = 'S' para aplicar lógica de obrigatoriedade |
tabORDEMSERVICOCD_ORIGEMCLIENTEValidate | source/MOF001/UdmMOF001.pas | 431 | Lista iST_OBRIGAKM entre os parâmetros carregados |
Busca_Parametros | source/MOF001/UdmMOF001.pas | 669 | Inclui ST_OBRIGAKM no SELECT de parâmetros |
TdmMOF001.tabORDEMSERVICOBeforePost | source/MOF001/UdmMOF001.pas | 1948 | Valida iST_OBRIGAKM = 'S' e NR_KILOMETRAGEM vazio |
chkST_OBRIGAKMMouseMove | source/OFI001/UOFI001.pas | 227 | Evento de tooltip do checkbox |
TfrmOFI001.chkST_OBRIGAKMMouseMove | source/OFI001/UOFI001.pas | 650 | Implementação do tooltip |
TdmOFI001.tabPARMOFICINAAfterInsert | source/OFI001/UdmOFI001.pas | 351 | Define 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/View | Arquivo |
|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql |
REABRE_OS | Scripts/REABRE_OS.sql |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |
Tabela Comparativa Resumida
| Valor | Descrição | KM Obrigatório na OS? |
|---|
S | Obrigatório | Sim - não permite salvar sem KM |
N | Nã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âmetro | Descrição | Relação |
|---|
ST_OBRIGAPLACA | Obriga informar placa | Comportamento similar para outro campo do veículo |
ST_OBRIGAMARCATIPOMODELO | Obriga marca/tipo/modelo | Comportamento similar para dados do veículo |
NR_QUILOMETRAGEM | Quilometragem registrada | Campo complementar na mesma tabela |
QT_KMRETORNO | KM de retorno | Controle de quilometragem na mesma tabela |