Gruppierung nach schulinternen Funktionen

Entwicklung und Austausch neuer Formulare

Moderatoren: Raffenberg, A. Schüller, Pfotenhauer

apuleius
Beiträge: 34
Registriert: Sonntag 8. November 2020, 20:29
Schulform: FW

Gruppierung nach schulinternen Funktionen

Beitrag 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.
Benutzeravatar
Raffenberg
Beiträge: 2230
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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.
Mit freundlichen Grüßen
Jens Raffenberg
apuleius
Beiträge: 34
Registriert: Sonntag 8. November 2020, 20:29
Schulform: FW

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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
Benutzeravatar
Raffenberg
Beiträge: 2230
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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.
Schulfunktionen.rtm
(22.45 KiB) 73-mal heruntergeladen
Mit freundlichen Grüßen
Jens Raffenberg
Benutzeravatar
Uli Dierkes
Beiträge: 1127
Registriert: Sonntag 2. Dezember 2018, 17:02
Wohnort: Wegberg
Schulform: Gesamtschule (a.D.)
Motto: Nicht verzagen ... fragen
Kontaktdaten:

Re: Gruppierung nach schulinternen Funktionen

Beitrag von Uli Dierkes »

Bildschirmfoto 2020-11-26 um 12.25.02.png
Bildschirmfoto 2020-11-26 um 12.25.02.png (21.01 KiB) 1210 mal betrachtet
8-)      .   Einen guten Tag wünscht     Uli Dierkes
apuleius
Beiträge: 34
Registriert: Sonntag 8. November 2020, 20:29
Schulform: FW

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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.
apuleius
Beiträge: 34
Registriert: Sonntag 8. November 2020, 20:29
Schulform: FW

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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;
Mitarbeiter Gruppen E-Mails.rtm
(31.44 KiB) 58-mal heruntergeladen
Benutzeravatar
Raffenberg
Beiträge: 2230
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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.
Mit freundlichen Grüßen
Jens Raffenberg
apuleius
Beiträge: 34
Registriert: Sonntag 8. November 2020, 20:29
Schulform: FW

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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.
J. Siegert
Beiträge: 89
Registriert: Sonntag 6. Januar 2019, 13:45
Schulform: Gymnasium

Re: Gruppierung nach schulinternen Funktionen

Beitrag 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
Antworten

Zurück zu „Formulare - Austausch und Entwicklung“