Seite 1 von 2
Gruppierung nach schulinternen Funktionen
Verfasst: Mittwoch 25. November 2020, 12:09
von apuleius
Ich möchte einen Bericht erstellen, der die Lehrer nach schulinternen Funktionen gruppiert. Andersherum habe ich es bereits hinbekommen, mit einem Bericht mit Pipeline Lehrer und einem Unterbericht mit LehrerAktuelleAbschnittsdaten und darin ein Unterreport für die LehrerFunktionen.
Durch umgekehrte Schachtelung der (Unter)berichte klappt es jedenfalls nicht. Wenn ich in dem innersten Unterbericht auf Lehrer["Name"] zugreife bleibt der Bericht einfach leer.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Mittwoch 25. November 2020, 12:28
von Raffenberg
Hallo,
sie können die Datenpipelines nur in der vorgesehenen Richtung unterkaskadieren. Für ihren konkreten Fall gibt es meiner Meinung nach keine Lösung von Haus aus. Sie müssten eine eigene Datenabfrage erstellen.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Mittwoch 25. November 2020, 23:55
von apuleius
Gibt es ein Fehler-Logbuch für die eingelesenen SPD-Dateien? Ich habe die folgenden Datenabfragen definiert und in dem SchILD-Pipelines-Verzeichnis abgelegt, jedoch taucht es nicht in den Datenquellen auf.
Code: Alles auswählen
[Queries]
__gryFunktionen
__qryFunktionenLehrerAktuellerAbschnitt
;-------------------------------------------------------------------------------------
; Schulinterne Funktionen
;
[Query__qryFunktionen]
Name=__qryFunktionen
InitCommand=select ID, Bezeichnung from K_Schulfunktionen where ID=-1
Command1=select S.ID, S.Bezeichnung
Command2=from K_Schulfunktionen as S
Command3=where S.SchulnrEigner=$SCHULNR$
Command4=order by S.Sortierung
[Datasource__qryFunktionen]
Name=__dsFunktionen
[Pipeline__qryFunktionen]
Name=__pplnFunktionen
OpenDatasource=1
CloseDatasource=1
SkipWhenNoRecords=0
UserName=xxFunktionsdaten
;-------------------------------------------------------------------------------------
; Lehrerdaten mit gegebener Funktion im aktuellem Abschnitt
;
[Query__qryFunktionenLehrerAktuellerAbschnitt]
Name=__qryFunktionenLehrerAktuellerAbschnitt
InitCommand=select '' as NameVorname, Kuerzel from K_Lehrer where ID=-1
Command1=select L.Nachname + ', ' + L.Vorname, L.Kuerzel
Command2=from K_Lehrer as L, EigeneSchule as ES
Command3=where L.Sichtbar = '+' and L.SchulnrEigner=$SCHULNR$ and
Command4=exists (select 1 from LehrerFunktionen as F where F.Funktion_ID=:ID
Command5=and F.Lehrer_ID=L.ID and F.Jahr=ES.Schuljahr and F.Abschnitt=ES.SchuljahrAbschnitt)
Command6=order by L.Nachname
MasterSource=__dsFunktionen
[Datasource__qryFunktionenLehrerAktuellerAbschnitt]
Name=__dsFunktionenLehrerAktuellerAbschnitt
[Pipeline__qryFunktionenLehrerAktuellerAbschnitt]
Name=__pplnFunktionenLehrerAktuellerAbschnitt
OpenDatasource=1
CloseDatasource=1
SkipWhenNoRecords=0
UserName=xxFunktionenLehrerAktuellerAbschnittsdaten
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Donnerstag 26. November 2020, 10:52
von Raffenberg
Ich habe ihnen anbei einen Report als Beispiel gebaut, der das gewünschte Leisten sollte und vielleicht noch ein wenig verschönert werden muss.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Donnerstag 26. November 2020, 12:27
von Uli Dierkes

