process_list_by_user()
Ermittelt alle Prozesse, in denen ein Benutzer aktuell ein Work-Item im Eingangskorb hat,
über wfm.AdminGetProcessListByUser.
1. Signatur
-
Sync
-
Async
ecm.workflow.process_list_by_user(
organisation: str | ECMOrganisation,
user: ECMOrganisationObjectIdLike,
) -> list[ECMProcess]
await ecm.workflow.process_list_by_user(
organisation: str | ECMOrganisation,
user: ECMOrganisationObjectIdLike,
) -> list[ECMProcess]
2. Parameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
|
|
— |
ID der Workflow-Organisation oder eine |
|
|
— |
Der Workflow-Organisations-Benutzer — nicht die Security-Benutzer-GUID aus |
3. Rückgabewert
Eine Liste von ECMProcess-Objekten. Leere Liste, wenn keine Work-Items im Eingangskorb liegen.
3.1. Datenmodell
ECMProcess-
-
id(str) — GUID der Prozessinstanz -
name(str) — Anzeigename des Prozesses -
subject(str) — Betreff (leer, wenn nicht gesetzt) -
state(int) — Prozess-Status:1=INIT,2=RUNNING,4=SUSPENDED,8=ACTIVE,16=TERMINATED,32=COMPLETED,64=SYSSUSPENDED -
creation(ECMProcessCreation) — Anlegungsmetadaten -
activities(tuple[ECMProcessActivity, …]) — Aktivitäten des Prozesses, die für den Benutzer sichtbar sind
-
ECMProcessCreation-
-
user_id(str) — GUID des erzeugenden Benutzers -
user_name(str) — Anzeigename -
time(datetime \| None) — Zeitpunkt der Anlage (UTC)
-
ECMProcessActivity-
-
id(str) — GUID der Activity-Instanz -
name(str) — Anzeigename -
state(int) — Activity-State-Bitmaske; siehe Hinweis unten -
is_personalised(bool) — Komfort-Flag, äquivalent zubool(state & 128) -
creation_time(datetime \| None) — Anlage der Activity (UTC) -
wi_creation_time(datetime \| None) — Anlage des Work-Items im Eingangskorb (UTC) -
owner_time(datetime \| None) — Letzte Personalisierung;Nonewenn aktuell nicht personalisiert (Server liefert0) -
reminder_time(datetime \| None) — Erinnerungszeitpunkt;Nonewenn nicht gesetzt -
owner(str) — Name des aktuellen Owners; leer, wenn der Server das Attribut nicht liefert -
owner_id(str) — GUID des aktuellen Owners; leer, wenn der Server das Attribut nicht liefert
-
|
Activity-State-Bitmaske (empirisch beobachtet, abweichend von
Die |
4. Beispiele
4.1. Prozessliste für die aktive Organisation und Root
-
Sync
-
Async
from ecmind_blue_client.ecm import (
ECMOrganisationObjectRequestData,
ECMOrganisationObjectRequestType,
)
USER_CLASS_ID = "9AB24246BB9040A29FCD6015CF4F4BD9"
active_org = ecm.workflow.active_organisation()
users = ecm.workflow.organisation_objects(
active_org,
request_type=ECMOrganisationObjectRequestType.BY_CLASS_IDS,
class_ids=USER_CLASS_ID,
request_data=ECMOrganisationObjectRequestData.INDEX_ONLY,
)
root = next(u for u in users if u.name.lower() == "root")
for process in ecm.workflow.process_list_by_user(active_org, root):
print(f"{process.name} Status={process.state}")
for a in process.activities:
flag = "personalisiert" if a.is_personalised else "offen"
print(f" {a.name} [{flag}]")
from ecmind_blue_client.ecm import (
ECMOrganisationObjectRequestData,
ECMOrganisationObjectRequestType,
)
USER_CLASS_ID = "9AB24246BB9040A29FCD6015CF4F4BD9"
active_org = await ecm.workflow.active_organisation()
users = await ecm.workflow.organisation_objects(
active_org,
request_type=ECMOrganisationObjectRequestType.BY_CLASS_IDS,
class_ids=USER_CLASS_ID,
request_data=ECMOrganisationObjectRequestData.INDEX_ONLY,
)
root = next(u for u in users if u.name.lower() == "root")
for process in await ecm.workflow.process_list_by_user(active_org, root):
print(f"{process.name} Status={process.state}")
for a in process.activities:
flag = "personalisiert" if a.is_personalised else "offen"
print(f" {a.name} [{flag}]")
5. Hinweise zur Server-Antwort
Beobachtungen vom enaio®-Testserver, die nicht 1:1 der formalen Schemadokumentation entsprechen:
-
Die Attribute
OwnerundOwnerIdder<Activity>werden auch bei personalisierten Aktivitäten nicht immer geliefert. Der Parser behandelt das als „leerer String", die Personalisierung wird überActivity.State & 128erkannt. -
OwnerTime="0"wird als „nicht personalisiert" interpretiert und zuNonegemappt. -
Activity.Stateverwendet eine andere Bitmaske alsProcess.State. Die dokumentierteProcess.State-Aufzählung (1=INIT…64=SYSSUSPENDED) gilt für Activities nicht.
6. Siehe auch
-
organisations() — liefert die
organisation -
organisation_objects() — User-Lookup im Workflow-Organisationsbaum