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: 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); }; |
|---|