Árvore de páginas

Função: DateWorkDay

                Retorna a quantidade de dias úteis entre duas datas.

Sintaxe:

                DateWorkDay( [dDateIni] , [dDateFin] , [lSaturday] , [lSunday] ,[lHoliday] )

Parâmetros/Elementos

Nome

Tipo

Descrição

Obrigatório

Referência

dDateIni

Data

Data Inicial

X


dDateFin

Data

Data Final

X


lSaturday

Lógico

Indica se, verdadeiro (.T.), considera sábado como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.).



lSunday

Lógico

Indica se, verdadeiro (.T.),  considera domingo como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.).



lHoliday

Lógico

Indica se, verdadeiro (.T.), considera feriado como dia útil; caso contrário (.F.). Conteúdo padrão é verdadeiro (.F.).




Retorno:

Nome

Tipo

Descrição

nRet

Numérico

Número de dias úteis entre as datas passadas por parâmetros.


Observações:

A função DateWorkDay consulta os feriados cadastrados na Tabela Genérica 63. (SX5)

Exemplo:

#INCLUDE "Protheus.ch"



User Function ExDateWorkDay()


Local cMsg      := ""

Local dDateIni  := StoD("20200401")

Local dDateFin  := StoD("20200430")


Local lSaturday  := .F.

Local lSunday    := .F.

Local lHoliday   := .F.


Local  nRet     := 0


//Dias úteis Abril 2020 sem considerar fim de semana  e feriados como dia útil.

lSaturday  := .F.

lSunday    := .F.

lHoliday   := .F.


nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )

cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 sem considerar fim de semana  e feriados como dia útil." + CRLF + CRLF


//Dias úteis Abril 2020 considerando sábado como dia útil.

lSaturday  := .T.

lSunday    := .F.

lHoliday   := .F.


nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )

cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado como dia útil." + CRLF + CRLF

        

//Dias úteis Abril 2020 considerando sábado e domingo como dia útil.

lSaturday  := .T.

lSunday    := .T.

lHoliday   := .F.


nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )      

cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado e domingo como dia útil." + CRLF + CRLF


//Dias úteis Abril 2020 considerando sábado e domingos e feriados como dia útil.

lSaturday  := .T.

lSunday    := .T.

lHoliday   := .T.


nRet := DateWorkDay(dDateIni,dDateFin,lSaturday,lSunday ,lHoliday )

cMsg += cValToChar(nRet)+" Dias úteis Abril 2020 considerando sábado e domingos e feriados como dia útil." + CRLF + CRLF


MsgInfo(cMsg,"Exemplo função DateWorkDay")


Return Nil