Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
mercadante
Creator
Creator

Como criar calendario com mes customizado

Caros, Bom dia!

Preciso criar um calendário em que os meses se iniciem em 16 e finalizem em 15 Ex;

Quando eu selecionar mês de abril ele exiba as datas de 16/04 a 15/05.

Alguém sabe como faze isso?

Utilizo o código abaixo para criar o calendario

SUB CriarCalendario(nomeTabela, sufixoCampos, DataInicio, DataFim)

        [$(nomeTabela)]:                                                                      

       LOAD

      

       [Data]                                         AS [Data$(sufixoCampos)]

                ,      Day([Data])                                     AS [Dia$(sufixoCampos)]

             ,      Week([Data])                                   AS [Semana$(sufixoCampos)]

                ,      Month([Data])                                   AS [Mês$(sufixoCampos)]

             ,      Ceil(Month([Data]) / 3) & '° Trim'       AS [Trimestre$(sufixoCampos)]

                ,      Year([Data])                                   AS [Ano$(sufixoCampos)]

                ,  Date(MonthStart([Data]),'MMM/YYYY') AS [MêsAno$(sufixoCampos)]

            

             ,      1 + Ceil(([Data] - Floor(WeekEnd(MonthStart([Data]), 0, -1))) / 7) & 'ª sem'

                                                                                 AS [Semana do Mês$(sufixoCampos)]

             ,      If([Data] = AddMonths(MonthStart(Data), 1) - 1, 1, 0)

                                                                                 AS [É Último Dia Mês$(sufixoCampos)]

                                                                               

             ,      MonthStart(AddMonths([Data], 1)) - MonthStart([Data])

                                                                                 AS [Quantidade Dias Mês$(sufixoCampos)];                                                                                                                                                                                                                                                                                                                                                                                                            

       LOAD

                     Date(Date($(vDataIni), 'DD/MM/YYYY') -1 + RecNo(),'DD/MM/YYYY')                   AS [Data]

        AUTOGENERATE

                     Date($(vDataFim), 'DD/MM/YYYY') - Date($(vDataIni), 'DD/MM/YYYY')+1;

                                                                                

ENDSUB;

chamada da sub

[Calendario Auxiliar]:

load

min(Data) as [Data Inicio],

max(Data) as [Data Fim]

//NUM(TODAY()) as [Data Fim]

//Resident [CHAVE VENDA/ATIVACAO];

Resident [APONTAMENTOS];

let vDataIni = Peek('Data Inicio');

let vDataFim = peek('Data Fim');

drop tables [Calendario Auxiliar];

call CriarCalendario('CALENDARIO','',$(vDataIni),$(vDataFim));

6 Replies
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo;

Eu publiquei um App de exemplo para essa situação, segue;

z_Tratando_corte_datas.qvf

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mercadante
Creator
Creator
Author

Bom dia Mario,

Vou tentar implementar sua ideia, agradeço pela ajuda

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo, conseguiu?

Abraço

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mercadante
Creator
Creator
Author

Mario, ainda estou implementando, tive que resolver outros problemas que apareceram no desenvolvimento.

mario_sergio_ti
Partner - Specialist
Partner - Specialist

Tudo bem... Fico no aguardo para ajudar.

Abraço.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti
mario_sergio_ti
Partner - Specialist
Partner - Specialist

Amigo;

Se possível e for o caso, marque as respostas apropriadas como Útil e/ou Correta para que outros membros possam saber que a sua pergunta foi respondida.

Abraço.

Consultor certificado | Quem compartilha, aprende!
https://www.linkedin.com/in/mariosergioti