Marcin S.

Marcin S. BI Consultant, ETL
developer

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Witam,

w Page Footerze raportu wyswietlam date i czas generowania raportu.

Czas wygenerowania raportu obsluguje formula (raport generowany w roznych strefach czasowych):

Time(GetLocalTimeFromGMT({?SPTimeZone}, ShiftDateTime(CurrentDateTime, PrintTimeZone, ",0")))

Dziala prawie dobrze.
Godzina na 1-szej stronie to np. 09:10:20, na drugiej stronie tak samo, ale na 3ciej jest juz inna, np. 09:10:45 . Mam wiec przesuniecie o 25 sekund, natomiast wyswietlana godzina powinna byc jednakowa dla calego raportu, niezaleznie od tego ile uplynelo czasu na pobieranie danych i wyswietlanie ich na kolejnych stronach raportu.

Bede wdzieczny za sugestie, porady.

Pozdrawiam
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

A czy nie lepiej zamiast CurrentDateDatime drukować datę pobierania danych?
Funkcje: DateDate i DateTime
Marcin S.

Marcin S. BI Consultant, ETL
developer

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Date obsluguje w ten sposob:

UpperCase (toText(GetLocalTimeFromGMT({?SPTimeZone}, ShiftDateTime(CurrentDateTime, PrintTimeZone, ",0")),'dd-MMM-yyyy'))

I to jest ok.

Natomiast jesli zamiast CurrentDateTime mialbym uzyc DateTime dla wyswietlania czasu, to czy na kazdej stronie bedzie zawsze jednakowy czas (w strefie czasowej usera) ?
Jakos nie bardzo to czuje.

Probowalem rowniez tak:

Time(GetLocalTimeFromGMT({?SPTimeZone}, ShiftDateTime((PrintDate + PrintTime), PrintTimeZone, ",0")))

ale z PrintTime rowniez jest przesuniecie na kolejnych stronach.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Nie DateTime, lecz DataTime, czyli czas ostatniego pobrania danych z bazy danych. To jest czas odświeżenia danych z bazy danych, więc to będzie ten sam czas dla całego raportu.

PrintTime to natomiast data wydruku raportu i ona jak widać może się różnic na poszczególnych stronach.

Data danych i data wydruku mogą się bardzo różnić. Dzisiaj odświeżamy raport, a drukujemy go dopiero jutro.

Dlatego zalecam stosowanie DataTime i DataDate zamiast PrintTime i PrintDate, gdyż końcowego użytkownika raportu interesuje bardziej informacja z kiedy pochodzą dane, a nie kiedy raport został faktycznie wydrukowany.

Powodzenia!
Marcin S.

Marcin S. BI Consultant, ETL
developer

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

No tak, DataTime nie DateTime - za malo kawy popoludniowej ;)

Wiec moje formuly wygladaja tak:

data:
UpperCase (toText(GetLocalTimeFromGMT({?SPTimeZone}, ShiftDateTime((DataDate + DataTime), PrintTimeZone, ",0")),'dd-MMM-yyyy'))

czas:
Time(GetLocalTimeFromGMT({?SPTimeZone}, ShiftDateTime((DataDate + DataTime), PrintTimeZone, ",0")))

Wyglada na to, ze dzialaja - biorac pod uwage mala ilosc kawy popoludniu ;)

Dzieki!
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Cieszę się :)

Ale drobna uwaga: dlaczego formatujesz datę za pomocą funkcji UpperCase i ToText?
Czy nie lepiej użyć po prostu formatowania?
Marcin S.

Marcin S. BI Consultant, ETL
developer

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

A czy zwyklym formatowaniem osiagne efekt: 'dd-MMM-yyyy', np. 20-JUL-2012 ?
Na pewno da sie '20-jul-2012'.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Marcin S.:
A czy zwyklym formatowaniem osiagne efekt: 'dd-MMM-yyyy', np. 20-JUL-2012 ?
Na pewno da sie '20-jul-2012'.

Faktycznie, jeśli chcesz aby nazwa miesiąca była wielkimi literami, to trzeba użyć funkcji.
W opcjach formatowania nie można tego ustawić.
Marcin S.

Marcin S. BI Consultant, ETL
developer

Temat: Rozny czas generowania raportu na poszczegolnych stronach...

Marcin Sulecki:
Marcin S.:
A czy zwyklym formatowaniem osiagne efekt: 'dd-MMM-yyyy', np. 20-JUL-2012 ?
Na pewno da sie '20-jul-2012'.

Faktycznie, jeśli chcesz aby nazwa miesiąca była wielkimi literami, to trzeba użyć funkcji.
W opcjach formatowania nie można tego ustawić.

Coz, 'biznes' chce, to 'biznes' ma ;)

cheers.

Następna dyskusja:

Blad generowania raportu z ...




Wyślij zaproszenie do