Zum Inhalt

GetTimeTableText (Opus Funktion)

Beschreibung

Gibt einen Stundenplan im RTF Format unter Berücksichtigung der Einstellungen zurück. Es ist auch möglich, über eine Callback Funktion den Inhalt der Zellen zu steuern.

Argumente

Name Typ Beschreibung
TableType [integer](../../standard-datentypen/integer.md) | 1 | Wochenplan | | --- | --- | | 2 | Kursplan | | 4 | Semesterplan | | 0 | Automatischer Plantyp (Es wird der Typ der ersten Klassengruppe genommen) | | \| | (eines der oberen nehmen und die weiteren Optionen mit der OR Operation ( \| ) verknüpfen. | | 0x08 (8) | Angegebene Lektionen (i_SSB_LessonID) | | 0x10 (16) | Persönlicher Stundenplan | | 0x20 (32) | Klassengruppenstundenplan | | 0x40 (64) | Lehrerplan | | 0x80 (128) | Raumplan | | 0x80000 | Hausplan | je eins und dann zusammenrechnen Weitere Optionen: 0x200 (512): Gleiche Klassengruppen zusammenfassen 0x400 (1024): Gleiche Lehrer zusammenfassen 0x800 (2048): Gleiche Räume zusammenfassen 0x1000 (4096) RTF Texte für Anhang generieren (Siehe Argumente MarksList1, MarksList2, SubjectTable, SubjectList) 0x2000 (8192) Totale Lektionenzahl hinzufügen 0x4000 (16384): Lektionenzahl ausgeben (nur Lehrerplan) 0x8000 (32768): Raumplan als kleine Tabelle ausgeben (nur Raumplan) 0x20000 (131072): Nur die reine Tabelle ausgeben (alle Pläne) 0x40000 (262144): Callback Funktion für die Zellentexte verwenden. Dazu muss der Parameter CallbackFunction angegeben werden. 0x80000: Lektionen an Feiertagen sollen ausgeschlossen werden
DatasetID [integer](../../standard-datentypen/integer.md) [[integer](../../standard-datentypen/integer.md)] TeacherID / ClassGroupID / RoomID / AddressRoleID / LessonID oder Array der entsprechenden IDs
PlanningPeriodID [integer](../../standard-datentypen/integer.md) PlanningPeriodID
PrintableTable [integer](../../standard-datentypen/integer.md) PrintableTable (0/1) 0 = schneller
SeminarCenterID [integer](../../standard-datentypen/integer.md) ID des Standortes
ShowTeacherAvailability [integer](../../standard-datentypen/integer.md) 1 = nicht verfügbare Lektionen werden grau hinterlegt.
TeacherFlag [integer](../../standard-datentypen/integer.md) Nur bei Wochenplan relevant 0 = nur Lehrerkürzel wird ausgegeben 1 = der volle Name der Lehrpersonen wird ausgegeben
SubjectFlag [integer](../../standard-datentypen/integer.md) Nur bei Wochenplan relevant 0 = nur der Fachname wird ausgegeben 1 = Fachname und Beschreibung wird ausgegeben
SkipEmptyColumns [integer](../../standard-datentypen/integer.md) (optional) (0/1) 1 = Leere Spalten im Stundenplan werden nicht ausgegeben
DayIDList [[integer](../../standard-datentypen/integer.md)] (optional) Liste von DayID, die maximal ausgegeben werden sollen. Ist das Array leer oder wird es weggelassen, dann werden alle Wochentage berücksichtigt.
CallbackFunction [string](../../standard-datentypen/string.md) (optional) Name einer Callback Funktion, mit welcher der Zellentext bestimmt werden kann. Diese Funktion sollte im Minimum folgendermassen aussehen, wobei der Funktionsname beliebig sein kann:
function TimeTableCallback(CellText, LessonID, LessonDate)
{
// Hier den CellText setzen oder verändern.
return (CellText);
};
Wird diese Funktion fehlerhaft definiert oder gibt sie einen falschen Datentyp zurück, wird der generierte Text verwendet. Die Argumente sind: | Name | Wert | | --- | --- | | CellText | Ursprünglicher RTF Text der Zelle | | LessonID | ID der Lektion, welche in der Zelle abgebildet werden soll | | LessonDate | Einzelnes Datum der Lektion. Dies wird nur bei Semesterplan und bei Kursplan verwendet, da nur dort einzelne Daten aufgeführt werden. Die Callback Funktion muss aber immer alle drei Parameter besitzen. |
MarksList1 &[string](../../standard-datentypen/string.md) (optional) Zurügegebener RTF String mit einer zeilenweisen Liste von Datenserien, die verwendet wurden (mit Datumsangaben auf die Woche bezogen)
MarksList2 &[string](../../standard-datentypen/string.md) (optional) Zurügegebener RTF String mit einer zeilenweisen Liste von Datenserien, die verwendet wurden (mit Datumsangaben auf den Tag bezogen)
SubjectsTable &[string](../../standard-datentypen/string.md) (optional) Zurügegebener RTF String mit einer Tabelle der Fächer und Lehrpersonen, die verwendet wurden
SubjectsList &[string](../../standard-datentypen/string.md) (optional) Zurügegebener RTF String mit einer zeilenweisen Liste der Fächer und Lehrpersonen, die verwendet wurden

Rückgabewert  string

RTF String des Stundenplans

Beispiel

Result = GetTimeTableText(1+32+0x20000+0x40000, ID, GetSSB_Class_i_SSE_PlanningPeriodIDEntry( GetSSB_ClassGroup_i_SSB_ClassIDEntry(ID)), 1, 0, 0, 0, 0, 0, [1,2,3,4,5], "TableText");

Callback Funktion:

function TableText(CellText, LessonID, LessonDate) { Lo_ClassSubject = GetSSB_ClassSubjectObject(GetSSB_Lesson_i_SSB_ClassSubjectIDEntry(LessonID)); CellText = "\fs16 " + "{\b "+GetSSB_LessonType_s_PrefixEntry(Lo_ClassSubject.i_SSB_TypeID) + GetSSB_Subject_s_NameEntry(Lo_ClassSubject.i_SSB_SubjectID) + GetSSB_LessonType_s_SuffixEntry(Lo_ClassSubject.i_SSB_TypeID) + "}\par{\i " + GetSSB_Teacher_s_ShortEntry(Lo_ClassSubject.i_SSB_TeacherID) + "}\~{\i " + GetSSB_Room_s_NameEntry(GetSSB_Lesson_i_SSB_RoomIDEntry(LessonID)) + "}"; // Hier den CellText setzen oder verändern. CellText = StrReplace(CellText,"\b (","("); return (CellText); };

Siehe auch