DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
eremita
 


País:
Estado:
Cidade:
Mensagens: 43
 Postado em: 9/9/2010 10:38:44 AM

Gostaria de saber se alguem possui uma função e possa disponibilizar, aonde informado uma data e a mesma retorne o próximo dia útil levando em consideração finais de semana e feriados.
 
Desde ja agradeço,
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 9/9/2010 10:53:50 AM

{Retorna o próximo dia útil caso a data informada caia em um fim de semana}
Function ProximoDiaUtil (dData : TDateTime) : TDateTime;
begin
   
if DayOfWeek(dData) = 7 then
      dData
:= dData + 2
   
else if DayOfWeek(dData) = 1 then
      dData
:= dData + 1;
   
ProximoDiaUtil := dData;
end;

Não esqueça de declarar Date Utils no Uses de sua Unit.

 
Quanto a feriados você tem que criar no seu sistema uma tabela de feriados móveis e pegar a data passada como parâmetro e ver se existe na tabela, se existir, soma mais um dia.

 
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 9/9/2010 10:54:14 AM

DateUtils é junto.
eremita
 


País:
Estado:
Cidade:
Mensagens: 43
 Postado em: 9/9/2010 11:24:29 AM

Minha principal dúvida é quanto a estrutura para tratar os feriados e finais de semana.
 
Imagina a possibilidade de uma data informada seja um feriado e que este caia numa sexta, ele ira para segunda, mas vamos supor que segunda tenhamos outro feriado.
 
Imagina ainda 2 feriados seguidos.
 
Estou apenas pensando nas possibilidade e não querendo dificultar as coisas.
 
Espero que me entendam,
 
ERILEY VILAGRANDE BARBOSA
 

 


País: Brasil
Estado: RS
Cidade: Alegrete
Mensagens: 700
 Postado em: 9/9/2010 01:24:39 PM

Imagino que você deva fazer um Loop para a parte de feriados com uma variavel de controle Booleana, enquanto for true, continua fazendo o select e vendo se é feriado e somando + 1 a data, quando o select retornar vazio atribui falso e sai do laço e grava a data na tabela.
Emerson
 

 


País: Brasil
Estado: SP
Cidade: São Paulo
Mensagens: 938
 Postado em: 9/9/2010 02:43:28 PM

veja se a idéia desta stored procedure pode te ajudar.
eremita
 


País:
Estado:
Cidade:
Mensagens: 43
 Postado em: 11/9/2010 08:42:33 AM

Ótimo, justamente o que preciso.
 
Muito obrigado.
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03