|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Transformar datas setadas em datas automaticas |
|
Versão: |
12.1.33 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
SQL Server |
Complemento: |
|
|
|
|
|
Mensagem do
ANDREAS
em 08/03/2024, 10:26 h
Local: SP Registro: 25/09/2023 Postagens: 79 |
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‘)}
|
|
|
Mensagem do
ANDREAS
em 08/03/2024, 10:28 h
Local: SP Registro: 25/09/2023 Postagens: 79 |
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))} |
|
|
Mensagem do
ROBERTOMEN
em 08/03/2024, 12:47 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
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‘)}
|
|
|
Mensagem do
ANDREAS
em 14/03/2024, 10:12 h
Local: SP Registro: 25/09/2023 Postagens: 79 |
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‘) |
|
|
Mensagem do
ANDREAS
em 14/03/2024, 10:12 h
Local: SP Registro: 25/09/2023 Postagens: 79 |
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‘) |
|
|
Mensagem do
NOVANEXUS3
em 27/03/2024, 15:14 h
Local: SP Registro: 27/03/2024 Postagens: 2 |
* excluido * |
|
|
Mensagem do
STEELHEART
em 01/04/2024, 13:13 h
Local: SP Registro: 01/04/2024 Postagens: 3 |
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! |
|
|
Mensagem do
STEELHEART
em 02/04/2024, 03:33 h
Local: SP Registro: 01/04/2024 Postagens: 3 |
* excluido * |
|
|
Mensagem do
STEELHEART
em 02/04/2024, 03:34 h
Local: SP Registro: 01/04/2024 Postagens: 3 |
* excluido * |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|