ST_HORARIOVERAOAUTO - Período do Horário de Verão (Comportamento)
Tela de configuração: ADM010 — Parâmetros do Sistema
Aba: Horário de Verão
Controle: CheckboxchkST_PERIODOAUTOMATICO
Tabela:PARMSISTEMA.ST_HORARIOVERAOAUTO
Tipo:CHAR(1)
Valor padrão:S(Marcado / Automático)
Telas impactadas
| Tela | Arquivo | Impacto |
|---|---|---|
| ADM010 — Parâmetros do Sistema | source/ADM010/UADM010.dfm | Campo de configuração direta |
Campos envolvidos
| Campo | Tipo | Padrão | Nulo | Descrição |
|---|---|---|---|---|
ST_HORARIOVERAOAUTO | CHAR(1) | S | NOT NULL | Indica se o período do horário de verão é calculado automaticamente |
DT_INICIOHRVERAO | TIMESTAMP | — | NULL | Data/hora de início do horário de verão (usado quando o modo automático está desativado) |
DT_FIMHRVERAO | TIMESTAMP | — | NULL | Data/hora de término do horário de verão (usado quando o modo automático está desativado) |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
Marcado (S) | O sistema calcula automaticamente o período de início e fim do horário de verão com base no Decreto nº 9.242/2017 (1º domingo de novembro até o 3º domingo de fevereiro) |
Desmarcado (N) | O sistema utiliza as datas manuais registradas em DT_INICIOHRVERAO e DT_FIMHRVERAO |
S - Período Automático (checkbox marcado)
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Abra a aba Horário de Verão.
- Marque a opção Período do Horário de Verão.
- Salve o registro.
- Sempre que o sistema precisar consultar o período do horário de verão, a procedure
RETORNA_HORARIOVERAOretorna automaticamente o primeiro domingo de novembro como início e o terceiro domingo de fevereiro como fim, com ajuste caso coincida com o domingo de carnaval.
Resultado esperado: As datas de início e fim do horário de verão são calculadas automaticamente pelo sistema, sem necessidade de preenchimento manual de DT_INICIOHRVERAO e DT_FIMHRVERAO.
Exceção / Importante: O horário de verão foi desativado no Brasil em 2019 (Decreto nº 10.000/2019). A procedure
RETORNA_HORARIOVERAOcontém a lógicaWHILE V_NR_ANO <= 2019, o que limita o cálculo automático a anos até 2019. Para anos posteriores, mesmo com a opção marcada, a procedure não retorna períodos válidos. Consulte a equipe de desenvolvimento para atualização da regra caso necessário.
N - Período Manual (checkbox desmarcado)
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Abra a aba Horário de Verão.
- Desmarque a opção Período do Horário de Verão.
- Preencha o campo Data Início Horário de Verão (
DT_INICIOHRVERAO) com a data/hora desejada (ex.:04/11/2024 00:00:00). - Preencha o campo Data Fim Horário de Verão (
DT_FIMHRVERAO) com a data/hora desejada (ex.:17/02/2025 23:59:59). - Salve o registro.
Resultado esperado: O sistema utilizará as datas manuais informadas em DT_INICIOHRVERAO e DT_FIMHRVERAO para definir o período do horário de verão, ignorando o cálculo automático.
Importante: Se o checkbox estiver desmarcado e as datas manuais (
DT_INICIOHRVERAO/DT_FIMHRVERAO) não forem preenchidas, o sistema não terá um período de horário de verão ativo. Isso pode impactar cálculos de horário em operações sensíveis ao fuso/sazonalidade.
Relação com
DT_INICIOHRVERAOeDT_FIMHRVERAO: Ambos estão configurados na mesma tela — ADM010, aba Horário de Verão. QuandoST_HORARIOVERAOAUTO = 'S', esses campos são opcionais (o cálculo automático prevalece). QuandoST_HORARIOVERAOAUTO = 'N', o preenchimento desses campos se torna necessário para que o sistema defina o período corretamente.
Procedures e SQL impactados
Referências SQL diretas ao campo
Não foi encontrada referência direta ao campo ST_HORARIOVERAOAUTO em scripts SQL externos à tela ADM010. O campo é lido/gravado exclusivamente pelo módulo Delphi de ADM010.
Procedure relacionada ao tema de horário de verão
| Procedure | Arquivo | Descrição |
|---|---|---|
RETORNA_HORARIOVERAO | Scripts/RETORNA_HORARIOVERAO.sql | Calcula automaticamente as datas de início e fim do horário de verão (1º domingo de novembro até 3º domingo de fevereiro), com ajuste para carnaval. Limitada a anos até 2019. |
Candidatas por uso da tabela PARMSISTEMA
As procedures abaixo utilizam a tabela PARMSISTEMA mas não citam o campo ST_HORARIOVERAOAUTO literalmente. Não há evidência de impacto funcional direto pelo uso desse parâmetro nessas rotinas:
ARRUMA_MASCARACONTA, ATUALIZA_CONTACONTABIL, CALCULA_TEMPOPERMANENCIA, CONTABILIZA_CUPOMFISCAL, ENDERECOPESSOA_BI0, GERA_CONTACLIFOR, GERA_DARF, GERA_PLANOFILIAL, GERA_SPEDBLOCOL, GERA_SPEDCONTABIL, GERA_SPEDCONTABIL_0000, GERA_SPEDECF, GERA_SPEDECFBLOCOJ, GERA_SPEDECFBLOCOK155, GERA_SPEDECFBLOCOK355, GERA_SPEDECFBLOCOL210, GERA_SPEDECFBLOCOY, GRAVA_REGISTROSPED0500, IMPORTA_ARQUIVOMAGNETICO, INCLUI_IMPOSTONOTACTB.
Tabela Comparativa Resumida
| Valor | Estado do Checkbox | Comportamento | Depende de |
|---|---|---|---|
S | Marcado | Cálculo automático (base Decreto 9.242/2017) | Procedure RETORNAHORARIOVERAO |
N | Desmarcado | Usa datas manuais | DT_INICIOHRVERAO e DT_FIMHRVERAO |