| Rolle | Aufgaben | Rechte |
|---|---|---|
| Support-Mitarbeiter | Tickets bearbeiten, kommentieren, Status ändern | Lesen/Schreiben auf zugewiesene Tickets |
| Support-Leiter | Zuweisen, eskalieren, Support-Dashboard | Lesen/Schreiben auf alle Tickets |
| Sachbearbeiter (aus App 1) | Tickets zu eigenen Aufträgen einsehen | Nur Lesen auf verknüpfte Tickets |
Warum eine zweite App?
In vielen Unternehmen arbeiten verschiedene Teams mit unterschiedlichen Anwendungen — aber auf den gleichen Grunddaten. In UDM können mehrere Apps dasselbe Subsystem nutzen:
App 1: AUFTRAGSMANAGEMENT App 2: TICKETSYSTEM
+-------------------------+ +-------------------------+
| Kundenliste | | Ticket-Liste |
| Auftragsliste | | Kanban-Board |
| Management-Dashboard | | Support-Dashboard |
| Meine Aufträge | | Meine Tickets |
+-------------------------+ +-------------------------+
| |
| GEMEINSAMES SUBSYSTEM |
| "Vertrieb" |
| |
v v
+---------------------------------------------------+
| Kunden | Aufträge | Tickets | Kommentare |
+---------------------------------------------------+
"Beide Apps greifen auf dieselben Kunden zu.
Tickets verweisen auf Aufträge aus App 1."
Zwei Apps, ein Subsystem: Getrennte Oberflächen, gemeinsame Datenbasis.
Datenmodell erweitern
Entity „Tickets“
| Feldname | Datentyp | Pflicht | Hinweis |
|---|---|---|---|
Ticketnr | Text | Ja | Nummernkreis: T-0001, T-0002, ... |
Titel | Text | Ja | |
Beschreibung | Memo | Nein | Mehrzeiliges Textfeld |
Prioritaet | Auswahlliste | Ja | Niedrig / Normal / Hoch / Kritisch |
Status | Auswahlliste | Ja | Neu / Offen / In Bearbeitung / Warte auf Kunde / Gelöst / Geschlossen |
Kategorie | Auswahlliste | Nein | Frage / Problem / Änderungswunsch |
ErstelltAm | Datum | Ja | Automatisch |
KundeId | Verweis | Ja | FK → Kunden (aus App 1!) |
AuftragId | Verweis | Nein | FK → Auftraege (optional) |
ZugewiesenAn | Text | Nein |
Entity „TicketKommentare“
| Feldname | Datentyp | Hinweis |
|---|---|---|
TicketId | Verweis | FK → Tickets |
Verfasser | Text | Automatisch: aktueller Benutzer |
Text | Memo | |
ErstelltAm | Datum | Automatisch |
KUNDEN AUFTRÄGE TICKETS KOMMENTARE
(App 1+2) (App 1) (App 2) (App 2)
+--------+ +----------+ +----------+ +-----------+
| |<-------|Kunde(FK) | .----|Kunde(FK) |<------|Ticket(FK) |
| | | | | |Auftrag | |Verfasser |
| | | |<---' |(FK, opt.)| |Text |
| | | | |Titel | |ErstelltAm |
+--------+ +----------+ |Status | +-----------+
|Priorität |
+----------+
"Tickets verweisen auf Kunden UND optional auf Aufträge."
Vollständiges Datenmodell: Tickets verbinden sich mit den bestehenden Daten aus App 1.
Cross-App-Verknüpfung
Datenquellen für das Ticketsystem
| Datenquelle | Basis | Joins | Filter |
|---|---|---|---|
Alle Tickets |
Tickets | Kunde → Firmenname, Auftrag → Auftragsnr | — |
Meine Tickets |
Tickets | wie oben | ZugewiesenAn = [Aktueller Benutzer] |
Tickets zum Auftrag |
Tickets | Kunde → Firmenname | AuftragId = [per ElementMapping] |
Ansichten für das Ticketsystem
Ticket-Liste (Grid)
| Name | Ticket-Liste |
| Typ | Grid |
| Datenquelle | Alle Tickets |
Spalten: Ticketnr, Titel, Kunde, Auftrag, Priorität, Status, ZugewiesenAn
KPI-Indikator auf Priorität:
| ● Rot | Kritisch |
| ● Gelb | Hoch |
| ● Grün | Normal / Niedrig |
Ticket-Kanban
-
Neues Ansichtselement
Name Ticket-KanbanTyp Kanban Datenquelle Alle Tickets -
Kanban konfigurieren
Spaltenfeld StatusKarten-Titel TitelKarten-Untertitel Ticketnr+KundeFarbe Nach PrioritätScreenshot: Kanban-Board mit Ticket-Karten in Statusspalten
Dialog „Ticket bearbeiten“
-
Dialog anlegen
Name Ticket bearbeitenEntity Tickets -
Formularfelder
Feld Typ Hinweis Titel Textfeld Pflichtfeld Beschreibung Memo Mehrzeilig Kunde Lookup Zeigt Firmenname Auftrag Lookup Optional, zeigt Auftragsnr Priorität Dropdown Kategorie Dropdown Status Dropdown -
Subform: Kommentare
Fügen Sie eine Subform für Ticket-Kommentare hinzu (chronologisch, neueste oben).
Screenshot: Ticket-Dialog mit Kommentar-Subform
Aktionen im Ticketsystem
„Ticket zuweisen“ (nur Support-Leiter)
| Bedingung | Status = Neu oder Offen |
| Aktionsschritte | WriteData → ZugewiesenAn setzen + SendMessage an Mitarbeiter |
„Ticket eskalieren“
| Aktionsschritte | WriteData → Priorität auf „Kritisch“ + SendMessage an Support-Leiter |
„Ticket lösen“
| Bedingung | Status = In Bearbeitung |
| Aktionsschritte | WriteData → Status auf „Gelöst“ + SendMessage an Ersteller |
Von App 1 nach App 2: Verknüpfung
-
Ticket-Liste im Auftragsdialog einbetten
Fügen Sie dem Dialog „Auftrag bearbeiten“ (App 1) ein eingebettetes Ansichtselement hinzu:
Ansichtselement Tickets zum Auftrag(Grid)Datenquelle Tickets zum Auftrag -
ElementMapping konfigurieren
Das ElementMapping verbindet den aktuellen Auftrag mit der Ticket-Liste:
Quelle Aktueller Datensatz → IdZiel Ticket-Filter → AuftragIdSo sieht der Sachbearbeiter direkt im Auftrag, welche Tickets dazu existieren.
-
Aktion „Ticket erstellen“ im Auftragsdialog
Ein Button im Auftragsdialog öffnet den Ticket-Dialog mit vorausgefülltem Kunden und Auftrag:
Aktionstyp OpenDialogZiel-Dialog Ticket bearbeitenVorausfüllung KundeId = aktueller Kunde, AuftragId = aktueller Auftrag Screenshot: Auftragsdialog mit eingebetteter Ticket-Liste und Button „Ticket erstellen“
App „Ticketsystem“ konfigurieren
-
Neue App anlegen
Name TicketsystemBeschreibung Support-Tickets und Kundenanfragen -
Menüpunkte
Menüpunkt Ansichtselement Alle Tickets Ticket-Liste Kanban Ticket-Kanban Meine Tickets Ticket-Liste (DS: Meine Tickets) -
Rollen und Berechtigungen
Richten Sie die Rollen „Support-Mitarbeiter“ und „Support-Leiter“ ein (wie in der Rollen-Box oben beschrieben). Der „Sachbearbeiter“ aus App 1 erhält Leserechte auf Tickets.
Cross-App-Dashboard
-
Dashboard-Ansichtselement anlegen
Name Support-DashboardTyp Dashboard -
KPI-Kacheln
KPI Quelle Aggregation Offene Tickets Tickets (Status ≠ Gelöst/Geschlossen) Anzahl Kritische Tickets Tickets (Priorität = Kritisch) Anzahl Offene Aufträge Auftraege (aus App 1) Anzahl Ø Lösungszeit Gelöste Tickets Durchschnitt (ErstelltAm bis Gelöst) -
Diagramme
Tickets nach Kategorie (Donut) + Ticket-Trend über Zeit (Line) einbetten.
Screenshot: Support-Dashboard mit KPIs aus beiden Apps
Hintergrund-Jobs für Tickets
DataChange-Trigger: Neues Ticket → Benachrichtigung
| Trigger-Typ | DataChange (Post-Insert) |
| Entity | Tickets |
| Aktion | SendMessage an Support-Leiter |
Time-Job: Eskalation unbearbeiteter Tickets
| Zeitplan | Täglich um 09:00 Uhr |
| Bedingung | Status ≠ Gelöst/Geschlossen UND ErstelltAm < Heute − 7 Tage |
| Aktion | SendMessage → Eskalationsmail an Support-Leiter |
Ergebnis: Alles zusammen testen
- In App 1: Auftrag öffnen → „Ticket erstellen“ klicken → Ticket mit Kunde und Auftrag vorausgefüllt
- In App 2: Neues Ticket im Kanban-Board sehen → per Drag&Drop auf „In Bearbeitung“ ziehen
- In App 2: Ticket öffnen → Kommentar hinzufügen → „Ticket lösen“
- In App 1: Im Auftragsdialog die Ticket-Liste prüfen — das Ticket zeigt Status „Gelöst“
- Support-Dashboard: KPIs aus beiden Apps auf einen Blick
- Zweite App „Ticketsystem“ mit eigenem Datenmodell
- Cross-App-Verknüpfung: Tickets verweisen auf Kunden und Aufträge aus App 1
- Kanban-Board mit Drag&Drop-Statusänderung
- Eingebettete Ticket-Liste im Auftragsdialog (ElementMapping)
- Aktion „Ticket erstellen“ mit vorausgefüllten Feldern
- Cross-App-Dashboard mit KPIs aus beiden Apps
- DataChange-Trigger und Time-Job für automatische Eskalation
- Eigene Rollen und Berechtigungen für das Support-Team
Zusammenfassung: Was Sie gelernt haben
| Stufe | Sie können jetzt... |
|---|---|
| 0 | Datenstrukturen verstehen: Tabellen, Beziehungen, Datentypen |
| 1 | Eine App von Grund auf bauen: Subsystem, Entities, Datenquellen, Ansichten, Formulare, Rollen |
| 2 | Geschäftslogik konfigurieren: Aktionen, Workflows, Benachrichtigungen, Hintergrund-Jobs |
| 3 | Apps erweitern: KPIs, Diagramme, Dashboards, Datenimport, Dateianhänge, PDF-Berichte |
| 4 | Apps verbinden: Gemeinsame Daten, Cross-App-Verknüpfung, Kanban, übergreifende Dashboards |