Ablehnungsschreiben Geschwisterkind

Alles, was Reporting und Drucken betrifft.
Fehlermeldungen, Fragen usw.
Themen zu einzelnen Formularen bitte im speziellen Forum ...

Moderatoren: Raffenberg, A. Schüller, Pfotenhauer

Antworten
FALS_Rieg
Beiträge: 10
Registriert: Montag 28. Januar 2019, 17:55
Schulform: Gesamtschule
Motto: Bildung, Sport, Kultur

Ablehnungsschreiben Geschwisterkind

Beitrag von FALS_Rieg »

Guten Tag,

für das anstehende Anmeldeverfahren zu Klasse 5 erzeugen wir die Briefe mit SCHILD. Für den Fall, dass ein/e Schüler/in ein geschwisterkind an der Schule hat, geben wir diese Information unter dem Punkt "GS-Daten" mit dem Haken "Geschwisterkind" an.

Leider gelingt es mir nicht, dass dieser Text bei den "Geschwisterschülern" erscheint. Können Sie hier weiterhelfen und mir sagen, an welcher Stelle der Programmierung ich einen Fehler gemacht habe. Die Reportdatei hängt an.

Inhaltlich gibt es noch Lücken im Text, die jedoch die Fragestellung nicht beeinflussen sollten.

Mit freundlichen Grüßen
Sebastian Riege
Dateianhänge
Ablehnung_Geschwisterkind.rtm
(145.97 KiB) 49-mal heruntergeladen
FALS_Rieg
Beiträge: 10
Registriert: Montag 28. Januar 2019, 17:55
Schulform: Gesamtschule
Motto: Bildung, Sport, Kultur

Re: Ablehnungsschreiben Geschwisterkind

Beitrag von FALS_Rieg »

Als Ergänzung:
Codetechnisch habe ich es so eingebunden:
begin
if SchuelerGSDaten['Geschwisterkind']= '+'
then begin
Brieftext4.RichText := ReplaceText(Brieftext4.RichText, '<<Geschwister>>', 'Leider hat auch die Tatsache, dass bereits ein Geschwisterkind die Schule besucht, keinen positiven Bescheid möglich gemacht.');
end
else begin
Brieftext4.RichText := ReplaceText(Brieftext4.RichText, '<<Geschwister>>', '');
end;
end;


Der Wert "else text" wird korrekt ausgegeben, jedoch erkennt SCHILD offensichtlich die Bedingung nicht.
Benutzeravatar
Raffenberg
Beiträge: 2280
Registriert: Dienstag 25. September 2018, 15:22
Schulform: Gymnasium
Kontaktdaten:

Re: Ablehnungsschreiben Geschwisterkind

Beitrag von Raffenberg »

Hallo Herr Riege,
die Information Geschwisterkind befindet sich in einer anderen Hauptdatenpipeline. Aus der Hauptpipeline "Schueler" kommen Sie nicht an diese Information heran. Hierzu müssten Sie die Hauptdatenquelle auf SchuelerGSDaten umstellen, wodurch für den Serienbrief andere relevante Informationen verloren gehen würden. Man müsste eine eigene Datenpipeline definieren und den Serienbrief auf die eigene Pipeline umfangreich anpassen.

Ich würde Ihnen empfehlen, sofern nicht jemand anderes doch noch eine Lösung findet, zwei Briefe vorzubereiten. Die Geschwisterkinder können Sie dann mit dem Gruppenprozess filtern. Ich glaube, dass dieser Gruppenprozess seine Filterung nicht aus dem Häkchenfeld bezieht, da dieses vornehmlich nur von Gesamtschulen verwendet wird. Vielmehr vergleicht der Gruppenprozess die Nachnamen und Wohnorte (vermute ich).
Mit freundlichen Grüßen
Jens Raffenberg
FALS_Rieg
Beiträge: 10
Registriert: Montag 28. Januar 2019, 17:55
Schulform: Gesamtschule
Motto: Bildung, Sport, Kultur

Re: Ablehnungsschreiben Geschwisterkind

Beitrag von FALS_Rieg »

Danke für die Antwort. In Anbetracht des engen Zeitplans, werde ich den Filter anwenden, um die Briefe zu erzeugen.

vg, S. Riege
A.Löser
Fachberater*in
Beiträge: 153
Registriert: Montag 3. Dezember 2018, 19:56
Schulform: Sek I

Re: Ablehnungsschreiben Geschwisterkind

Beitrag von A.Löser »

In der kurzen Zeit kann ich leider Ihren Report nicht in Ihrem Sinne ergänzen.

Folgende Idee kann Ihr Problem ggf. beheben, ohne den Report komplett umbauen zu müssen:

In der Datenquelle SchuelerGSdaten sind die Datenfelder Schueler_ID , Geschwisterkind und Status enthalten.
Die Schüler der Neuaufnahme haben den Status 0. DIe bei Grundschuldaten markierten Geschwisterkinder sind mit + markiert.
In einer global definierten TStringlist werden die Schueler_IDs der Schüler gespeichert, die in der Datenquelle SchuelerGSdaten mit Status 0 und Geschwisterkind = + markiert sind.


Globale Variable einrichten: Geschwistertext:String; GeschwisterKinder:TStringlist;

ReportBeforePrint:
var i:integer;
begin
...
....
....
Geschwistertext:='Obwohl schon Geschwister an unserer Schule sind, können wir Ihr Kind leider nicht aufnehmen.'; // oder ähnlich
Geschwisterkinder:= TStringlist.create;

PipelineOeffnen( SchuelerGSdaten );
DatensatzzeigerBewegen(SchuelerGSdaten,-1000); // erster Datensatz

For i:=0 to RecordCount(SchuelerGSdaten)-1 do
begin
if ((SchuelerGSdaten['Geschwisterkind']='+') and (SchuelerGSdaten['Status']=0)) then Geschwisterkinder.Add(inttostr(SchuelerGSdaten['Schueler_ID']));
DatensatzzeigerBewegen(SchuelerGSdaten,1);
end;
end;

In der TStringlist sind dann die IDs der Schüler gespeichert, die als Geschwisterkind bei Grundschuldaten markiert sind.

Damit ist es dann möglich, den in Ihrem Text enthaltenen Platzhalter <<Geschwister>> durch den Text der Variablen Geschwistertext zu ersetzen, wenn die ID des aktuellen Schülers in der TStringlist enthalten ist.


if (Geschwisterkinder.IndexOf(inttoStr(Schueler{'ID')] > -1) then Platzhalter ersetzen



ReportAfterPrint
..
..
Geschwisterkinder.free


Ich hoffe, ich konnte Ihnen helfen, und mein Vorschlag funktioniert wie gewünscht.
Mit freundlichen Grüßen
A. Löser
Antworten

Zurück zu „Drucken / Reporting“