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, 2 de dezembro de 2024 at 10:50 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 |