Temat: Wartości z głównego raportu w sub raporcie

W raporcie głównym mam zrobioną formułę która liczy mi wartość FV po procentowym rabacie i wygląda tak: {@WartoscBruttoDoZaplaty}*0.01

Chciałem aby była widoczna też w sub reporcie ale po użyciu tej instrukcji :

SUB REPORT whileprintingrecords; SHARED Numbervar X := x + {field};

MAIN whileprintingrecords; SHARED Numbervar X; X
(oczywiście przerobionej na moje potrzeby) jedyne co wyświetla mi na subreporcie to wartość 0.00 zamiast obliczonej kwoty.

W którym miejscu popełniłem błąd albo co po drodze zrobiłem nie tak?
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Spróbuj podstawić zamiast formuły {@WartoscBruttoDoZaplaty} podstawić jakąś stałą wartość i zobacz czy wynik będzie różny od 0. Jeśli tak, to problem leży w kolejności obliczania formuł.

Zastosuj wówczas funkcję EvaluateAfter, np.
 
EvaluateAfter({@WartoscBruttoDoZaplaty})

Temat: Wartości z głównego raportu w sub raporcie

Ok zadziałało.

Mam jeszcze jeden problem w ten sam sposób nie mogę przekazać do głównego raportu pozycji nr zamówienia klienta.

W sub report mam formułę:

WhilePrintingRecords;
Shared Numbervar EvTotal:= EvaluateAfter({@NrZam});
/ gdzie @NrZam wygląda tak: {ZAMOWIENIE.NR_ZAMOWIENIA_KLIENTA}

W głównym raporcie mam formułę która wygląda tak:
Shared NumberVar EvTotal;
EvTotal

Jednak tutaj też w jej wyniku wyświetla mi 0.00 nawet po zastosowaniu EvaluateAfter.
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Musisz jeszcze w nagłówku głównego raportu umieścić dodatkową formułę do inicjalizacji zmiennej:


Shared NumberVar EvTotal = 0;

Temat: Wartości z głównego raportu w sub raporcie

Umieściłem tą formułę w nagłówku tak jak pisałeś ale nadal mam wynik 0.00
A w miejscu gdzie w nagłówku wkleiłem nową formułę mam zamiast niej wynik True.Ten post został edytowany przez Autora dnia 25.01.23 o godzinie 09:21
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Czy podraport znajduje się w sekcji detali?
Wypisz najlepiej wszystkie formuły i sekcje w których się znajdują.Ten post został edytowany przez Autora dnia 26.01.23 o godzinie 08:30

Temat: Wartości z głównego raportu w sub raporcie

Formuła: Shared NumberVar EvTotal = 0; - umieszczona w sekcji Report Header b - raport główny

Formuła: Shared NumberVar EvTotal;EvTotal - umieszczona w sekcji Details g - raport główny

I formuła z podraportu:
WhilePrintingRecords;
Shared Numbervar EvTotal:= EvaluateAfter({@NrZam});

tej nie umieszczałem nigdzie po prostu dodałem ją do Formula Fields i zapisałem.
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Formuła musi być umieszczona na raporcie aby została wykonana.

Temat: Wartości z głównego raportu w sub raporcie

WhilePrintingRecords;
Shared Numbervar EvTotal:= EvaluateAfter({@NrZam});

Umieściłem ją w pod raporcie a mimo tego nadal mam wynik 0.00
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Spróbuj prześledzić przykład:
https://userapps.support.sap.com/sap/support/knowledge/...

Temat: Wartości z głównego raportu w sub raporcie

Odgrzebuję temat.
Czy da się w ten sam sposób udostępnić formułę której wynikiem jest sam tekst?
Nie bardzo mi to wychodzi.
Nie wiem jaką zmienną należy zadeklarować aby udało się to udostępnić?
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Pytanie podstawowe - chcesz przekazać wartość z głównego raportu do podraportu czy odwrotnie?

Temat: Wartości z głównego raportu w sub raporcie

Z pod raportu do głównego raportu tym razem
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

1. W raporcie głównym utwórz formułę @MainFormula

WhilePrintingRecords;
Shared CurrencyVar myTotal;
myTotal


2. Umieść formułę @MainFormula w sekcji gdzie znajduje się podraport

3. W podraporcie utwórz formułę @SubFormula

WhilePrintingRecords;
Shared CurrencyVar myTotal := Sum ({Orders.Total Amount})


4. Umieść formułę @SubFormula w stopce raportu (Report Footer) w podraporcie

Temat: Wartości z głównego raportu w sub raporcie

CurrencyVar

wymaga ode mnie waluty a mi chodzi o udostepnienie tekstu z zastosowanej w pod raporcie formuły (jej wynikiem jest tekst + kilka cyfr).
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

CurrencyVar to tylko przykładowy typ.

W twoim przypadku zamień na StringVar
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

1. W raporcie głównym utwórz formułę @MainFormula

WhilePrintingRecords;
Shared StringVar myMessage;
myMessage


2. Umieść formułę @MainFormula w sekcji gdzie znajduje się podraport

3. W podraporcie utwórz formułę @SubFormula

WhilePrintingRecords;
Shared StringVar myMessage := "Hello Subreport"


4. Umieść formułę @SubFormula w stopce raportu (Report Footer) w podraporcie
Marcin S.

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

Temat: Wartości z głównego raportu w sub raporcie

Jeśli potrzebujesz połączenia tekstu i liczby zastosuj funkcję ToText

WhilePrintingRecords;
Shared StringVar myMessage := "{Order.Number}" + ToText({Order.TotalAmount})


Funkcja ToText umożliwia dostosowanie formatu liczby za pomocą dodatkowych parametrów - patrz dokumentacja.



Wyślij zaproszenie do