Imprimi Página | Fechar janela

Transformar datas setadas em datas automaticas

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=44468
Data da Impressão: segunda-feira, 20 de maio de 2024 at 03:06


Topico: Transformar datas setadas em datas automaticas

Postado por: ANDREAS
Assunto: Transformar datas setadas em datas automaticas
Data Postagem: sexta-feira, 8 de março de 2024 at 10:26

Bom dia

Utilizando a lógica de uma pergunta anterior, consegui utilizar parâmetros de datas automaticas:

nAno := year(dDataBase)
      aCab := {str(nAno-4,4), str(nAno-3,4), str(nAno-2,4), str(nAno-1,4),str(nAno,4)}
      aData1 := {fFatAnual(str(nAno-4,4)),fFatAnual(str(nAno-3,4)), fFatAnual(str(nAno-2,4)), fFatAnual(str(nAno-1,4)), fFatAnual(str(nAno,4))}

Está pegando o ano atual, ano atual-1,-2,-3 e -4
E agora preciso fazer isso para ano/mes e para mes/dia

----
Ex de como estou fazendo com datas setadas, ano/mes:
aData1 := { fFatMensal(‘201901‘),fFatMensal(‘202001‘),fFatMensal(‘202101‘),fFatMensal(‘202201‘),fFatMensal(‘202301‘)}
        aData2 := { fFatMensal(‘201902‘),fFatMensal(‘202002‘),fFatMensal(‘202102‘),fFatMensal(‘202202‘),fFatMensal(‘202302‘)}
        aData3 := { fFatMensal(‘201903‘),fFatMensal(‘202003‘),fFatMensal(‘202103‘),fFatMensal(‘202203‘),fFatMensal(‘202303‘)}
        aData4 := { fFatMensal(‘201904‘),fFatMensal(‘202004‘),fFatMensal(‘202104‘),fFatMensal(‘202204‘),fFatMensal(‘202304‘)}
        aData5 := { fFatMensal(‘201905‘),fFatMensal(‘202005‘),fFatMensal(‘202105‘),fFatMensal(‘202205‘),fFatMensal(‘202305‘)}
        aData6 := { fFatMensal(‘201906‘),fFatMensal(‘202006‘),fFatMensal(‘202106‘),fFatMensal(‘202206‘),fFatMensal(‘202306‘)}
        aData7 := { fFatMensal(‘201907‘),fFatMensal(‘202007‘),fFatMensal(‘202107‘),fFatMensal(‘202207‘),fFatMensal(‘202307‘)}
        aData8 := { fFatMensal(‘201908‘),fFatMensal(‘202008‘),fFatMensal(‘202108‘),fFatMensal(‘202208‘),fFatMensal(‘202308‘)}
        aData9 := { fFatMensal(‘201909‘),fFatMensal(‘202009‘),fFatMensal(‘202109‘),fFatMensal(‘202209‘),fFatMensal(‘202309‘)}
        aData10:= { fFatMensal(‘201910‘),fFatMensal(‘202010‘),fFatMensal(‘202110‘),fFatMensal(‘202210‘),fFatMensal(‘202310‘)}
        aData11:= { fFatMensal(‘201911‘),fFatMensal(‘202011‘),fFatMensal(‘202111‘),fFatMensal(‘202211‘),fFatMensal(‘202311‘)}
        aData12:= { fFatMensal(‘201912‘),fFatMensal(‘202012‘),fFatMensal(‘202112‘),fFatMensal(‘202212‘),fFatMensal(‘202312‘)}    


----
Ex de como estou fazendo com datas setadas, mes/dia:

aData1 à aData31 para cada mes, de Janeiro a fevereiro    
aCab    := {‘Janeiro 2020‘, ‘Janeiro 2021‘, ‘Janeiro 2022‘, ‘Janeiro 2023‘,‘Janeiro 2024‘ }
        aData1 := { fFatMensal(‘20200101‘),fFatMensal(‘20210101‘),fFatMensal(‘20220101‘),fFatMensal(‘20230101‘),fFatMensal(‘20240101‘)}
        aData2 := { fFatMensal(‘20200102‘),fFatMensal(‘20210102‘),fFatMensal(‘20220102‘),fFatMensal(‘20230102‘),fFatMensal(‘20240102‘)}
       



Respostas:

Postado Por: ANDREAS
Data Postagem: sexta-feira, 8 de março de 2024 at 10:28

Preciso que esses parametros: 202401, 202402 .... e 20240101, 20240102 ....
sejam automaticos, sem serem setados, igual no exemplo dos anos:

aData1 := {fFatAnual(str(nAno-4,4)),fFatAnual(str(nAno-3,4)), fFatAnual(str(nAno-2,4)), fFatAnual(str(nAno-1,4)), fFatAnual(str(nAno,4))}



