Temat: Przekazywanie danych z subraportu

Jak przekazać wartość pola wyliczanego w subraporcie do raportu głównego?
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Poprzez zmienne. Musisz zadeklarować zmienną o takiej samej nazwie w raporcie głównym oraz podraporcie i poprzedzić słówkiem shared, czyli zmienna współdzielona.

Przykład:
http://www.bogge.info/blog/scripting/share-variables-b...Marcin Sulecki edytował(a) ten post dnia 12.11.12 o godzinie 12:05
Sławosz Marcisz

Sławosz Marcisz inspektor, Wydział
Informatyki UM
Katowice

Temat: Przekazywanie danych z subraportu

Hej,
od jakiegoś czasu próbuję przez to przejść i nie wiem, o co chodzi. Robię dwie wartości zgodnie z instrukcją, ale za każdym razem w raporcie głównym pokazuje mi się wartość domyślna / zero. Ta wartość na pewno nie jest poprawna.
Co mam z tym zrobić?
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Upewnij się, że wartość zmiennej w raporcie głównym i podraporcie mają taką samą nazwę oraz obydwie mają słówko kluczowe shared przy deklaracji zmiennej. Poza tym pamiętaj o tym aby położyć formuły na raporcie np. w ReportFooter bo inaczej nie będą wykonane.
Sławosz Marcisz

Sławosz Marcisz inspektor, Wydział
Informatyki UM
Katowice

Temat: Przekazywanie danych z subraportu

W subraporcie mam formułę ilosc_produktow
--- Shared NumberVar Product := 41;
położoną w stopce (sprawdzałem dla widocznej -wtedy widziałem wartość na podglądzie całego raportu - i ukrytej)

W raporcie głównym mam formułę ilosc_produktow
--- Shared NumberVar Product;
--- Product
położoną w dowolnym miejscu.

Dalej nie widzę przypisanej wartości (obecnie statycznie 41 dla testu, ale jak już zadziała, to wartość ma być dynamiczna). Korzystam z wersji 14.0.4.738 RTM.
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Według mnie musisz mieć 3 formuły:
1. W raporcie głównym w Report Header deklarację zmiennej, np.

Shared NumberVar Product;
true;


2. W podraporcie przypisanie do zmiennej

Shared NumberVar Product := 41;


3. W raporcie głównym np. w Report Footer wyświetlenie zmiennej, np.

Shared NumberVar Product;

Product;



To powinno działać.
Sławosz Marcisz

Sławosz Marcisz inspektor, Wydział
Informatyki UM
Katowice

Temat: Przekazywanie danych z subraportu

Dzięki, zadziałało. Kombinuję dalej i widzę to nawet, jak usunę pierwszą deklarację (przynajmniej chwilowo działa).

Ale wstawiając funkcję do pola tekstowego (jako ciąg całego tekstu) wciąż mam format domyślny, pomimo że po wstawieniu pola jako samodzielne - widzę wartość 41 (to mi nie jest w tej chwili potrzebne, ale nie wiem, czy niedługo nie będę musiał w taki sposób działać). Teoretycznie nie powinno to mieć znaczenia, skoro jest widoczna w raporcie głównym wartość, ale może jeszcze trzeba coś zrobić?

EDIT:
Pomyłka ;) Pojawia się wartość w stopce głównego raportu, ale w jego treści wciąż pozostaje 0, nawet po przywróceniu pierwszej procedury w nagłówku raportu...Ten post został edytowany przez Autora dnia 02.10.13 o godzinie 12:09
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Mogę ci podesłać jakiś przykład jeśli problem jest aktualny.
Sławosz Marcisz

Sławosz Marcisz inspektor, Wydział
Informatyki UM
Katowice

Temat: Przekazywanie danych z subraportu

Chętnie przeanalizuję :)
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

W subraporcie mam formułę x
shared NumberVar mater_a;
mater_a := Sum ({GEN_LED_VOUCHER_ROW\.AMOUNT} )
położoną w stopce

W raporcie głównym mam formułę x
Shared NumberVar mater_a ;
mater_a;
położoną w nagłówku grupy

i w chwili uruchomienia raportu formuła w raporcie głównym =0
pomimo, że jak nakliknę na nią to wchodzę do subraportu i ona jest widoczna i wyliczona

