wiki-spaces-s1-pages-541032610-anzeige-plus-und-plus-bearbeitung-plus-von-plus-zus-plus-tzlichen-plus-registern-plus-in-plus-stammdaten.md
By Andreas Langmaack (Unlicensed)
Jan 07, 2019
2 min
Add a reaction
Bei einer Projektsteuerung können Mitarbeiter verplant werden. Um hier eine valide Eingabe tätigen zu können, sollen im Mitarbeiterstamm des Standards Fehlzeiten (geplante Urlaube, Weiterbildung etc.) hinterlegt werden können. Da die anzulegenden Metadaten nicht von neuen Registern/Feldgruppen, sondern von der Beziehung abhängen, wollen wir diesen Punkt zuerst klären.
Die Antwort ist Ja: Sie müssen den Hauptdatensatz des Standards, den eigenen Datensatz, das Daten-Edit-Element des Standards und ein Multi-Daten-Edit-Element anlegen
Die Antwort ist Nein: Sie müssen den Hauptdatensatz des Standards und das Daten-Edit-Element des Standards anlegen
Die Fehlzeiten sind eine 1:N-Beziehung. Im Kapitel Erstellung eines Stammdatendialoges wird beschrieben, wie die 1:N-Beziehungen in den Metadaten definiert werden. Sie werden in der Eigenschaft "Detail-Datensätze" des Hauptdatensatzes eingetragen. Daher muss auch der Hauptdatensatz angelegt werden. Da wir die neue 1:N-Beziehung beim Hauptdatensatz hinterlegen müssen, fangen wir mit dem neuen Datensatz an. Die zugrunde liegende Tabelle ist "BPKMitarbeiterFehlzeiten". Wir verwenden den Assistenten "Tabelle importieren". In allen Bereichen (Datensatz und Elemente) legen wir dafür die Gruppe "Mitarbeiterstamm" an.
Anlage des Datensatzes "recMitarbeiterstammFehlzeiten"
Anlage des Datensatzes "recMitarbeiterstamm"
Anlage des Multi-Daten-Edit-Elementes "mdeMitarbeiterstammFehlzeiten" mit "Datenherkunft zuordnen" = "recMitarbeiterstammFehlzeiten"
Anlage des Daten-Edit-Elementes "ediMitarbeiterstamm"
Anlage des Kontextmenüs "MitarbeiterFehlzeiten"
Zuordnung des Kontextmenüs "MitarbeiterFehlzeiten" zum Multi-Daten-Edit-Element "mdeMitarbeiterstammFehlzeiten"
Antwort ist Ja: Sie benötigen zusätzlich String Ressourcen.
Antwort ist Nein: Daten werden weiterhin als Integerwerte bzw. Checkboxen angezeigt
Laut Beschreibung im Beispiel gibt es festgelegte Arten der Fehlzeiten. Diese Arten legen wir als String-Ressource an:
|
Name
|
ID
|
Wert
| | --- | --- | --- | |
Fehlzeit
|
0
|
Verfügbar
| |
Fehlzeit
|
1
|
Urlaub
| |
Fehlzeit
|
2
|
Sonderurlaub
| |
Fehlzeit
|
3
|
Krankmeldung
|
Wählen Sie den Datensatz "recMitarbeiterstammFehlzeiten" aus und selektieren Sie dann das Feld "Fehlzeit". Ändern sie die Eigenschaft "Datentyp" in "Indizierter String" und hinterlegen Sie die String-Ressourcen in der Eigenschaft "Datentyp Ergänzung".
Antwort ist Ja: Sie benötigen zusätzliche Datenreferenzen und/oder Datenklassen und/oder serverseitige Datenbeschaffung
Antwort ist Nein: Weiter mit Validierungen
Der Vertreter ist ein Mitarbeiter. Die Datenklasse für Mitarbeiter ist im Standard bereits vorhanden. Wählen Sie den Datensatz "recMitarbeiterstammFehlzeiten" aus und selektieren Sie dann das Feld "Vertreter". Ändern sie die Eigenschaft "Datentyp" in "Schlüssel 1 einer Datenklasse" und hinterlegen Sie in der Eigenschaft "Datenklasse" "clsMitarbeiter.Sage.System".
Die Antwort ist Ja: Sie brauchen einen Makroaufruf und eine .Net-Assembly, die serverseitig ausgeführt wird
Die Antwort ist Nein: Die Anzeige einer zusätzlichen Registerkarte in Standard-Stammdaten ist abgeschlossen
Die Aufgabe ist, zu prüfen, ob bei einer Fehlzeit "Urlaub bezahlt" und "Sonderurlaub" eine Vertretung angegeben wurde. Wie bereits mehrfach erwähnt, erfolgt eine Vaildierung immer serverseitig. Wir codieren die Validierung und hinterlegen im Datensatz "recMitarbeiterstammFehlzeiten" im Ereignis "Vor Änderung":
|
Zeile
|
Befehl
|
Parameter 1
|
Parameter 2
| | --- | --- | --- | --- | |
1
|
Wenn
|
IsRunningOnServer()
|
| |
2
|
AufrufenDll
|
Sagede.ADID.Projektsteuerung.RealTimeData.dll
|
Sagede.ADID.Projektsteuerung.RealTimeData.Macros.MitarbeiterstammFehlzeitenBeforeUpdate
| |
3
|
Wenn
|
[_Canceled]
|
| |
4
|
FehlerMelden
|
100065830.ADID_Projektsteuerung.Platzhalter.0
|
[_CanceledMessage]
| |
5
|
Abbruch
|
|
| |
6
|
EndeWenn
|
|
| |
7
|
EndeWenn
|
|
|
Hinweis für Developer Partner
WDB-Eintrag 203334:
Dokument "Zusatzdokumentation zum Wiki für Developer Partner", Kapitel 2.1 MacroProcessBase
Anhang ADID.Projektsteuerung.rar
Dateien/Klassen MitarbeiterstammFehlzeitenBeforeUpdate
Collapse action bar
View all comments
Open Details Panel
Create page
Open Rovo Chat
Add a reaction
Anonymous
Dec 2, 2025
@Andreas Langmaack
Wie kann mann denn so ein Register per Makro oder so komplett ein- bzw. ausblenden je nach Situation? z.B. bei bestimmten Artikelgruppen soll dieser Extra-Reiter da sein, bei anderen nicht. Bonusfrage: Kann man dann auch verhindern, dass der User sich die Spalten von dem Register runter zieht und sich in ein anderes Register reinzieht (wodurch die Ein-/Ausblende-Logik etwas hinfälliger wäre)?
Reply
Anonymous
Dec 3, 2025
Antwort Sage: Wir können hier leider keinen Support leisten. Bitte mit dieser Frage an Ihren Support wenden.
Reply
Add a comment