Postado Por: ROBERTOMEN
Data Postagem: sexta-feira, 8 de março de 2024 at 12:47

Boa tarde.



nAno := year(dDataBase) // 2024

//          2020            2021           2022           2023          2024       
aCab := {str(nAno-4,4), str(nAno-3,4), str(nAno-2,4), str(nAno-1,4),str(nAno,4)}

aData1 := {fFatAnual(str(nAno-4,4)),fFatAnual(str(nAno-3,4)), fFatAnual(str(nAno-2,4)), fFatAnual(str(nAno-1,4)), fFatAnual(str(nAno,4))}

//Está pegando o ano atual, ano atual-1,-2,-3 e -4
//E agora preciso fazer isso para ano/mes e para mes/dia



//Ex de como estou fazendo com datas setadas, ano/mes:
aData1 := { fFatMensal(str(nAno-4,4)+‘01‘),fFatMensal(str(nAno-3,4)+‘01‘),fFatMensal(str(nAno-2,4)+‘01‘),fFatMensal(str(nAno-1,4)+‘01‘),fFatMensal(str(nAno,4)+‘01‘)}

aData2 := { fFatMensal(str(nAno-4,4)+‘02‘),fFatMensal(str(nAno-3,4)+‘02‘),fFatMensal(str(nAno-2,4)+‘02‘),fFatMensal(str(nAno-1,4)+‘02‘),fFatMensal(str(nAno,4)+‘02‘)}

aData3 := { fFatMensal(‘201903‘),fFatMensal(‘202003‘),fFatMensal(‘202103‘),fFatMensal(‘202203‘),fFatMensal(‘202303‘)} // é só fazer o mesmo aqui...
aData4 := { fFatMensal(‘201904‘),fFatMensal(‘202004‘),fFatMensal(‘202104‘),fFatMensal(‘202204‘),fFatMensal(‘202304‘)} // é só fazer o mesmo aqui...
aData5 := { fFatMensal(‘201905‘),fFatMensal(‘202005‘),fFatMensal(‘202105‘),fFatMensal(‘202205‘),fFatMensal(‘202305‘)} // é só fazer o mesmo aqui...
aData6 := { fFatMensal(‘201906‘),fFatMensal(‘202006‘),fFatMensal(‘202106‘),fFatMensal(‘202206‘),fFatMensal(‘202306‘)} // é só fazer o mesmo aqui...
aData7 := { fFatMensal(‘201907‘),fFatMensal(‘202007‘),fFatMensal(‘202107‘),fFatMensal(‘202207‘),fFatMensal(‘202307‘)} // é só fazer o mesmo aqui...
aData8 := { fFatMensal(‘201908‘),fFatMensal(‘202008‘),fFatMensal(‘202108‘),fFatMensal(‘202208‘),fFatMensal(‘202308‘)} // é só fazer o mesmo aqui...
aData9 := { fFatMensal(‘201909‘),fFatMensal(‘202009‘),fFatMensal(‘202109‘),fFatMensal(‘202209‘),fFatMensal(‘202309‘)} // é só fazer o mesmo aqui...
aData10:= { fFatMensal(‘201910‘),fFatMensal(‘202010‘),fFatMensal(‘202110‘),fFatMensal(‘202210‘),fFatMensal(‘202310‘)} // é só fazer o mesmo aqui...
aData11:= { fFatMensal(‘201911‘),fFatMensal(‘202011‘),fFatMensal(‘202111‘),fFatMensal(‘202211‘),fFatMensal(‘202311‘)} // é só fazer o mesmo aqui...
aData12:= { fFatMensal(‘201912‘),fFatMensal(‘202012‘),fFatMensal(‘202112‘),fFatMensal(‘202212‘),fFatMensal(‘202312‘)} // é só fazer o mesmo aqui...



//Ex de como estou fazendo com datas setadas, mes/dia:

//aData1 à aData31 para cada mes, de Janeiro a fevereiro    

//            ‘Janeiro 2020‘          ‘Janeiro 2021‘            ‘Janeiro 2022‘            ‘Janeiro 2023‘           ‘Janeiro 2024‘
aCab    := {‘Janeiro ‘+str(nAno-4,4), ‘Janeiro ‘+str(nAno-3,4), ‘Janeiro ‘+str(nAno-2,4), ‘Janeiro ‘+str(nAno-1,4),‘Janeiro ‘+str(nAno,4) }