dlatego nie wiem co robię źle
pozdrawiam
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Podraport nie może być podraportem na żądanie (opcja On Demand), aby działało przekazywanie zmiennej do głównego raportu.
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

To jak zrobić, żeby podraport był "niewidoczny" ale można na niego kliknąć i sie rozwijał i jeszcze żeby kwota była przekazywana z poraportu do raporu za pomocą miennej
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Obawiam się, że nie ma takiej możliwości. Podraport, który generuje się po kliknięciu, nie ma już kontaktu z głównym raportem.

Jedynie co mi przychodzi do głowy, to umieszczenie zwykłego podraportu (opcja on demand wyłączona) w grupie i ukrycie grupy (opcja Hide). Użytkownik klika na lupę i pojawia się grupa wraz z podraportem na osobnej zakładce. Wówczas raczej powinno działać przekazywanie zmiennej, choć trzeba to sprawdzić.

Ale nie rozumiem do końca sensu biznesowego. Jak nie kliknę w podraport to wartość nie zostanie przeniesiona do raportu głównego. Żebym otrzymał wynik muszę klikać w podraporty?
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

Nie trzeba klikać, kolega pomógł mi rozwiazać sprawę, ale trzeba jednak włączyć zwykły podraport /nie na żądanie/
i ukryć go, a sens biznesowy jest taki, ze muszę na 1 raporcie zmieścić 18 podraportów / wyliczają typy kosztów/ dla wybranych MPK, czyli
MPK x suma kosztów
materiały suma
amortyzacja suma
itd ok.18
MPK y suma kosztów
materiały suma
amortyzacja sama
itd ok.18
itd. dla wszystkich MPK
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

Chciałabym jeszcze zapytać- ile poraportów może być jednocześnie podpiętych do raportu głównego - czy jest jakieś ograniczenie
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Tak, jest ograniczenie do 256 (2^8).

Ale swoją drogą nie przesadzaj z ilością podraportów, bo są one mało wydajne.
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

Wszystko mi działam, ale.. chciałabym prznieść /przekopiować?/ wyliczoną w stopce sumę dla zmiennej do nagłówka gdzie mam osadzony podraport, aby kwota była widoczna przy podraporcie a nie pod nim.
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Jeśli używasz zmiennych to będzie problem z przeniesieniem tego do nagłówka raportu, gdyż wartości będą obliczone później. Najlepiej unikać zmiennych i korzystać tylko z formuł, gdyż wówczas nie ma problemu ze wstawieniem podsumowania do nagłówka.Ten post został edytowany przez Autora dnia 03.08.14 o godzinie 21:42
Jolanta Kokot

Jolanta Kokot informatyk, MPK
Poznań Sp. z o.o.

Temat: Przekazywanie danych z subraportu

nie bardzo rozumiem co oznacza "Najlepiej unikać zmiennych i korzystać tylko z formuł, gdyż wówczas nie ma problemu ze wstawieniem podsumowania do nagłówka." To jak inaczej mam wyliczać kwoty -poproszę o przykład zamiany tej formuły /jak mam przenieść wyliczoną wartość?/
Shared NumberVar material := 0;
material := Sum({GEN_LED_VOUCHER_ROW\.AMOUNT})
Marcin S.

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

Temat: Przekazywanie danych z subraportu

Proszę bardzo, podaję rozwiązanie:

1. Wstaw grupowanie po MPK
2. Utwórz formułę {GEN_LED_VOUCHER_ROW\.AMOUNT}
3. Wybierz z menu Insert Summary, jako pole do sumowania wskaż powyższą formułę, a w Summary Location wybierz grupę #1 MPK
W ten sposób uzyskasz w stopcje grupy (GroupFooter) sumę dla pojedycznego MPK.

OK, pozostało jeszcze podsumowanie całości.

4. Wybierz z menu Insert Summary, wskaż wcześniejszą formułę a w Summary Location wybierz Grand Total.

W stopce raportu (Report Footer) pojawi się podsumowanie wszystkich pozycji. Teraz taką sumę możesz przenieść do nagłówka raportu (Report Header).

Osobiście zmiennych używam bardzo rzadko i tylko wtedy gdy nie ma innego sposobu na rozwiązanie danego problemu.

Powodzenia!

Następna dyskusja:

Jak zmigrowac istniejace ra...




Wyślij zaproszenie do