GetTimeTableText (Opus Funktion)

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.
Generates a formatted timetable text for one or more teachers, class groups, or rooms over a planning period. Type controls the layout type and display period. Optional parameters allow suppressing empty columns, restricting to specific days, and retrieving auxiliary table data.

Argumente

Name

Typ

Beschreibung

Name

Typ

Beschreibung

TableType

integer

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

[integer]

TeacherID / ClassGroupID / RoomID / AddressRoleID / LessonID

oder Array der entsprechenden IDs

PlanningPeriodID

integer

PlanningPeriodID

PrintableTable

integer

PrintableTable (0/1)

0 = schneller

SeminarCenterID

integer

ID des Standortes

ShowTeacherAvailability

integer

1 = nicht verfügbare Lektionen werden grau hinterlegt.

TeacherFlag

integer

Nur bei Wochenplan relevant

0 = nur Lehrerkürzel wird ausgegeben

1 = der volle Name der Lehrpersonen wird ausgegeben

SubjectFlag

integer

Nur bei Wochenplan relevant

0 = nur der Fachname wird ausgegeben

1 = Fachname und Beschreibung wird ausgegeben

SkipEmptyColumns

integer

(optional) (0/1) 1 = Leere Spalten im Stundenplan werden nicht ausgegeben

DayIDList

[integer]

(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

(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

(optional) Zurügegebener RTF String mit einer zeilenweisen Liste von Datenserien, die verwendet wurden (mit Datumsangaben auf die Woche bezogen)

MarksList2

&string

(optional) Zurügegebener RTF String mit einer zeilenweisen Liste von Datenserien, die verwendet wurden (mit Datumsangaben auf den Tag bezogen)

SubjectsTable

&string

(optional) Zurügegebener RTF String mit einer Tabelle der Fächer und Lehrpersonen, die verwendet wurden

SubjectsList

&string

(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");

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

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

---