- Bildschirmfoto 2020-11-26 um 12.25.02.png (21.01 KiB) 1661 mal betrachtet
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Donnerstag 26. November 2020, 14:09
von apuleius
Auweia. Vielen Dank.
Ich habe der Lehrerdatenabfrage noch ein Auswahlkriterium für die Sichtbarkeit hinzugefügt.
In meiner SPD-Datei fehlte noch ein "as NameVorname", denn mit dem namenlosen Ausdruck/Verkettung kann RBuilder nichts anfangen, also ist es nicht einfach reihenfolgebasiert.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Freitag 4. Dezember 2020, 12:36
von apuleius
Raffenberg hat geschrieben: Donnerstag 26. November 2020, 10:52
Ich habe ihnen anbei einen Report als Beispiel gebaut, der das gewünschte Leisten sollte und vielleicht noch ein wenig verschönert werden muss.
Schulfunktionen.rtm
Vielen Dank noch einmal hierfür. Wenn ich in dem BeforePrint-Ereignis des Oberberichtes die RAP-Funktion
Datenliste aufrufe, scheint der Join auf der Funktion-ID nicht richtig zu funktionieren, sodass für die Gruppen nicht immer die korrekten Mitarbeiter aufgeführt werden. Ich habe es auch mit dem BeforePrint-Ereignis von dem Berichtkopf ausprobiert. Mache ich etwas falsch?
Code: Alles auswählen
procedure ReportBeforePrint;
var emailsp, emailsd, vnames, nnames, emails, emailp, emaild, nname, vname, mail : String;
i : Integer;
lLabel: TppLabel;
begin
emailsp := DatenListe(DQ_Lehrer, 'EMail', ';', true);
emailsd := DatenListe(DQ_Lehrer, 'EMailDienstlich', ';', true);
nnames := DatenListe(DQ_Lehrer, 'Nachname', ';', true);
vnames := DatenListe(DQ_Lehrer, 'Vorname', ';', true);
emails := '';
for i := 1 to AnzahlElemente(vnames, ';') do
begin
emailp := EinzelElement(emailsp, ';', i);
emaild := EinzelElement(emailsd, ';', i);
nname := EinzelElement(nnames, ';', i);
vname := EinzelElement(vnames, ';', i);
mail := '';
If emaild <> '' Then
mail := emaild
Else
If emailp <> '' Then
mail := emailp;
If mail <> '' Then
Begin
emails := emails + vname + ' ' + nname + ' <' + mail + '>';
if (i < AnzahlElemente(vnames, ';')) Then
emails := emails + ', ';
End;
End;
Label2.HyperLink := 'mailto:' + emails
end;
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Freitag 4. Dezember 2020, 13:10
von Raffenberg
Ich habe ihre Datensätze mit einem Textfeld ausgegeben und mit den generierten Datensätzen, sowie mit den Datentabellen verglichen. Ich kann keinen Unterschied erkennen. Im Hauptreport wird nur der erste Datensatz des Subreports angezeigt.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Samstag 5. Dezember 2020, 11:48
von apuleius
Bei mir werden bei jeder Gruppe wiederholt die Daten der ersten Gruppe auf der jeweiligen Seite ausgegeben.
Edit: Jetzt funktioniert es. Ich habe fälschlicherweise angenommen, die Gruppierung wäre bereits aktiviert. Nachdem ich die Gruppierung aktiviert habe, war es möglich den Code in Groups[0] > Header > BeforePrint zu kopieren, der dann wirklich gruppenweise, nicht seitenweise aufgerufen wird.
Re: Gruppierung nach schulinternen Funktionen
Verfasst: Montag 12. September 2022, 13:16
von J. Siegert
Hallo,
unser Sekretariat hat heute ebenfalls Interesse nach dieser Gruppierung geäußert. Wäre es möglich, dass Sie die funktionierende Liste hier hochladen?
Danke schön!
Viele Grüße
J. Siegert