createOrUpdateNotification
Versionshinweise | 20.2 |
---|
Code
String WorkSpaceScriptUtils.createOrUpdateNotification(IContainer notificationAC, replaceEmployees, List<String> employeePks)
String WorkSpaceScriptUtils.createOrUpdateNotification(IContainer notificationAC, replaceEmployees, String... employeePks)
Beschreibung
Erstellt oder ändert eine bestehende Benachrichtigung mit dem übergebenen IContainer
.
Ist Feld "Zeitpunkt" (NotifcationDate
>) nicht gefüllt, wird es mit der aktuellen Zeit vorbelegt. Die Mitarbeiter werden mit der Benachrichtigung verknüpft.
Bei Aktualisierung einer bestehenden Benachrichtigung wird der Gelesen-Status für alle Anwender zurückgesetzt.
Parameter
notificationAC
- Der Benachrichtigungs-Datensatz.replaceEmployees
-
true
- entfernt die bestehenden Verknüpfungen zu Mitarbeiter bevor die neuen Verknüpfungen angelegt werden.
false
- Die bisherigen Verknüpfungen bleiben bestehen.employeePks
- Die Liste der Mitarbeiter, die benachrichtigt werden sollen.
Rückgabe
Der Primärschlüssel der erstellten oder geänderten Benachrichtigung.
Beispiele
// IContainer Variable aus dem Prozess-Start Ereignis
IContainer opportunity = ProcessUtils.getVariable("container");
String user = LookupUtils.getPk(WorkSpaceScriptUtils.getValue(opportunity, "ProjectmanagerKey.Opportunity"));
// Erstellt den IContainer für die Benachrichtigung. 'NotificationDate' wird durch die Logik befüllt. 'IsDone' wird nicht mehr benötigt.
IContainer notification = WorkSpaceScriptUtils.createDefaultEntry("Notification");
WorkSpaceScriptUtils.setValue(notification, "NotificationType.Notification", LookupUtils.toLookup("NOTIFICATION_ENTITY"));
WorkSpaceScriptUtils.setValue(notification, "EntityName.Notification", WorkSpaceScriptUtils.getEntityName(opportunity));
WorkSpaceScriptUtils.setValue(notification, "EntityPk.Notification", WorkSpaceScriptUtils.getPk(opportunity));
WorkSpaceScriptUtils.setValue(notification, "Title.Notification", "Delegation der Anfrage");
WorkSpaceScriptUtils.setValue(notification, "Description.Notification", "Bitte bearbeiten Sie die Anfrage nach.");
WorkSpaceScriptUtils.setValue(notification, "Priority.Notification", "S_NEWSPRIOR-A");
WorkSpaceScriptUtils.setValue(notification, "IsSticky.Notification", true);
// Die Logik erstellt oder aktualisiert die Benachrichtigung der Anfrage und verknüpft sie mit dem eigenen Mitarbeiter und dem Projekt-Manager.
String notificationPk = WorkSpaceScriptUtils.createOrUpdateNotification(notification, true, user, SessionConstants.USERPK);
ProcessUtils.setVariable("notificationPk", notificationPk);