Anlass und Zeitpunkt für die Ausführung dieser Task
Ein Arbeitselement repräsentiert die Zuordnung eines Objekts zu einem
Benutzer oder einer Benutzergruppe aus einem bestimmten Grund. Das Objekt ist
in der Regel eine Staff-Aktivitätsinstanz, eine Prozessinstanz oder eine
Benutzertask. Die Gründe werden aus dem Aufgabenbereich abgeleitet, den der Benutzer
für eine Aktivität oder Task hat. Eine Aktivität oder Task kann mehrere Arbeitselemente
enthalten, weil ein Benutzer verschiedene Aufgabenbereiche in Bezug auf die Aktivität oder Task
haben kann. Für jeden dieser Aufgabenbereiche wird ein eigenes Arbeitselement erstellt.
Während
der Laufzeit einer Aktivitätsinstanz oder Taskinstanz können sich die dem Objekt zugeordneten
Personen ändern (z. B. weil eine Person in Urlaub geht, neue Mitarbeiter eingestellt werden
oder die Arbeit anders verteilt werden muss).
Um solche Änderungen zu berücksichtigen, können Sie Anwendungen zum Erstellen,
Löschen oder Übertragen von Arbeitselementen entwickeln.
Die Aktionen, die zur Verwaltung von
Arbeitselementen durchgeführt werden können, sind vom Aufgabenbereich des Benutzers abhängig; beispielsweise kann ein Administrator
Arbeitselemente erstellen, löschen und übertragen, aber der Taskeigner kann lediglich Arbeitselemente
übertragen.
- Erstellen Sie ein Arbeitselement.
// Abfragen der Taskinstanz, für die ein weiterer
// Administrator angegeben werden soll
QueryResultSet result = task.query("TASK.TKIID",
"TASK.NAME='Kundenbestellung'",
null, null, null);
if ( result.size() > 0 )
{
result.first();
// Erstellen des Arbeitselements
task.createWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_ADMINISTRATOR,"Schmidt");
}
Diese Aktion erstellt ein Arbeitselement für den
Benutzer Schmidt, der den Administratoraufgabenbereich hat.
- Löschen Sie ein Arbeitselement.
// Abfragen der Taskinstanz, für die ein Arbeitselement gelöscht werden soll
QueryResultSet result = task.query("TASK.TKIID",
"TASK.NAME='Kundenbestellung'",
null, null, null);
if ( result.size() > 0 )
{
result.first();
// Löschen des Arbeitselements
task.deleteWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_READER,"Schmidt");
}
Diese Aktion löscht das Arbeitselement für
den Benutzer Schmidt, der den Aufgabenbereich 'Leser' hat.
- Übertragen Sie ein Arbeitselement.
// Abfragen der Task, die neu geplant werden soll
QueryResultSet result =
task.query("DISTINCT TASK.TKIID",
"TASK.NAME='Kundenbestellung' AND
TASK.STATE=TASK.STATE.STATE_READY AND
WORK_ITEM.REASON=WORK_ITEM.REASON.REASON_POTENTIAL_OWNER AND
WORK_ITEM.OWNER_ID='Müller'",
null, null, null);
if ( result.size() > 0 )
{
result.first();
// Übertragen des Arbeitselements von Benutzer Müller auf Benutzer Schmidt,
// damit Schmidt an der Task arbeiten kann
task.transferWorkItem((TKIID)(result.getOID(1)),
WorkItem.REASON_POTENTIAL_OWNER,"Müller","Schmidt");
}
Diese Aktion überträgt das Arbeitselement auf
den Benutzer Schmidt, damit er daran arbeiten kann.