aData1 := { fFatMensal(str(nAno-4,4)+‘0101‘),fFatMensal(str(nAno-3,4)+‘0101‘),fFatMensal(str(nAno-2,4)+‘0101‘),fFatMensal(str(nAno-1,4)+‘0101‘),fFatMensal(str(nAno,4)+‘0101‘)}
aData2 := { fFatMensal(str(nAno-4,4)+‘0102‘),fFatMensal(str(nAno-3,4)+‘0102‘),fFatMensal(str(nAno-2,4)+‘0102‘),fFatMensal(str(nAno-1,4)+‘0102‘),fFatMensal(str(nAno,4)+‘0102‘)}









Postado Por: ANDREAS
Data Postagem: quinta-feira, 14 de março de 2024 at 10:12

Bom dia

//aData1 à aData31 para cada mes, de Janeiro a fevereiro    

//            'Janeiro 2020'          'Janeiro 2021'            'Janeiro 2022'            'Janeiro 2023'           'Janeiro 2024'
aCab    := {'Janeiro '+str(nAno-4,4), 'Janeiro '+str(nAno-3,4), 'Janeiro '+str(nAno-2,4), 'Janeiro '+str(nAno-1,4),'Janeiro '+str(nAno,4) }

aData1 := { fFatMensal(str(nAno-4,4)+'0101'),fFatMensal(str(nAno-3,4)+'0101'),fFatMensal(str(nAno-2,4)+'0101'),fFatMensal(str(nAno-1,4)+'0101'),fFatMensal(str(nAno,4)+'0101')}
aData2 := { fFatMensal(str(nAno-4,4)+'0102'),fFatMensal(str(nAno-3,4)+'0102'),fFatMensal(str(nAno-2,4)+'0102'),fFatMensal(str(nAno-1,4)+'0102'),fFatMensal(str(nAno,4)+'0102')}

essa parte eu precisava que o mes fosse o mes atual, como eu poderia fazer?
EX:
aData1 := { fFatMensal(str(nAno-4,4)+MesAtual+‘01‘)



Postado Por: ANDREAS
Data Postagem: quinta-feira, 14 de março de 2024 at 10:12

Bom dia

//aData1 à aData31 para cada mes, de Janeiro a fevereiro    

//            'Janeiro 2020'          'Janeiro 2021'            'Janeiro 2022'            'Janeiro 2023'           'Janeiro 2024'
aCab    := {'Janeiro '+str(nAno-4,4), 'Janeiro '+str(nAno-3,4), 'Janeiro '+str(nAno-2,4), 'Janeiro '+str(nAno-1,4),'Janeiro '+str(nAno,4) }

aData1 := { fFatMensal(str(nAno-4,4)+'0101'),fFatMensal(str(nAno-3,4)+'0101'),fFatMensal(str(nAno-2,4)+'0101'),fFatMensal(str(nAno-1,4)+'0101'),fFatMensal(str(nAno,4)+'0101')}
aData2 := { fFatMensal(str(nAno-4,4)+'0102'),fFatMensal(str(nAno-3,4)+'0102'),fFatMensal(str(nAno-2,4)+'0102'),fFatMensal(str(nAno-1,4)+'0102'),fFatMensal(str(nAno,4)+'0102')}

essa parte eu precisava que o mes fosse o mes atual, como eu poderia fazer?
EX:
aData1 := { fFatMensal(str(nAno-4,4)+MesAtual+‘01‘)



Postado Por: NOVANEXUS3
Data Postagem: quarta-feira, 27 de março de 2024 at 15:14

* excluido *



Postado Por: STEELHEART
Data Postagem: segunda-feira, 1 de abril de 2024 at 13:13

Para obter uma lista de datas referentes aos últimos cinco anos, você pode usar o seguinte código:

xBase
Copy code
nAno := year(dDataBase)
aData := {}
FOR i := 0 TO 4
    dData := ctod(‘01/01/‘ + str(nAno - i))
    aData := aData + { dData }
NEXT
Isso criará uma matriz aData com as datas de 01/01/ano_atual até 01/01/ano_atual-4.

Para gerar uma lista de datas para cada mês dos últimos cinco anos, você pode fazer algo assim:

xBase
Copy code
aData := {}
FOR i := 0 TO 4
    FOR j := 1 TO 12
        dData := ctod(str(j, 2) + ‘/01/‘ + str(nAno - i))
        aData := aData + { dData }
    NEXT
NEXT
Isso criará uma lista de datas de 01/01/ano_atual até 01/12/ano_atual e assim por diante, para os últimos cinco anos.

Espero que isso ajude!



Postado Por: STEELHEART
Data Postagem: terça-feira, 2 de abril de 2024 at 03:33

* excluido *



Postado Por: STEELHEART
Data Postagem: terça-feira, 2 de abril de 2024 at 03:34

* excluido *




Imprimir Página | Fechar Janela