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
| Tela | Nome | Como e afetada |
|---|---|---|
| MOF001 | Manutencao de Ordem de Servico | Exibe campos DS_GARANTIADIA ("Valida" ou "Vencida") ao validar garantia; calcula DT_FINALGARANTIA = DT_EMISSAO + NR_DIASGARANTIA |
| LOF000 | Layout Ordem de Servico | Disponivel campo DT_GARANTIA para impressao nos layouts (OS.DT_EMISSAO + COALESCE(POF.NR_DIASGARANTIA, 0)) |
| MOF001 (internamente) | Indicador de retorno | O label referencia "Tele Vendas/Pos Vendas" — usado como base para calculo de data de retorno do cliente |
Campos envolvidos
| Campo | Tabela | Tipo | Origem |
|---|---|---|---|
NR_DIASGARANTIA | PARMOFICINA | INTEGER | Configurado em OFI001 |
DT_EMISSAO | ORDEMSERVICO | DATE/TIMESTAMP | Data de emissao da OS |
DS_GARANTIADIA | ORDEMSERVICO (campo calculado) | String | Resultado da validacao: "Valida" ou "Vencida" |
DT_FINALGARANTIA | Calculo em SQL | Date | DT_EMISSAO + NR_DIASGARANTIA |
Procedures impactadas
Rotinas Delphi com referencia direta
| Rotina | Arquivo | Impacto |
|---|---|---|
iniciar | source/MOF001/UMOF001.pas:722 | Define flagGarantiaDia := True se o parametro for informado (nao vazio), senao False |
ValidaGarantia | source/MOF001/UdmMOF001.pas:6327, 6365 | Consulta SQL: OS.DT_EMISSAO + COALESCE(P.NR_DIASGARANTIA, 0) DT_FINALGARANTIA; compara com DT_EMISSAO da OS atual para decidir "Valida" ou "Vencida" |
ExecLayout | source/LOF000/ULOF000.pas:202 | Disponibiliza 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 faz | Detalhe |
|---|---|
| Define dias de garantia | Numero inteiro somado a DT_EMISSAO da OS para calcular a data de vencimento da garantia |
| Ativa validacao por dias | Se preenchido (nao vazio), flagGarantiaDia = True e a rotina ValidaGarantia compara a data final de garantia com a data atual |
| Desativa validacao | Se vazio/nulo, flagGarantiaDia = False — a garantia por dias nao e verificada ("Vencida" por padrao em alguns cenarios) |
| Layout de impressao | Disponibiliza DT_GARANTIA calculado para ser usado em relatorios via LOF000 |
Simulacao passo a passo
- Acesse a tela OFI001 (
Parametros de Oficina). - Navegue ate a aba Garantia.
- Localize o campo
KM p/calc. Data Retorno Tele Vendas/Pos Vendas [MOF001](NR_DIASGARANTIA). - Informe o valor desejado — por exemplo,
90para 90 dias de garantia. - Salve alteracoes (
<Ctrl+S>ou botao Salvar). - Abra a tela MOF001 e carregue (ou crie) uma ordem de servico.
- Observe que ao salvar uma OS com status
F(finalizada), os camposDS_GARANTIADIAeDS_GARANTIADIAexibem"Valida"ou"Vencida"com base na comparacao:DT_FINALGARANTIA = DT_EMISSAO + 90(do ultimo OS finalizada da placa/pessoa)- Se
DT_FINALGARANTIA >= DT_EMISSAOda 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, ativaflagGarantiaKme realiza a validacao por quilometragem de forma similar (NR_KILOMETRAGEMda OS anterior +NR_QUILOMETRAGEMparametro vs. quilometragem da OS atual).- Se ambos (
NR_DIASGARANTIAeNR_QUILOMETRAGEM) estiverem vazios, todos os flag de garantia ficam desativados e os camposDS_GARANTIADIA/DS_GARANTIADMretornam"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 porDT_EMISSAO DESC, NR_ORDEMSERVICO DESC.- Em layouts de impressao (LOF000), o campo
DT_GARANTIAe calculado comoOS.DT_EMISSAO + COALESCE(POF.NR_DIASGARANTIA, 0)— se o parametro for nulo, soma0dias.
Tabela comparativa resumida
| Cenario | NR_DIASGARANTIA | NR_QUILOMETRAGEM | flagGarantiaDia | flagGarantiaKm | Comportamento |
|---|---|---|---|---|---|
| Ambos vazios | Nulo | Nulo | False | False | Garantia nao validada; campos exibem "Vencida" |
| Apenas dias | 90 | Nulo | True | False | Valida apenas por dias |
| Apenas km | Nulo | 5000 | False | True | Valida apenas por quilometragem |
| Ambos preenchidos | 90 | 5000 | True | True | Validacao dupla (dias E quilometragem) |