Report stürzt beim Drucken der Nichtversetzten ab
Moderatoren: Raffenberg, A. Schüller, Pfotenhauer
Report stürzt beim Drucken der Nichtversetzten ab
Hallo,
ich habe nach Nichtversetzten gefiltert, damit mich mich dem Report
Erzieher_Brief_Nichtversetzte_V2.3.5 2014-01-30
die entsprechenden Briefe drucken kann.
Bei einem bestimmten Schüler stürzt der Report aber dann mit der im Anhang befindlichen Fehlermeldung ab.
Kann jemand helfen?
LG
Carsten
ich habe nach Nichtversetzten gefiltert, damit mich mich dem Report
Erzieher_Brief_Nichtversetzte_V2.3.5 2014-01-30
die entsprechenden Briefe drucken kann.
Bei einem bestimmten Schüler stürzt der Report aber dann mit der im Anhang befindlichen Fehlermeldung ab.
Kann jemand helfen?
LG
Carsten
- Uli Dierkes
- Beiträge: 1150
- Registriert: Sonntag 2. Dezember 2018, 17:02
- Wohnort: Wegberg
- Schulform: Gesamtschule (a.D.)
- Motto: Nicht verzagen ... fragen
- Kontaktdaten:
Re: Report stürzt beim Drucken der Nichtversetzten ab
Was steht denn im Before-Print-Ereignis des Subreports 1 ?
. Einen guten Tag wünscht Uli Dierkes
Re: Report stürzt beim Drucken der Nichtversetzten ab
Das ist für mich gar nicht ersichtlich ... bei ca. 50 anderen SUS funktioniert es.
- Uli Dierkes
- Beiträge: 1150
- Registriert: Sonntag 2. Dezember 2018, 17:02
- Wohnort: Wegberg
- Schulform: Gesamtschule (a.D.)
- Motto: Nicht verzagen ... fragen
- Kontaktdaten:
Re: Report stürzt beim Drucken der Nichtversetzten ab
Der Text der Programmierung wäre zur Fehleranalyse hilfreich. Wahrscheinlich fehlt bei dem betroffenen Schüler irgendeine Eintragung (z.B. ein Datum), oder es ist ein Schreibfehler in einer Eintragung.
. Einen guten Tag wünscht Uli Dierkes
Re: Report stürzt beim Drucken der Nichtversetzten ab
"Blöde" Frage:
Wie komme ich denn an den Subreport 1?
Wie komme ich denn an den Subreport 1?
Re: Report stürzt beim Drucken der Nichtversetzten ab
Wenn ich den gleichen Report hier habe:
{SubReport1:Erzieher DetailBeforePrint}
var zu_hause : String;
neuer_Schueler: Boolean;
begin
{Damit die Funktion nur einmal pro Schüler aufgerufen wird}
if (aktSchId <> Schueler['ID'])
then
begin
aktSchId := Schueler['ID'];
neuer_Schueler := true;
{ showmessage('Neuer Schüler: ' + Schueler['NameVorname']); }
SchuleVerlassen.Visible := bekommtHinweis;
end
else
begin
{showmessage('Kein neuer Schüler');}
neuer_Schueler := false;
end;
neueKlasse.Visible := NOT SchuleVerlassen.Visible;
if pos (Erzieher ['Bezeichnung'], 'ElternMutterVater')>0
then
zu_hause := '$Ihren_Sohn$ am letzten Schultag zu Hause zu behalten.'
else if pos ('volljährig',Erzieher ['Bezeichnung'])>0
then
zu_hause := 'am letzten Schultag zu Hause zu bleiben.'
else
zu_hause := Schueler ['Vorname']+' am letzten Schultag zu Hause zu behalten.' ;
{paragraph := '§ 50 Abs. 5 Schulgesetz für das Land Nordrhein-Westfalen'; }
if (Schueler ['Jahrgang'] = 11)
then
paragraph := '§ 2 Abs. 1 der Verordnung über den Bildungsgang und die Abiturprüfung in der gymnasialen Oberstufe in Verbindung mit '+ paragraph;
if neuer_Schueler and (pos (veraenderbar, 'SchülerErzieher') <> 0)
then
begin
Brieftext4.Richtext := Brieftext2;
Brieftext4.Richtext := EditRichTextEx(Brieftext4.Richtext,
'Brieftext ändern ' +Schueler['NameVorname'] );
Brieftext3 := Brieftext4.Richtext;
end
else if (veraenderbar = 'Erzieher')
then
begin
aktSchId := Schueler['ID'];
Brieftext4.Richtext := EditRichTextEx(Brieftext3,
'Brieftext ändern ' +Schueler['NameVorname'] );
end
else if (veraenderbar = 'Schüler')
then
Brieftext4.Richtext := Brieftext3
else
Brieftext4.Richtext := Brieftext2;
Brieftext4.RichText := ReplaceText (Brieftext4.RichText, '$ZU_HAUSE$',zu_hause);
Brieftext4.RichText := ErsetzePlatzhalter(Brieftext4.RichText);
Brieftext4.RichText := ConvertRBRichtext (Brieftext4.RichText);
SchuleVerlassen.Richtext := SaveRechtsbehelf;
SchuleVerlassen.RichText := ReplaceText (SchuleVerlassen.RichText, '$PARAGRAPH$',paragraph);
SchuleVerlassen.RichText := ReplaceText (SchuleVerlassen.RichText, '$SCHULE$',dieSchule);
SchuleVerlassen.Richtext := ErsetzePlatzhalter (SchuleVerlassen.Richtext);
if Report.PageNo = 1
then
BriefRegion.BottomOffset := BottomOffset1
else
begin
BriefRegion.BottomOffset := BottomOffset2;
BriefRegion.OverFlowOffset := StdBrieftextTop2;
Brieftext4.Width := StdBrieftextWidth2;
end;
end;
Sie öffnen den Reportexplorer und bearbeiten den Report. Unten sehen sie die verschiedenen Reiter, der zweite von Links heißt: "Subreport1: Erzieher."
Dann nach oben auf den Reiter Berechnungen.
Im Menü darüber wählen sie bitte bei Ansicht: Ereignisse, dann finden sie die Programmierung.
{SubReport1:Erzieher DetailBeforePrint}
var zu_hause : String;
neuer_Schueler: Boolean;
begin
{Damit die Funktion nur einmal pro Schüler aufgerufen wird}
if (aktSchId <> Schueler['ID'])
then
begin
aktSchId := Schueler['ID'];
neuer_Schueler := true;
{ showmessage('Neuer Schüler: ' + Schueler['NameVorname']); }
SchuleVerlassen.Visible := bekommtHinweis;
end
else
begin
{showmessage('Kein neuer Schüler');}
neuer_Schueler := false;
end;
neueKlasse.Visible := NOT SchuleVerlassen.Visible;
if pos (Erzieher ['Bezeichnung'], 'ElternMutterVater')>0
then
zu_hause := '$Ihren_Sohn$ am letzten Schultag zu Hause zu behalten.'
else if pos ('volljährig',Erzieher ['Bezeichnung'])>0
then
zu_hause := 'am letzten Schultag zu Hause zu bleiben.'
else
zu_hause := Schueler ['Vorname']+' am letzten Schultag zu Hause zu behalten.' ;
{paragraph := '§ 50 Abs. 5 Schulgesetz für das Land Nordrhein-Westfalen'; }
if (Schueler ['Jahrgang'] = 11)
then
paragraph := '§ 2 Abs. 1 der Verordnung über den Bildungsgang und die Abiturprüfung in der gymnasialen Oberstufe in Verbindung mit '+ paragraph;
if neuer_Schueler and (pos (veraenderbar, 'SchülerErzieher') <> 0)
then
begin
Brieftext4.Richtext := Brieftext2;
Brieftext4.Richtext := EditRichTextEx(Brieftext4.Richtext,
'Brieftext ändern ' +Schueler['NameVorname'] );
Brieftext3 := Brieftext4.Richtext;
end
else if (veraenderbar = 'Erzieher')
then
begin
aktSchId := Schueler['ID'];
Brieftext4.Richtext := EditRichTextEx(Brieftext3,
'Brieftext ändern ' +Schueler['NameVorname'] );
end
else if (veraenderbar = 'Schüler')
then
Brieftext4.Richtext := Brieftext3
else
Brieftext4.Richtext := Brieftext2;
Brieftext4.RichText := ReplaceText (Brieftext4.RichText, '$ZU_HAUSE$',zu_hause);
Brieftext4.RichText := ErsetzePlatzhalter(Brieftext4.RichText);
Brieftext4.RichText := ConvertRBRichtext (Brieftext4.RichText);
SchuleVerlassen.Richtext := SaveRechtsbehelf;
SchuleVerlassen.RichText := ReplaceText (SchuleVerlassen.RichText, '$PARAGRAPH$',paragraph);
SchuleVerlassen.RichText := ReplaceText (SchuleVerlassen.RichText, '$SCHULE$',dieSchule);
SchuleVerlassen.Richtext := ErsetzePlatzhalter (SchuleVerlassen.Richtext);
if Report.PageNo = 1
then
BriefRegion.BottomOffset := BottomOffset1
else
begin
BriefRegion.BottomOffset := BottomOffset2;
BriefRegion.OverFlowOffset := StdBrieftextTop2;
Brieftext4.Width := StdBrieftextWidth2;
end;
end;
Sie öffnen den Reportexplorer und bearbeiten den Report. Unten sehen sie die verschiedenen Reiter, der zweite von Links heißt: "Subreport1: Erzieher."
Dann nach oben auf den Reiter Berechnungen.
Im Menü darüber wählen sie bitte bei Ansicht: Ereignisse, dann finden sie die Programmierung.
Es gibt keine dummen Fragen, nur dumme Antworten, aber die geben wir gerne!
Re: Report stürzt beim Drucken der Nichtversetzten ab
Das sieht bei mir so aus:
- Uli Dierkes
- Beiträge: 1150
- Registriert: Sonntag 2. Dezember 2018, 17:02
- Wohnort: Wegberg
- Schulform: Gesamtschule (a.D.)
- Motto: Nicht verzagen ... fragen
- Kontaktdaten:
Re: Report stürzt beim Drucken der Nichtversetzten ab
Klicken Sie mal im linken Teilfenster auf Detail und dann im rechten Teilfenster auf "OnPrint".
Welcher Text erscheint dann im Programmierungs-Teilfenster ?
Welcher Text erscheint dann im Programmierungs-Teilfenster ?
. Einen guten Tag wünscht Uli Dierkes
Re: Report stürzt beim Drucken der Nichtversetzten ab
Wenn ich auf "onprint" klicke ändert sich nichts ... ich sehe dort keine Programmierung ... können Sie ggf. Ihren Report hier zur Verfügung stellen? Wenn es nicht der Gleiche ist?
Viele Grüße
Carsten
Viele Grüße
Carsten
Re: Report stürzt beim Drucken der Nichtversetzten ab
Das habe ich noch "weiter unten" gefunden: