Pular para o conteúdo principal

NR_DIASGARANTIA - Dias de Garantia

Tela de configuracao: OFI001 — Parametros de Oficina
Aba: Garantia
Campo: PARMOFICINA.NR_DIASGARANTIA (INTEGER)
Label na UI: KM p/calc. Data Retorno Tele Vendas/Pos Vendas [MOF001]
Componente: DBEdit1 (edit)
Valor padrao: Nulo (campo nao preenchido)

Este parametro define a quantidade de dias que serao somados a data de emissao (DT_EMISSAO) da ordem de servico para calcular a data final de garantia. Quando preenchido, ativa a validacao por dias na rotina ValidaGarantia da MOF001.

Se o campo estiver vazio ou nulo, a garantia por dias e desativada (flagGarantiaDia = False).

Telas impactadas​

TelaNomeComo e afetada
MOF001Manutencao de Ordem de ServicoExibe campos DS_GARANTIADIA ("Valida" ou "Vencida") ao validar garantia; calcula DT_FINALGARANTIA = DT_EMISSAO + NR_DIASGARANTIA
LOF000Layout Ordem de ServicoDisponivel campo DT_GARANTIA para impressao nos layouts (OS.DT_EMISSAO + COALESCE(POF.NR_DIASGARANTIA, 0))
MOF001 (internamente)Indicador de retornoO label referencia "Tele Vendas/Pos Vendas" — usado como base para calculo de data de retorno do cliente

Campos envolvidos​

CampoTabelaTipoOrigem
NR_DIASGARANTIAPARMOFICINAINTEGERConfigurado em OFI001
DT_EMISSAOORDEMSERVICODATE/TIMESTAMPData de emissao da OS
DS_GARANTIADIAORDEMSERVICO (campo calculado)StringResultado da validacao: "Valida" ou "Vencida"
DT_FINALGARANTIACalculo em SQLDateDT_EMISSAO + NR_DIASGARANTIA

Procedures impactadas​

Rotinas Delphi com referencia direta​

RotinaArquivoImpacto
iniciarsource/MOF001/UMOF001.pas:722Define flagGarantiaDia := True se o parametro for informado (nao vazio), senao False
ValidaGarantiasource/MOF001/UdmMOF001.pas:6327, 6365Consulta SQL: OS.DT_EMISSAO + COALESCE(P.NR_DIASGARANTIA, 0) DT_FINALGARANTIA; compara com DT_EMISSAO da OS atual para decidir "Valida" ou "Vencida"
ExecLayoutsource/LOF000/ULOF000.pas:202Disponibiliza DT_GARANTIA nos layouts de impressao

Candidatas por uso da tabela PARMOFICINA (sem referencia direta ao campo)​

Nao foi encontrada referencia direta ao campo NR_DIASGARANTIA nos arquivos de Scripts/. As seguintes procedures usam PARMOFICINA mas nao citam este campo literalmente: REABRE_OS, RETORNA_MOTIVOBLOQUEIO, RETORNA_PRECOITEM, VERIFICA_BLOQUEIO, VIEW_DOCUMENTOSBLOQUEADOS, VIEW_ROF004, VIEW_ROF004_B, VIEW_ROF008.

Comportamento​

O que fazDetalhe
Define dias de garantiaNumero inteiro somado a DT_EMISSAO da OS para calcular a data de vencimento da garantia
Ativa validacao por diasSe preenchido (nao vazio), flagGarantiaDia = True e a rotina ValidaGarantia compara a data final de garantia com a data atual
Desativa validacaoSe vazio/nulo, flagGarantiaDia = False — a garantia por dias nao e verificada ("Vencida" por padrao em alguns cenarios)
Layout de impressaoDisponibiliza DT_GARANTIA calculado para ser usado em relatorios via LOF000

Simulacao passo a passo​

  1. Acesse a tela OFI001 (Parametros de Oficina).
  2. Navegue ate a aba Garantia.
  3. Localize o campo KM p/calc. Data Retorno Tele Vendas/Pos Vendas [MOF001] (NR_DIASGARANTIA).
  4. Informe o valor desejado — por exemplo, 90 para 90 dias de garantia.
  5. Salve alteracoes (<Ctrl+S> ou botao Salvar).
  6. Abra a tela MOF001 e carregue (ou crie) uma ordem de servico.
  7. Observe que ao salvar uma OS com status F (finalizada), os campos DS_GARANTIADIA e DS_GARANTIADIA exibem "Valida" ou "Vencida" com base na comparacao:
    • DT_FINALGARANTIA = DT_EMISSAO + 90 (do ultimo OS finalizada da placa/pessoa)
    • Se DT_FINALGARANTIA >= DT_EMISSAO da OS atual → "Valida", senao → "Vencida".

Resultado esperado: A garantia por dias passa a ser validada automaticamente nas ordens de servico, exibindo se ainda esta dentro do prazo (Valida) ou expirada (Vencida).

Excecao / Importante:

  • O parametro NR_QUILOMETRAGEM (configurado na mesma tela OFI001 — Aba Garantia) trabalha em conjunto: se preenchido, ativa flagGarantiaKm e realiza a validacao por quilometragem de forma similar (NR_KILOMETRAGEM da OS anterior + NR_QUILOMETRAGEM parametro vs. quilometragem da OS atual).
  • Se ambos (NR_DIASGARANTIA e NR_QUILOMETRAGEM) estiverem vazios, todos os flag de garantia ficam desativados e os campos DS_GARANTIADIA/DS_GARANTIADM retornam "Vencida" por padrao quando nao ha OS de referencia.
  • A validacao consulta a ultima OS finalizada (ST_ORDEMSERVICO = 'F') da mesma placa (ou mesma placa + pessoa, dependendo do cenario), ordenada por DT_EMISSAO DESC, NR_ORDEMSERVICO DESC.
  • Em layouts de impressao (LOF000), o campo DT_GARANTIA e calculado como OS.DT_EMISSAO + COALESCE(POF.NR_DIASGARANTIA, 0) — se o parametro for nulo, soma 0 dias.

Tabela comparativa resumida​

CenarioNR_DIASGARANTIANR_QUILOMETRAGEMflagGarantiaDiaflagGarantiaKmComportamento
Ambos vaziosNuloNuloFalseFalseGarantia nao validada; campos exibem "Vencida"
Apenas dias90NuloTrueFalseValida apenas por dias
Apenas kmNulo5000FalseTrueValida apenas por quilometragem
Ambos preenchidos905000TrueTrueValidacao dupla (dias E quilometragem)