<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2023.1" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Maximized="False" PreviewOptions.Zoom="1" PrintOptions.Printer="Vorgabe" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39376,6513221528" ReportOptions.Description.Text="" ReportOptions.LastChange="45643,5395744792" ScriptLanguage="PascalScript" ScriptText.Text="var&#13;&#10;  aa,mit,schueler,where,eltern,lehrer,union,fachn,fachg: string;&#13;&#10;  j,fachz,mitelternf,mitschuelerf,mitlehrerf,SNamedr,Gruppedr,EinZeile,EinSpalte:integer;&#13;&#10;  Vertikal,Horizontal:double;&#13;&#10;&#13;&#10;procedure DialogPage1OnActivate(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitlehrer.checked:=false;&#13;&#10;  mitlehrer.visible:=false;&#13;&#10;  mitschueler.checked:=false;&#13;&#10;  mitstellvertreter.visible:=false;&#13;&#10;  mitschueler.visible:=false;&#13;&#10;  miteltern.checked:=true;&#13;&#10;  union:='';&#13;&#10;  eltern:='select concat(ps.Rufname,&#34; &#34;,IF(ps.Namenszusatz&#62;&#34;&#34;,concat(ps.Namenszusatz,&#34; &#34;),&#34;&#34;),ps.Nachname) SName,sv.VerantwortlicherId Id'+&#13;&#10;  ',g.Bezeichnung'+&#13;&#10;  ',IF (count(sv.SchuelerId)&#62;1'+&#13;&#10;       ',if(v1.Nachname=v2.Nachname'+&#13;&#10;          ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; und &#34;,if(v2.AkadTitel&#60;&#62;&#34;&#34;,concat(v2.AkadTitel,&#34; &#34;,v2.Rufname),v2.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname)'+&#13;&#10;          ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname,&#34; und &#34;,if(v2.AkadTitel&#60;&#62;&#34;&#34;,concat(v2.AkadTitel,&#34; &#34;,v2.Rufname),v2.Rufname),&#34; &#34;,if(v2.Namenszusatz&#60;&#62;&#34;&#34;,concat(v2.Namenszusatz,&#34; &#34;),&#34;&#34;),v2.Nachname))'+&#13;&#10;       ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname)) Rufname'+&#13;&#10;  ',NULL Nachname'+&#13;&#10;  ',IF (count(sv.SchuelerId)&#62;1,&#34;Frau und Herrn&#34;,if(v1.Geschlecht=&#34;w&#34;,&#34;Frau&#34;,if(v1.Geschlecht=&#34;m&#34;,&#34;Herrn&#34;,&#34;&#34;))) Geschlecht'+&#13;&#10;  ',NULL Titel,NULL AkadTitel,NULL Namenszusatz'+&#13;&#10;  ',a.Strasse Verantw1Strasse,o.PLZ Verantw1PLZ,o.Name Verantw1Ortsname'+&#13;&#10;  ',&#34;0&#34; Funktion,sv.SchuelerId,&#34;1&#34; ES'+&#13;&#10;  ' from schuelerverantwortlicher sv'+&#13;&#10;  ' left join verantwortlicher v on (sv.VerantwortlicherId=v.Id)'+&#13;&#10;  ' left join person ps on sv.SchuelerId=ps.Id'+&#13;&#10;  ' left join jahrgangsdaten j on j.SchuelerId=sv.SchuelerId'+&#13;&#10;  ' left join gruppe g on j.GruppeId=g.Id'+&#13;&#10;  ' left join person v1 on sv.VerantwortlicherId=v1.Id'+&#13;&#10;  ' left join person v2 on (v2.Id=(select VerantwortlicherId from schuelerverantwortlicher where SchuelerId=sv.SchuelerId and VerantwortlicherId!=v1.Id limit 0,1))'+&#13;&#10;  ' left join adresse a on sv.VerantwortlicherId=a.PersonId'+&#13;&#10;  ' left join ort o on a.OrtId=o.Id'+&#13;&#10;  ' where v.Erziehungsberechtigt=1 and j.Id in (select JahrgangsdatenId from danis)'+&#13;&#10;  ' group by sv.SchuelerId,a.OrtId,a.Strasse'+&#13;&#10;  ' order by g.Jahrgangsstufe,g.Bezeichnung,ps.Nachname';&#13;&#10;   where:=''&#13;&#10;&#13;&#10;end;&#13;&#10;&#13;&#10;//// Gesamtkonferenz&#13;&#10;procedure GesamtkonferenzOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitstellvertreter.visible:=true;&#13;&#10;  mitschueler.visible:=true;&#13;&#10;  mitlehrer.visible:=true;&#13;&#10;  union:='select * from (';&#13;&#10;  schueler:='(SELECT gk.Von,gk.Bis,NULL SName,gk.Id gkId,NULL SchuelerId,s.Id,'+'&#34;Schüler&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,g.Bezeichnung Bezeichnung,gk.Funktion, gk.SchulgliederungId,&#34;0&#34; ES FROM gesamtkonferenz gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN schueler s ON (p.Id=s.Id) inner join jahrgangsdaten j on (gk.PersonId=j.SchuelerId and j.status=0) inner join gruppe g on j.GruppeId=g.Id)';&#13;&#10;  eltern:='(SELECT gk.Von,gk.Bis,concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,gk.Id gkId,scv.SchuelerId,p.Id,'+'&#34;Verantwortliche&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel, g.Bezeichnung Bezeichnung,gk.Funktion, gk.SchulgliederungId,&#34;0&#34; ES FROM gesamtkonferenz gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN verantwortlicher v ON (p.Id=v.Id) inner join schuelerverantwortlicher scv on (gk.PersonId=scv.VerantwortlicherId) inner join jahrgangsdaten j on (scv.SchuelerId=j.SchuelerId and gk.GruppeId=j.GruppeId and j.Status=0 and gk.GruppeId = j.GruppeId) left join gruppe g on j.GruppeId=g.Id left join person ps on scv.SchuelerId=ps.Id )';&#13;&#10;  lehrer:='(SELECT gk.Von,gk.Bis,NULL SName,gk.Id gkId,NULL SchuelerId,l.Id,'+'&#34;Lehrer&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht, p.Namenszusatz,p.AkadTitel,NULL Bezeichnung, gk.Funktion,gk.SchulgliederungId,&#34;0&#34; ES FROM gesamtkonferenz gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN lehrer l ON (p.Id=l.Id) LEFT OUTER JOIN gruppe g ON ((l.Id=g.LehrerId1) OR (l.Id=g.LehrerId2)))';&#13;&#10;  where:=') sv where Funktion&#60;&#62;1 and (Von is Null or Von&#60;current_date()) and (Bis is NULL or Bis&#62;current_date()) and sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) group by gkId order by Art desc,Bezeichnung,Nachname,Rufname';&#13;&#10;end;&#13;&#10;&#13;&#10;/// Gruppen-Elternschaft&#13;&#10;procedure GruppeElternOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitlehrer.checked:=false;&#13;&#10;  mitlehrer.visible:=false;&#13;&#10;  mitschueler.checked:=false;&#13;&#10;  mitstellvertreter.visible:=false;&#13;&#10;  mitschueler.visible:=false;&#13;&#10;  miteltern.checked:=true;&#13;&#10;  union:='';&#13;&#10;  eltern:='select concat(ps.Rufname,&#34; &#34;,IF(ps.Namenszusatz&#62;&#34;&#34;,concat(ps.Namenszusatz,&#34; &#34;),&#34;&#34;),ps.Nachname) SName,sv.VerantwortlicherId Id'+&#13;&#10;  ',g.Bezeichnung'+&#13;&#10;  ',IF (count(sv.SchuelerId)&#62;1'+&#13;&#10;       ',if(v1.Nachname=v2.Nachname'+&#13;&#10;          ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; und &#34;,if(v2.AkadTitel&#60;&#62;&#34;&#34;,concat(v2.AkadTitel,&#34; &#34;,v2.Rufname),v2.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname)'+&#13;&#10;          ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname,&#34; und &#34;,if(v2.AkadTitel&#60;&#62;&#34;&#34;,concat(v2.AkadTitel,&#34; &#34;,v2.Rufname),v2.Rufname),&#34; &#34;,if(v2.Namenszusatz&#60;&#62;&#34;&#34;,concat(v2.Namenszusatz,&#34; &#34;),&#34;&#34;),v2.Nachname))'+&#13;&#10;       ',concat(if(v1.AkadTitel&#60;&#62;&#34;&#34;,concat(v1.AkadTitel,&#34; &#34;,v1.Rufname),v1.Rufname),&#34; &#34;,if(v1.Namenszusatz&#60;&#62;&#34;&#34;,concat(v1.Namenszusatz,&#34; &#34;),&#34;&#34;),v1.Nachname)) Rufname'+&#13;&#10;  ',NULL Nachname'+&#13;&#10;  ',IF (count(sv.SchuelerId)&#62;1,&#34;Frau und Herrn&#34;,if(v1.Geschlecht=&#34;w&#34;,&#34;Frau&#34;,if(v1.Geschlecht=&#34;m&#34;,&#34;Herrn&#34;,&#34;&#34;))) Geschlecht'+&#13;&#10;  ',NULL Titel,NULL AkadTitel,NULL Namenszusatz'+&#13;&#10;  ',a.Strasse Verantw1Strasse,o.PLZ Verantw1PLZ,o.Name Verantw1Ortsname'+&#13;&#10;  ',&#34;0&#34; Funktion,sv.SchuelerId,&#34;1&#34; ES'+&#13;&#10;  ' from schuelerverantwortlicher sv'+&#13;&#10;  ' left join verantwortlicher v on (sv.VerantwortlicherId=v.Id)'+&#13;&#10;  ' left join person ps on sv.SchuelerId=ps.Id'+&#13;&#10;  ' left join jahrgangsdaten j on j.SchuelerId=sv.SchuelerId'+&#13;&#10;  ' left join gruppe g on j.GruppeId=g.Id'+&#13;&#10;  ' left join person v1 on sv.VerantwortlicherId=v1.Id'+&#13;&#10;  ' left join person v2 on (v2.Id=(select VerantwortlicherId from schuelerverantwortlicher where SchuelerId=sv.SchuelerId and VerantwortlicherId!=v1.Id limit 0,1))'+&#13;&#10;  ' left join adresse a on sv.VerantwortlicherId=a.PersonId'+&#13;&#10;  ' left join ort o on a.OrtId=o.Id'+&#13;&#10;  ' where v.Erziehungsberechtigt=1 and j.Id in (select JahrgangsdatenId from danis)'+&#13;&#10;  ' group by sv.SchuelerId,a.OrtId,a.Strasse'+&#13;&#10;  ' order by g.Jahrgangsstufe,g.Bezeichnung,ps.Nachname';&#13;&#10;   where:=''&#13;&#10;end;&#13;&#10;&#13;&#10;/// Gruppen-Elternschft-Vorsitz&#13;&#10;procedure KlassenelternratOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitlehrer.checked:=false;&#13;&#10;  mitlehrer.visible:=false;&#13;&#10;  mitschueler.checked:=false;&#13;&#10;  mitstellvertreter.visible:=true;&#13;&#10;  mitschueler.visible:=false;&#13;&#10;  union:='';&#13;&#10;  eltern:='SELECT concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,s.Verantw1Id,s.Verantw2Id,s.GruppeBezeichnung Bezeichnung,s.SchuelerId,s.GruppeId,e1.Funktion,e.GruppeId,e.SchulgliederungId,e.VerantwortlicherId Id,pv.Nachname,pv.Rufname,pv.Geschlecht,pv.Titel,pv.AkadTitel,pv.Namenszusatz,pv.Id pvId,&#34;0&#34; ES from danis s right join elternschaft e on (e.VerantwortlicherId=s.Verantw1Id or e.VerantwortlicherId=s.Verantw2Id) inner join person pv on e.VerantwortlicherId=pv.Id inner join elternschaft e1 on (e1.VerantwortlicherId=e.VerantwortlicherId and e1.GruppeId=e.GruppeId and e1.SchulgliederungId is NULL)left join person ps on s.SchuelerId=ps.Id';&#13;&#10;  where:=' where e1.Funktion=2 and (e.Von is Null or e.Von&#60;current_date()) and (e.Bis is NULL or e.Bis&#62;current_date()) and e.SchulgliederungId is Null and s.GruppeId=e.GruppeId order by s.GruppeJahrgangsstufe,s.GruppeBezeichnung,pv.Nachname,pv.Rufname';&#13;&#10;end;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;//// Schulelternrat&#13;&#10;procedure SchulelternratOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitschueler.visible:=true;&#13;&#10;  mitlehrer.checked:=false;&#13;&#10;  mitlehrer.visible:=false;&#13;&#10;  mitschueler.checked:=false;&#13;&#10;  mitschueler.visible:=false;&#13;&#10;  mitstellvertreter.visible:=false;&#13;&#10;  union:='';&#13;&#10;  eltern:='SELECT concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,s.Verantw1Id,s.Verantw2Id,s.GruppeBezeichnung Bezeichnung,s.SchuelerId,s.GruppeId,e1.Funktion,e.GruppeId,e.SchulgliederungId,e.VerantwortlicherId Id,pv.Nachname,pv.Rufname,pv.Geschlecht,pv.Titel,pv.AkadTitel,pv.Namenszusatz,pv.Id pvId,&#34;0&#34; ES from danis s right join elternschaft e on (e.VerantwortlicherId=s.Verantw1Id or e.VerantwortlicherId=s.Verantw2Id) inner join person pv on e.VerantwortlicherId=pv.Id inner join elternschaft e1 on (e1.VerantwortlicherId=e.VerantwortlicherId and e1.GruppeId=e.GruppeId and e1.SchulgliederungId is NULL)left join person ps on s.SchuelerId=ps.Id';&#13;&#10;  where:=' where e.GruppeId&#62;0 and (e.Von is Null or e.Von&#60;current_date()) and (e.Bis is NULL or e.Bis&#62;current_date()) and e.SchulgliederungId&#62;0 and s.GruppeId=e.GruppeId order by s.GruppeJahrgangsstufe,s.GruppeBezeichnung,pv.Nachname,pv.Rufname';&#13;&#10;end;&#13;&#10;&#13;&#10;&#13;&#10;/// Schulvorstand&#13;&#10;procedure SchulvorstandOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitschueler.visible:=true;&#13;&#10;  mitlehrer.visible:=true;&#13;&#10;  mitstellvertreter.visible:=true;&#13;&#10;  union:='select * from (';&#13;&#10;  schueler:='(SELECT gk.Von,gk.Bis,gk.Id gkId,NULL SName,NULL SchuelerId,s.Id,'+'&#34;Schüler&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,g.Bezeichnung,gk.Funktion,gk.SchulgliederungId,&#34;0&#34; ES FROM schulvorstand gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN schueler s ON (p.Id=s.Id) LEFT OUTER JOIN (SELECT g.Bezeichnung, g.SchulgliederungId, j.SchuelerId FROM gruppe g INNER JOIN jahrgangsdaten j ON (g.Id=j.GruppeId) WHERE (j.Status=0)) g ON ((g.SchulgliederungId=gk.SchulgliederungId) AND (g.SchuelerId=s.Id)))';&#13;&#10;  lehrer:='(SELECT gk.Von,gk.Bis,gk.Id gkId,NULL SName,NULL SchuelerId,l.Id,'+'&#34;Lehrer&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,NULL Bezeichnung, gk.Funktion,gk.SchulgliederungId,&#34;0&#34; ES FROM schulvorstand gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN lehrer l ON (p.Id=l.Id) LEFT JOIN gruppe g ON ((l.Id=g.LehrerId1) OR (l.Id=g.LehrerId2)))';&#13;&#10;  eltern:='(SELECT gk.Von,gk.Bis,gk.Id gkId,concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,scv.SchuelerId,p.Id,'+'&#34;Verantwortliche&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,Bezeichnung Bezeichnung,gk.Funktion, gk.SchulgliederungId,&#34;0&#34; ES FROM schulvorstand gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN verantwortlicher v ON (p.Id=v.Id) inner join schuelerverantwortlicher scv on (gk.PersonId=scv.VerantwortlicherId) inner join jahrgangsdaten j on (scv.SchuelerId=j.SchuelerId and gk.GruppeId=j.GruppeId and status=0 and gk.GruppeId = j.GruppeId) left join gruppe g on j.GruppeId=g.Id left join person ps on scv.SchuelerId=ps.Id)';&#13;&#10;  where:=') sv WHERE Funktion&#60;&#62;1 and (Von is Null or Von&#60;current_date()) and (Bis is NULL or Bis&#62;current_date()) and sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) order by Art desc,Nachname,Rufname';&#13;&#10;end;&#13;&#10;&#13;&#10;/// Klassenkonferenz&#13;&#10;procedure KlassenkonferenzOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=false;&#13;&#10;  mitschueler.visible:=true;&#13;&#10;  mitstellvertreter.visible:=true;&#13;&#10;  mitlehrer.visible:=true;&#13;&#10;  union:='select * from (';&#13;&#10;  schueler:='(SELECT gk.Von,gk.Bis,gk.Id gkId,gk.PersonId,NULL,NULL SName,NULL SchuelerId,s.Id,'+'&#34;Schüler&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,g.Bezeichnung Bezeichnung,gk.Funktion,gk.GruppeId,&#34;0&#34; ES FROM klassenkonferenz gk LEFT JOIN person p ON (gk.PersonId=p.Id) LEFT JOIN schueler s ON (p.Id=s.Id) LEFT JOIN (SELECT g.Bezeichnung, g.SchulgliederungId, j.SchuelerId FROM gruppe g INNER JOIN jahrgangsdaten j ON (g.Id=j.GruppeId) WHERE (j.Status=0)) g ON (s.Id=g.SchuelerId))';&#13;&#10;  lehrer:='(SELECT gk.Von,gk.Bis,gk.Id gkId,gk.PersonId,NUll,NULL SName,NULL SchuelerId,l.Id,'+'&#34;Lehrer&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,NULL Bezeichnung, gk.Funktion,gk.GruppeId,&#34;0&#34; ES FROM klassenkonferenz gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN lehrer l ON (p.Id=l.Id) LEFT JOIN gruppe g ON ((l.Id=g.LehrerId1) OR (l.Id=g.LehrerId2)))';&#13;&#10;  eltern:='(SELECT gk.Von,gk.Bis,gk.Id gkId,gk.PersonId,j.Jahrgangsstufe,concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,scv.SchuelerId,p.Id,'+'&#34;Verantwortliche&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel,Bezeichnung Bezeichnung,gk.Funktion,gk.GruppeId,&#34;0&#34; ES FROM klassenkonferenz gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN verantwortlicher v ON (p.Id=v.Id) INNER JOIN schuelerverantwortlicher scv on (gk.PersonId=scv.VerantwortlicherId) INNER JOIN jahrgangsdaten j on (scv.SchuelerId=j.SchuelerId and status=0 and gk.GruppeId = j.GruppeId) LEFT JOIN gruppe g on gk.GruppeId=g.Id LEFT JOIN person ps on (scv.SchuelerId=ps.Id))';&#13;&#10;  where:=') sv WHERE Funktion&#60;&#62;1 and (Von is Null or Von&#60;current_date()) and (Bis is NULL or Bis&#62;current_date()) and sv.GruppeId IN (SELECT DISTINCT GruppeId FROM DaNiS) group by PersonId,Bezeichnung order by Bezeichnung,Funktion,Nachname,Rufname';&#13;&#10;end;&#13;&#10;&#13;&#10;//// Fachkonferenz&#13;&#10;procedure FachkonferenzOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  Faecher1.visible:=true;&#13;&#10;  mitschueler.visible:=true;&#13;&#10;  mitstellvertreter.visible:=true;&#13;&#10;  mitlehrer.visible:=true;&#13;&#10;  qfk.SQL.Text:='SELECT f.Id,f.Bezeichnung,f.Kennzahl FROM fach f where ausgewaehlt=1 order by StatRel desc,Bezeichnung';&#13;&#10;  qfk.Open;&#13;&#10;  Faecher1.clear;&#13;&#10;  j:=0;&#13;&#10;  if Faecher1.items.Count&#60;=0 then&#13;&#10;  begin&#13;&#10;  try&#13;&#10;    while not qfk.Eof do&#13;&#10;    begin&#13;&#10;      j:=j+1;&#13;&#10;      fachn:=qfk.FieldByName('Bezeichnung').AsString;&#13;&#10;      Faecher1.items.add(fachn);&#13;&#10;      qfk.Next;&#13;&#10;    end;&#13;&#10;  finally&#13;&#10;    qfk.Close;&#13;&#10;  end;&#13;&#10;  end;&#13;&#10;&#13;&#10; fachz:=Faecher1.items.Count-1;&#13;&#10; if (fachz&#62;=0) and (Faecher1.Itemindex=-1) then&#13;&#10;   Faecher1.Itemindex:=0;&#13;&#10;&#13;&#10; union:='select * from (';&#13;&#10; schueler:='(SELECT gk.Von,gk.Bis,gk.Id gkId,NULL SName,NULL SchuelerId,s.Id,'+'&#34;Schüler&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel, g.Bezeichnung,gk.Funktion, gk.SchulgliederungId,gk.FachId,f.Bezeichnung Fach,&#34;0&#34; ES FROM fachkonferenzteilnahme gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN schueler s ON (p.Id=s.Id) inner join jahrgangsdaten j on (gk.PersonId=SchuelerId and j.status=0) inner join gruppe g on j.GruppeId=g.Id  left join fach f on gk.FachId=f.Id)';&#13;&#10; lehrer:='(SELECT gk.Von,gk.Bis,gk.Id gkId,NULL SName,NULL SchuelerId,l.Id,'+'&#34;Lehrer&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel, NULL Bezeichnung, gk.Funktion,gk.SchulgliederungId,gk.FachId,f.Bezeichnung Fach,&#34;0&#34; ES FROM fachkonferenzteilnahme gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN lehrer l ON (p.Id=l.Id) LEFT OUTER JOIN gruppe g ON ((l.Id=g.LehrerId1) OR (l.Id=g.LehrerId2)) left join Fach f on gk.FachId=f.Id)';&#13;&#10; eltern:='(SELECT gk.Von,gk.Bis,gk.Id gkId,concat(ps.Rufname,&#34; &#34;,ps.Nachname) SName,scv.SchuelerId,p.Id,'+'&#34;Verantwortliche&#34;'+' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz,p.AkadTitel, g.Bezeichnung,gk.Funktion, gk.SchulgliederungId,gk.FachId,f.Bezeichnung Fach,&#34;0&#34; ES FROM fachkonferenzteilnahme gk INNER JOIN person p ON (gk.PersonId=p.Id) INNER JOIN verantwortlicher v ON (p.Id=v.Id) left join schuelerverantwortlicher scv on (gk.PersonId=scv.VerantwortlicherId) inner join jahrgangsdaten j on (scv.SchuelerId=j.SchuelerId and j.GruppeId=gk.GruppeId and j.Status=0 and gk.GruppeId = j.GruppeId) left join gruppe g on j.GruppeId=g.Id left join Fach f on gk.FachId=f.Id left join person ps on scv.SchuelerId=ps.Id)';&#13;&#10;end;&#13;&#10;&#13;&#10;/// Stellvertreter&#13;&#10;procedure mitstellvertreterOnClick(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  if mitstellvertreter.checked then&#13;&#10;  begin&#13;&#10;    //if Schulelternrat.checked then&#13;&#10;     //where:=' where s.GruppeId=e.GruppeId group by e.VerantwortlicherId,s.GruppeBezeichnung order by s.GruppeJahrgangsstufe,s.GruppeBezeichnung,pv.Nachname,pv.Rufname';&#13;&#10;    if Klassenkonferenz.checked then&#13;&#10;      where:=') sv WHERE sv.GruppeId IN (SELECT DISTINCT GruppeId FROM DaNiS) group by gkId order by Bezeichnung,Funktion,Nachname,Rufname';&#13;&#10;    if Gesamtkonferenz.checked then&#13;&#10;      where:=') sv where sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) group by gkId order by Art desc,Bezeichnung,Nachname,Rufname';&#13;&#10;    if Schulvorstand.checked then&#13;&#10;      where:=') sv WHERE sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) group by gkId order by Art desc,Nachname,Rufname';&#13;&#10;    if Klassenelternrat.checked then&#13;&#10;       where:=' where e1.Funktion&#62;0 and e.SchulgliederungId is Null and s.GruppeId=e.GruppeId order by s.GruppeJahrgangsstufe,s.GruppeBezeichnung,pv.Nachname,pv.Rufname';&#13;&#10;&#13;&#10;  end;&#13;&#10;&#13;&#10;end;&#13;&#10;&#13;&#10;&#13;&#10;///// Select-Anweisung erzeugen&#13;&#10;procedure weiterOnEnter(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10;  if Fachkonferenz.checked then&#13;&#10;  begin&#13;&#10;    j:=Faecher1.ItemIndex;&#13;&#10;    fachg:=Faecher1.items[j];&#13;&#10;    if mitstellvertreter.checked then&#13;&#10;    begin&#13;&#10;      where:=') sv WHERE Fach=&#34;'+fachg+'&#34; and (Von is Null or Von&#60;current_date()) and (Bis is NULL or Bis&#62;current_date()) and sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) group by gkId order by Fach,Art desc,Nachname,Rufname';&#13;&#10;    end&#13;&#10;    else&#13;&#10;    begin&#13;&#10;       where:=') sv WHERE Fach=&#34;'+fachg+'&#34; and Funktion&#60;&#62;1 and (Von is Null or Von&#60;current_date()) and (Bis is NULL or Bis&#62;current_date()) and sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS) group by gkId order by Fach,Art desc,Nachname,Rufname';&#13;&#10;    end;&#13;&#10;  end;&#13;&#10;&#13;&#10;&#13;&#10;&#13;&#10;  if miteltern.checked then&#13;&#10;     mitelternf:=1&#13;&#10;   else&#13;&#10;     mitelternf:=0;&#13;&#10;&#13;&#10;&#13;&#10;  if mitschueler.checked then&#13;&#10;       if Schulelternrat.checked=false then&#13;&#10;          mitschuelerf:=1&#13;&#10;       else&#13;&#10;         mitschuelerf:=0;&#13;&#10;&#13;&#10;    if mitlehrer.checked then&#13;&#10;       if Schulelternrat.checked=false then&#13;&#10;          mitlehrerf:=1&#13;&#10;       else&#13;&#10;          mitlehrerf:=1;&#13;&#10;&#13;&#10;  if mitelternf=1 then&#13;&#10;     mit:=union+eltern;&#13;&#10;&#13;&#10;  if mitlehrerf=1 then&#13;&#10;     if mit&#60;&#62;'' then&#13;&#10;        mit:=mit+' union '+lehrer&#13;&#10;     else&#13;&#10;        mit:=union+lehrer;&#13;&#10;&#13;&#10;  if mitschuelerf=1 then&#13;&#10;     if mit&#60;&#62;'' then&#13;&#10;        mit:=mit+' union '+schueler&#13;&#10;     else&#13;&#10;        mit:=union+schueler;&#13;&#10;&#13;&#10;  ///Optionen&#13;&#10;  if SName.checked then&#13;&#10;    SNamedr:=1&#13;&#10;  else&#13;&#10;    SNamedr:=0;&#13;&#10;&#13;&#10;  if Gruppennamen.checked then&#13;&#10;    DatenSchueler.visible:=true&#13;&#10;  else&#13;&#10;    DatenSchueler.visible:=false;&#13;&#10;&#13;&#10;&#13;&#10;  mit:=mit+where;&#13;&#10;&#13;&#10;&#13;&#10;  //showmessage (mit);&#13;&#10;  q1.SQL.Text:=mit;&#13;&#10;  if mit&#60;&#62;'' then&#13;&#10;       weiter.ModalResult:= mrOk&#13;&#10;  else&#13;&#10;       showmessage ('Es wurden noch keine Daten ausgewählt.');&#13;&#10;end;&#13;&#10;&#13;&#10;&#13;&#10;{&#13;&#10;procedure Child1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10;  posy: integer;&#13;&#10;begin&#13;&#10;  posy:=round(Engine.CurY);&#13;&#10;  //showmessage (inttostr(posy));&#13;&#10;  if posy&#60;=22 then&#13;&#10;  begin&#13;&#10;    child1.visible:=true;&#13;&#10;    pagefooter1.visible:=true;&#13;&#10;  end;&#13;&#10;end;&#13;&#10;}&#13;&#10;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." StoreInDFM="False">
  <Datasets>
    <item DataSet="Ad" DataSetName="Ad"/>
    <item DataSet="q1" DataSetName="q1"/>
    <item DataSet="sh" DataSetName="sh"/>
    <item DataSet="qfk" DataSetName="qfk"/>
  </Datasets>
  <Variables>
    <item Name=" Variablen"/>
    <item Name="OrderBy"/>
  </Variables>
  <TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000">
    <TfrxMYDACQuery Name="Ad" UserName="Ad" CloseDataSource="True" FieldAliases.Text="PersonId=PersonId&#13;&#10;Strasse=Strasse&#13;&#10;PLZ=PLZ&#13;&#10;Name=Ort" BCDToCurrency="False" DataSetOptions="0" Master="q1" IgnoreDupParams="False" SQL.Text="SELECT a.PersonId, a.Strasse, o.PLZ, o.Name&#13;&#10;FROM&#13;&#10;    adresse a&#13;&#10;    LEFT OUTER JOIN ort o ON (a.OrtId=o.Id)" SQLSchema="eAFtj8EKwjAQRO+B/Mkedpu05LIXEVQoUqkng4eV5lC0LSTt/5sKoqDsbYZ5O+O3MstGUrhq1Z5qNsZUxroKC638WW6PkLIjLF0MKQUgrICchQIRqEStJp7iDEQlWOs+st/FvstJ5CbENI2HDt4IAQJ8nVbE7RxlBf9zC97LksZlGEL8Gzfc1BdYC0xfUMtHGcKP7Ot+vK9rkF1+TzmRi2j1BINHRCQ=" MasterFields="PersonId=Id" LocalMasterDetail="False" PropData="05704C65667403F1000470546F7003B4000A506172616D65746572730100"/>
    <TfrxMYDACQuery Name="q1" UserName="q1" CloseDataSource="True" FieldAliases.Text="" BCDToCurrency="False" DataSetOptions="0" IgnoreDupParams="False" SQL.Text="##    &#13;&#10;##wird durch den Code zur Laufzeit vertändert!!&#13;&#10;##      &#13;&#10;SELECT * FROM&#13;&#10;((SELECT gk.Id gkId,NULL SchuelerId,s.Id,'Schüler' Art, p.Rufname, p.Nachname, p.Geschlecht, p.Namenszusatz,g.Bezeichnung,gk.Funktion, gk.SchulgliederungId&#13;&#10; FROM gesamtkonferenz gk&#13;&#10;   INNER JOIN person p ON (gk.PersonId=p.Id)&#13;&#10;   INNER JOIN schueler s ON (p.Id=s.Id)&#13;&#10;   LEFT OUTER JOIN (SELECT g.Bezeichnung, g.SchulgliederungId, j.SchuelerId&#13;&#10;                    FROM gruppe g&#13;&#10;                      INNER JOIN jahrgangsdaten j ON (g.Id=j.GruppeId)&#13;&#10;                    WHERE&#13;&#10;                      (j.Status=0)) g&#13;&#10;     ON ((g.SchulgliederungId=gk.SchulgliederungId) AND (g.SchuelerId=s.Id)))&#13;&#10;UNION&#13;&#10;(SELECT gk.Id gkId,NULL SchuelerId,l.Id,'Lehrer' Art, p.Rufname, p.Nachname, p.Geschlecht, p.Namenszusatz,NULL Bezeichnung, gk.Funktion,gk.SchulgliederungId&#13;&#10; FROM gesamtkonferenz gk&#13;&#10;   INNER JOIN person p ON (gk.PersonId=p.Id)&#13;&#10;   INNER JOIN lehrer l ON (p.Id=l.Id)&#13;&#10;   LEFT OUTER JOIN gruppe g ON ((l.Id=g.LehrerId1) OR (l.Id=g.LehrerId2)))&#13;&#10;UNION&#13;&#10;(SELECT gk.Id gkId,scv.SchuelerId,p.Id,'Verantwortliche' Art, p.Rufname, p.Nachname, p.Geschlecht,p.Namenszusatz, g.Bezeichnung,gk.Funktion, gk.SchulgliederungId&#13;&#10; FROM gesamtkonferenz gk&#13;&#10;   INNER JOIN person p ON (gk.PersonId=p.Id)    &#13;&#10;   INNER JOIN verantwortlicher v ON (p.Id=v.Id)&#13;&#10;   left join schuelerverantwortlicher scv on (gk.PersonId=scv.VerantwortlicherId)&#13;&#10;   left join jahrgangsdaten j on (scv.SchuelerId=j.SchuelerId and j.Status=0)&#13;&#10;   left join gruppe g on j.GruppeId=g.Id))&#13;&#10; sv&#13;&#10;WHERE&#13;&#10;  sv.SchulgliederungId IN (SELECT DISTINCT SchulgliederungId FROM DaNiS)&#13;&#10;  group by gkId                                         &#13;&#10;  order by Art desc,Bezeichnung,Nachname,Rufname;" LocalMasterDetail="False" PropData="05704C656674026C0470546F7003B4000A506172616D65746572730100"/>
    <TfrxMYDACTable Name="sh" UserName="sh" CloseDataSource="True" FieldAliases.Text="-Id=Id&#13;&#10;-UpdateCount=UpdateCount&#13;&#10;Name=Name&#13;&#10;IdentNummer=IdentNummer&#13;&#10;Land=Land&#13;&#10;Adresse=Adresse&#13;&#10;PLZ=PLZ&#13;&#10;Ort=Ort&#13;&#10;Telefon=Telefon&#13;&#10;Fax=Fax&#13;&#10;EMail=EMail&#13;&#10;Homepage=Homepage&#13;&#10;Bank=Bank&#13;&#10;Logo=Logo" BCDToCurrency="False" DataSetOptions="0" TableName="schule" LocalMasterDetail="False" PropData="05704C656674026C0470546F700240"/>
    <TfrxMYDACQuery Name="qfk" UserName="qfk" CloseDataSource="True" FieldAliases.Text="" BCDToCurrency="False" DataSetOptions="0" IgnoreDupParams="False" SQL.Text="#wird durch den Code zur Laufzeit vertändert!!&#13;&#10;SELECT f.Id,f.Bezeichnung,f.Kennzahl FROM fach f where ausgewaehlt=1 order by StatRel desc,Bezeichnung;        " LocalMasterDetail="False" PropData="05704C656674035C010470546F7003B4000A506172616D65746572730100"/>
  </TfrxDataPage>
  <TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="110,06666667" PaperHeight="220,00104167" PaperSize="256" LeftMargin="0" RightMargin="0" TopMargin="0" BottomMargin="0" ColumnWidth="209,999791666667" ColumnPositions.Text="0" Frame.Typ="0" MirrorMode="0">
    <TfrxMasterData Name="MasterData1" FillType="ftBrush" FillGap.Top="0" FillGap.Left="0" FillGap.Bottom="0" FillGap.Right="0" Frame.Typ="0" Height="800" Left="0" Top="18,89765" Width="416,000268679265" ColumnWidth="0" ColumnGap="0" DataSet="q1" DataSetName="q1" RowCount="0">
      <TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="241,75603" Top="44" Width="117,16543" Height="287,24409449" Editable="3" Font.Charset="1" Font.Color="-16777208" Font.Height="-16" Font.Name="Arial" Font.Style="0" Frame.Typ="0" ParentFont="False" Rotation="90" Text="[IIF(&#60;q1.&#34;Geschlecht&#34;&#62;='w','Frau',IIF(&#60;q1.&#34;Geschlecht&#34;&#62;='m','Herrn',''))]&#13;&#10;[IIF((&#60;q1.&#34;AkadTitel&#34;&#62;&#60;&#62;'') and (&#60;q1.&#34;ES&#34;&#62;&#60;&#62;'1'),&#60;q1.&#34;AkadTitel&#34;&#62;+' ','')][q1.&#34;Rufname&#34;][IIF(&#60;q1.&#34;Namenszusatz&#34;&#62;&#60;&#62;'',' '+&#60;q1.&#34;Namenszusatz&#34;&#62;,'')] [q1.&#34;Nachname&#34;]&#13;&#10;[ad.&#34;Strasse&#34;]&#13;&#10;[ad.&#34;PLZ&#34;] [ad.&#34;Ort&#34;] ">
        <Formats>
          <item/>
          <item/>
          <item/>
          <item/>
          <item/>
          <item/>
          <item/>
          <item/>
        </Formats>
      </TfrxMemoView>
      <TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="49" Top="546,01608" Width="64,25201" Height="179,1812" Editable="3" AutoWidth="True" Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Typ="0" ParentFont="False" Rotation="90" Text="[sh.&#34;Name&#34;]&#13;&#10;[sh.&#34;Adresse&#34;]&#13;&#10;[sh.&#34;PLZ&#34;] [sh.&#34;Ort&#34;]"/>
      <TfrxMemoView Name="DatenSchueler" AllowVectorExport="True" Left="45,35436" Top="45,35436" Width="68,03154" Height="272,12616" Editable="3" DataSet="q1" DataSetName="q1" Font.Charset="1" Font.Color="-16777208" Font.Height="-13" Font.Name="Arial" Font.Style="0" Frame.Typ="0" HAlign="haRight" ParentFont="False" Rotation="90" Text="[q1.&#34;Bezeichnung&#34;]&#13;&#10;[q1.&#34;SName&#34;]"/>
    </TfrxMasterData>
  </TfrxReportPage>
  <TfrxDialogPage Name="DialogPage1" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Tahoma" Font.Style="0" HGuides.Text="" VGuides.Text="" Caption="Brief an Gremienmitglieder" DoubleBuffered="False" Height="414" ClientHeight="375" Left="676" Top="230" Width="557" Scaled="True" ClientWidth="541" OnActivate="DialogPage1OnActivate">
    <TfrxGroupBoxControl Name="Gremium" Left="36" Top="24" Width="229" Height="277" ShowHint="True" Caption="Gremium" Color="-16777201">
      <TfrxRadioButtonControl Name="Gesamtkonferenz" Left="8" Top="45" Width="113" Height="17" ShowHint="True" Caption="Gesamtkonferenz" TabStop="False" Color="-16777201" OnClick="GesamtkonferenzOnClick"/>
      <TfrxRadioButtonControl Name="Schulelternrat" Left="8" Top="70" Width="113" Height="17" ShowHint="True" Caption="Schulelternrat" TabStop="False" Color="-16777201" OnClick="SchulelternratOnClick"/>
      <TfrxRadioButtonControl Name="Schulvorstand" Left="8" Top="120" Width="113" Height="17" ShowHint="True" Caption="Schulvorstand" TabStop="False" Color="-16777201" OnClick="SchulvorstandOnClick"/>
      <TfrxRadioButtonControl Name="Fachkonferenz" Left="8" Top="170" Width="113" Height="17" ShowHint="True" Caption="Fachkonferenz" TabStop="False" Color="-16777201" OnClick="FachkonferenzOnClick"/>
      <TfrxComboBoxControl Name="Faecher1" Left="24" Top="195" Width="193" Height="57" ShowHint="True" Color="-16777211" Items.Text="" ItemIndex="-1"/>
      <TfrxRadioButtonControl Name="Klassenkonferenz" Left="8" Top="95" Width="113" Height="17" ShowHint="True" Caption="Klassenkonferenz" TabStop="False" Color="-16777201" OnClick="KlassenkonferenzOnClick"/>
      <TfrxRadioButtonControl Name="GruppeEltern" Left="8" Top="20" Width="141" Height="17" ShowHint="True" Caption="Gruppen-Elternschaft" Checked="True" Color="-16777201" OnClick="GruppeElternOnClick"/>
      <TfrxRadioButtonControl Name="Klassenelternrat" Left="8" Top="145" Width="173" Height="17" ShowHint="True" Caption="Gruppen-Elternschaft-Vorsitz" TabStop="False" Color="-16777201" OnClick="KlassenelternratOnClick"/>
    </TfrxGroupBoxControl>
    <TfrxButtonControl Name="abbrechen" Left="34" Top="319" Width="75" Height="25" ShowHint="True" Caption="abbrechen" ModalResult="2"/>
    <TfrxButtonControl Name="weiter" Left="430" Top="319" Width="75" Height="25" ShowHint="True" Caption="weiter" OnEnter="weiterOnEnter"/>
    <TfrxGroupBoxControl Name="Mitglieder" Left="320" Top="24" Width="185" Height="113" ShowHint="True" Caption="Mitglieder" Color="-16777201">
      <TfrxCheckBoxControl Name="miteltern" Left="8" Top="20" Width="137" Height="17" ShowHint="True" Caption="Verantwortliche" Color="-16777201" OnClick="mitelternOnClick"/>
      <TfrxCheckBoxControl Name="mitlehrer" Left="8" Top="70" Width="149" Height="17" ShowHint="True" Caption="Lehrerinnen / Lehrer" Color="-16777201" OnClick="mitlehrerOnClick"/>
      <TfrxCheckBoxControl Name="mitschueler" Left="8" Top="45" Width="137" Height="17" ShowHint="True" Caption="Schülerinnen / Schüler" Color="-16777201" OnClick="mitschuelerOnClick"/>
    </TfrxGroupBoxControl>
    <TfrxGroupBoxControl Name="Optionen" Left="320" Top="185" Width="185" Height="114" ShowHint="True" Caption="Optionen" Color="-16777201">
      <TfrxCheckBoxControl Name="Gruppennamen" Left="9" Top="50" Width="169" Height="17" ShowHint="True" Caption="mit Schülernamen und Klassen" Checked="True" State="cbChecked" Color="-16777201" OnClick="GruppennamenOnClick"/>
      <TfrxCheckBoxControl Name="SName" Left="9" Top="75" Width="137" Height="17" ShowHint="True" Visible="False" Caption="mit Schülernamen" Color="-16777201"/>
      <TfrxCheckBoxControl Name="mitstellvertreter" Left="9" Top="25" Width="126" Height="17" ShowHint="True" Caption="mit Stellvertretern" Color="-16777201" OnClick="mitstellvertreterOnClick"/>
    </TfrxGroupBoxControl>
  </TfrxDialogPage>
</TfrxReport>
