WorkflowModelManager – Global
Die WorkflowModelManager Die Skripteinbindung bietet Methoden zum Abfragen des Workflow-Modells, zum hin- und Herwechseln zwischen angegebenen Workflow-Verlaufselementen und zum Abfragen des Verlaufs nach Aktivitäts- und übergangsspezifischen Informationen.
Die Interaktion mit WorkflowModelManager Skripteinbindung erfolgt über AktivitätenHistoryRecord Datenobjekt. Die AktivitätenHistoryRecord Objekt ist eine innere Klasse und wird nur bei der Interaktion mit verwendet WorkflowModelManager .
var model = new WorkflowModelManager('myContextId');
var activities = model.getExecutedHistory();
var model = new WorkflowModelManager('myContextId');
model.getExecutedHistory();
model.playBack();
Zu diesem Zeitpunkt muss der playBack die ausgeführten Übergänge laden. Dies wird auch eine Rolle spielen, wenn Sie mit einem Modell rückwärts gehen, um eine bestimmte Aktivität rückgängig zu machen.
var model = new WorkflowModelManager('myContextId');
model.getExecutedHistory();
model.dump();WorkflowModelManager – WorkflowModelManager(String contextId)
Erstellt ein neues WorkflowModelManager-Objekt (Konstruktor) im angegebenen Kontext.
| Name | Typ | Beschreibung |
|---|---|---|
| contextId | Zeichenfolge | ID für den Kontext, in dem der WorkflowModelManager erstellt werden soll. |
| Typ | Beschreibung |
|---|---|
| ActivityHistoryRecord | Angefordertes JavaScript-Objekt „ActivityHistoryRecord“. |
var model = new WorkflowModelManager('MyContextId');
WorkflowModelManager – getActivityHistoryRecordById(String haRecordSysId)
Ruft die Verlaufsaktivität ab, die von zwischengespeichert wird wf_history.sys_idIm Argument angegeben.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | SYS_ID des gewünschten Aktivitätsverlaufs [wf_history]-Datensatzes. |
| Typ | Beschreibung |
|---|---|
| ActivityHistoryRecord | JavaScript-Objekt „ActivityHistoryRecord“ angefordert. |
Dieses Beispiel zeigt, wie Sie die Methode zum Abrufen des angegebenen Verlaufsaktivitätsdatensatzes verwenden.
var model = new WorkflowModelManager('a71efa6345550110a86630cf9552f3af'); // The sys_id of the wf_context
model.getExecutedHistory();
var current_hist_obj = model.getActivityHistoryRecordById('2b1efa6345550110a86630cf9552f3bc'); // The sys_id of the desired record
gs.info(JSON.stringify(current_hist_obj));
Ausgabe:
{
"sys_id":"2b1efa6345550110a86630cf9552f3bc",
"index":"3",
"startTime":1643795456000,
"endTime":1643795456000,
"wfaId":"31bf2a05e7c133009a610558d2f6a968",
"wfaIsParent":{
},
"parent":"",
"wfaName":{
},
"adId":"db8c65aec0a8016501d00259bc7203a4",
"adName":{
},
"transitions":[
{
"sys_id":"e31efa6345550110a86630cf9552f3c0",
"ahrId":"2b1efa6345550110a86630cf9552f3bc",
"to":"39bf2a05e7c133009a610558d2f6a970",
"from":"31bf2a05e7c133009a610558d2f6a968",
"rolledBack":"false",
"rolledBackBy":""
},
{
"sys_id":"e71efa6345550110a86630cf9552f3c0",
"ahrId":"2b1efa6345550110a86630cf9552f3bc",
"to":"7dbf2a05e7c133009a610558d2f6a96b",
"from":"31bf2a05e7c133009a610558d2f6a968",
"rolledBack":"false",
"rolledBackBy":""
}
],
"rolledBackBy":"",
"ARRIVED":true,
"NOT_ARRIVED":false,
"joinFroms":[
],
"joinSatisfied":false,
"rollingBackBy":0
}
WorkflowModelManager – getAllTransitionedIntoActivity(Object description)
Ruft die Verlaufsaktivitäten ab, die ausgeführt und in die durch dargestellt werden sys_idIm Argument.
Die Als Nächstes Der Status basiert auf wf_activity.sys_idIst der Aktivität zugeordnet, die im haRecord dargestellt wird, die als BIS IN einem Übergang vorhanden ist, der allen ActivityHistoryRecords zugeordnet ist, die im Verlauf des Workflows ausgeführt wurden. (Dies unterscheidet sich von getPreviousByTransition, das nur TO-Übergänge zurückgibt, die in der Ausführungssequenz (zeitlich) vor dem haRecord liegen.) Der Rückgabewert ist eine Sammlung von ActivityHistoryRecords, die das haRecord.wfaId-Argument als ihre TO-Aktivität identifizieren. Die Rückgabewerte basieren auf allen Übergängen in der ausgeführten Verlaufssammlung, die umgestellt wird. Um die Aktivität, die rechtzeitig vor dieser Aktivität ausgeführt wurde, abzurufen, verwenden SiegetPreviousByExecutedOrder.
| Name | Typ | Beschreibung |
|---|---|---|
| description | Objekt | JavaScript-Objekt „ActivityHistoryRecord“. |
| Typ | Beschreibung |
|---|---|
| Objekt-Array | Array von ActivityHistoryRecord-JavaScript-Objekten. |
WorkflowModelManager – getAllTransitionedIntoActivityId(String haRecordSysId)
Ruft die Verlaufsaktivitäten ab, die ausgeführt und in die durch dargestellt werden sys_idIm Argument. Die nextDer Status basiert auf wf_activity.sys_idIst der Aktivität zugeordnet, die im haRecord dargestellt wird, die als BIS IN einem Übergang vorhanden ist, der allen ActivityHistoryRecords zugeordnet ist, die im Verlauf des Workflows ausgeführt wurden. (Dies unterscheidet sich von getPreviousByTransition, das nur TO-Übergänge zurückgibt, die in der Ausführungssequenz (zeitlich) vor dem haRecord liegen.) Der Rückgabewert ist eine Sammlung von ActivityHistoryRecords, die das haRecord.wfaId-Argument als ihre TO-Aktivität identifizieren.
Die nextDer Status basiert auf wf_activity.sys_idIst der Aktivität zugeordnet, die im haRecord dargestellt wird, die als BIS IN einem Übergang vorhanden ist, der allen ActivityHistoryRecords zugeordnet ist, die im Verlauf des Workflows ausgeführt wurden. (Dies unterscheidet sich von getPreviousByTransition, das nur TO-Übergänge zurückgibt, die in der Ausführungssequenz (zeitlich) vor dem haRecord liegen.) Der Rückgabewert ist eine Sammlung von ActivityHistoryRecords, die das haRecord.wfaId-Argument als ihre TO-Aktivität identifizieren.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | Die sys_id des Aktivitätsverlaufs (Tabelle „wf_history“). |
| Typ | Beschreibung |
|---|---|
| Objekt-Array | Array von angeforderten ActivityHistoryRecord-JavaScript-Objekten. |
var model = new WorkflowModelManager('a143585c3b001000dada82c09ccf3d44');
model.getExecutedHistory();
var activity = model.begin;
gs.print('activity: ' + activity.wfaName + ', transitions: ' + activity.transitions.length);
while( activity != null){
gs.print('activity: ' + activity.wfaName + ', transitions: ' + activity.transitions.length);
var parents = model.getAllTransitionedIntoActivity(activity);
for( var i = 0; i < parents.length; i++ ){
gs.print(' --------------- parent activity: ' + parents[i].wfaName );
}
activity = model.getNextByExecutedOrder( activity );
}
WorkflowModelManager – getExecutedHistory( )
Dies ist die Worker-Methode, die zum Initialisieren des WorkflowModelManager-Objekts aufgerufen werden muss. Beim Initialisieren des WorkflowModelManager-Objekts erstellt und füllt getExecutedHistory() das activityHistoryRecord-Datenobjekt-Array (Mitglied der WorkflowModelManager-Klasse). Die meisten WorkflowModelManager-Methoden geben eine Teilmenge des activityHistoryRecord-Array zurück. Ihr Skript kann dann eine oder mehrere der activityHistoryRecord-Methoden für die weitere Arbeit aufrufen.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolgen-Array | Sortiertes Array von sys_ids aus der wf_history-Tabelle. Es ist unwahrscheinlich, dass der Client-Code den Rückgabewert verwendet. Er wird intern in diesem Objekt gespeichert, um von nachfolgenden Methodenaufrufen verwendet zu werden. |
var model = new WorkflowModelManager('myContextId');
var activities = model.getExecutedHistory();
var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');
WorkflowModelManager – getFinalExecutedActivityList( )
Fragt die wf_history-Tabelle nach Kontext ab und ruft alle im Workflow ausgeführten Aktivitäten ab. Diese werden vom Kontext angegeben, der in der Konstruktion dieses Objekts festgelegt ist.
Diese Funktion erstellt eine Liste der ausgeführten Aktivitäten in der genauen Reihenfolge, in der jede Aktivität das serverseitige ActivityManager.java durchlaufen hat, wobei der neue activity_index verwendet wird, um die Reihenfolge aus der Datenbank zu erzwingen. Bei diesem Aufruf wird nicht das vollständige Bild vermittelt; es muss die Übergänge laden und abbilden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt-Array | Array von ActivityHistoryRecord-JavaScript-Objekten. |
WorkflowModelManager – getFinalExecutedActivityIdList( )
Ruft die Liste von ab wf_history.sys_idsAller Aktivitäten, die erfolgreich ausgeführt wurden und bis zum Aufrufen der Funktion nicht zurückgesetzt oder übersprungen wurden.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Zeichenfolgen-Array | Array von wf_history.sys_id-Werten für ausgeführte Aktivitäten. |
var model = new WorkflowModelManager('ee3e0a053b101000dada82c09ccf3d7c');
model.getExecutedHistory();
var finals = model.getFinalExecutedActivityIdList();
gs.print(' EXECUTION PATH IDs --------------- : ' + finals.length);
for ( var x = 0; x < finals.length; x++ ) {
gs.print(finals[x] );
}
WorkflowModelManager – getNextByExecutedOrder(Object haRecord)
Ruft die Verlaufsaktivität ab, die direkt nach der im Argument angegebenen ausgeführt wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecord | Objekt | JavaScript-Objekt „ActivityHistoryRecord“. |
| Typ | Beschreibung |
|---|---|
| Objekt | Das angeforderte ActivityHistoryRecord-JavaScript-Objekt. |
Das folgende Beispiel zeigt die Verwendung von GetNextByExecutedOrder() Methode zum Abrufen der Verlaufsaktivität, die nach der angegebenen Aktivität ausgeführt wurde.
var model = new WorkflowModelManager('34451ec2cb200200d71cb9c0c24c9c66'); // Sys_id of the workflow context
model.getExecutedHistory();
var current_hist_obj = model.getActivityHistoryRecordById('0199483adba52200a6a2b31be0b8f562');// Sys_id of the current activity from wf_history table
var next_hist_obj = model.getNextByExecutedOrder(current_hist_obj);
gs.info(JSON.stringify(next_hist_obj));
Ausgabe:
{
"sys_id":"b2c5a06e07e0011094b4fe4f7c1ed049",
"index":"3",
"startTime":1640265864000,
"endTime":1640265864000,
"wfaId":"64d4e4aa07e0011094b4fe4f7c1ed060",
"wfaIsParent":{
},
"parent":"",
"wfaName":{
},
"adId":"1ca8d7cf0a0a0b265e9a000c2c08248c",
"adName":{
},
"transitions":[
{
"sys_id":"bac5a06e07e0011094b4fe4f7c1ed07d",
"ahrId":"b2c5a06e07e0011094b4fe4f7c1ed049",
"to":"e0d4acaa07e0011094b4fe4f7c1ed062",
"from":"64d4e4aa07e0011094b4fe4f7c1ed060",
"rolledBack":"false",
"rolledBackBy":""
}
],
"rolledBackBy":"",
"ARRIVED":true,
"NOT_ARRIVED":false,
"joinFroms":[
],
"joinSatisfied":false,
"rollingBackBy":0
}
WorkflowModelManager – getNextByExecutedOrderId(String haRecordSysId)
Ruft die Verlaufsaktivität ab, die von zwischengespeichert wird wf_history.sys_idWird im Argument angegeben und ruft dann in auf GetNextByExecutedOrder() Mit dem abgerufenen JavaScript-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | Die sys_id des Aktivitätsverlaufs (Tabelle „wf_history“). |
| Typ | Beschreibung |
|---|---|
| Objekt | Angefordertes JavaScript-Objekt „ActivityHistoryRecord“. |
var model = new WorkflowModelManager('7b3e01573b130000dada82c09ccf3dcf');
model.getExecutedHistory();
var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');
current.debugDump();
var results = model.getNextByExecutedOrderId(current.sys_id);
results.debugDump();
WorkflowModelManager – getNextByTransitionId(String haRecordSysId)
Ruft die Verlaufsaktivität ab, die direkt nach der durch die im Argument angegebene sys_ID identifizierten Aktivität ausgeführt wurde.
Diese Funktion ruft den zwischengespeicherten Verlaufsdatensatz ab, der dem angegebenen zugeordnet ist wf_history.sys_idUnd ruft dann an GetNextByTransition . Die Rückgabewerte basieren darauf, welche Übergänge vor dem kamen haRecordÜbermittelt und nicht unbedingt die Aktivitäten, die kurz vor ausgeführt wurden haRecordRechtzeitig. Um die Aktivität zu erhalten, die rechtzeitig vor dieser Aktivität ausgeführt wurde, verwenden Sie getNextByExecutedOrder .
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | SYS_ID des gewünschten Aktivitätsverlaufs [wf_history]-Datensatzes. |
| Typ | Beschreibung |
|---|---|
| Objekt-Array | Array von ActivityHistoryRecord-JavaScript-Objekten. |
var model = new WorkflowModelManager('7b3e01573b130000dada82c09ccf3dcf');
model.getExecutedHistory();
model.playBack();
var current = model.getActivityHistoryRecordById('d6681d573b130000dada82c09ccf3d10');
current.debugDump();
var results = model.getNextByTransitionId(current.sys_id);
gs.print('COMPLETED NEXT' + results.length );
for(var i = 0; i < results.length; i++){
results[i].debugDump();
}
WorkflowModelManager – getPreviousByExecutedOrder(Object haRecord)
Ruft die Verlaufsaktivität ab, die direkt vor der im Argument angegebenen Aktivität ausgeführt wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecord | Objekt | JavaScript-Objekt "ActivityHistoryRecord" |
| Typ | Beschreibung |
|---|---|
| Objekt | Angefordertes JavaScript-Objekt „ActivityHistoryRecord“. |
WorkflowModelManager – getPreviousByExecutedOrderId (String haRecordSysId)
Ruft die Verlaufsaktivität ab, die von zwischengespeichert wurde wf_history.sys_idIm Argument angegeben, ruft dann auf GetPreviousByExecutedOrder() Mit dem abgerufenen JavaScript-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | ID des Workflow-Verlaufssystems (wf_history.sys_id) |
| Typ | Beschreibung |
|---|---|
| ActivityHistoryRecord | Angefordertes JavaScript-Objekt „ActivityHistoryRecord“. |
var model = new WorkflowModelManager('contextId');
model.getExecutedHistory();
var current = model.getActivityHistoryRecordById('wf_history.sys_id');
current.debugDump();
var results = model.getPreviousByExecutedOrderId(current.sys_id);
results.debugDump();
WorkflowModelManager – getPreviousByTransition(Object haRecord)
Ruft die Verlaufsaktivitäten ab, die unmittelbar vor der im Argument angegebenen ausgeführt wurden.
Der next-Status basiert auf der wf_activity.sys_id, die auf der Aktivität im haRecord basiert. Dieser ist als TO in einem Übergang vorhanden, der beliebigen ActivityHistoryRecords (vor dem haRecord in der Ausführungssequenz) zugeordnet sind. (Dies unterscheidet sich von getAllTransitionedIntoActivity, das alle TO-Übergänge bis zum angegebenen haRecord in der Ausführungssequenz zurückgibt.) Der Rückgabewert ist eine Sammlung von ActivityHistoryRecords, die das haRecord.wfaId-Argument als ihre TO-Aktivität identifizieren. Die Rückgabewerte basieren darauf, welche Übergänge erfolgten, bevor der haRecord sendete, und nicht notwendigerweise auf den Aktivitäten, die direkt vor dem haRecord ausgeführt wurden (rechtzeitig). Um die Aktivität zu erhalten, die rechtzeitig vor dieser Aktivität ausgeführt wurde, verwenden Sie getPreviousByExecutedOrder .
| Name | Typ | Beschreibung |
|---|---|---|
| haRecord | Objekt | JavaScript-Objekt „ActivityHistoryRecord“. |
| Typ | Beschreibung |
|---|---|
| Objekt-Array | Array von angeforderten ActivityHistoryRecord-JavaScript-Objekten. |
WorkflowModelManager – getPreviousByTransitionId(String haRecordSysId)
Ruft die Verlaufsaktivitäten ab, die unmittelbar vor der im Argument angegebenen ausgeführt wurden.
Die nextDer Status basiert auf wf_activity.sys_idIst der Aktivität zugeordnet, die im haRecord dargestellt wird, der als BIS IN einem Übergang vorhanden ist, der allen ActivityHistoryRecords zugeordnet ist, die in der Ausführungssequenz vor dem haRecord stehen. Der Rückgabewert ist eine Sammlung von ActivityHistoryRecords, die das haRecord.wfaId-Argument als ihre TO-Aktivität identifizieren. Die Rückgabewerte basieren darauf, welche Übergänge vor der Zusammenfassung von haRecord kamen und nicht unbedingt auf den Aktivitäten, die kurz vor dem haRecord rechtzeitig ausgeführt wurden. Dient zum Abrufen der Aktivität, die vor dieser Aktivität ausgeführt wurde, in der Zeitverwendung GetPreviousByExecutedOrder() .
| Name | Typ | Beschreibung |
|---|---|---|
| haRecordSysId | Zeichenfolge | SYS_ID des Aktivitätsverlaufs. Tabelle: Workflow-Verlauf [wf_history] |
| Typ | Beschreibung |
|---|---|
| Objekt | Array von angeforderten ActivityHistoryRecord-JavaScript-Objekten. |
Das folgende Beispiel zeigt die Verwendung von GetPreviousByTransitionId() Methode zum Abrufen von ActivityHistoryRecord-Objekten.
var w_history = new GlideRecord('wf_history');
w_history.addQuery('context.id', '089ebdad1b420110c97a40c6cc4bcbf7'); // Pass sys_id of record -> Requested Item / Change Request / Request, etc....
w_history.query();
if (w_history.next()) {
var model = new WorkflowModelManager(w_history.context); // Call sys_id of the workflow context
model.getExecutedHistory();
var previousObje_hist_obj = model.getPreviousByTransitionId(w_history.sys_id); // Sys_id of wf_history table
gs.info(JSON.stringify(previousObje_hist_obj));
}
Ausgabe:
[
{
"sys_id": "a40a92950721011094b4fe4f7c1ed05e",
"index": "1",
"startTime": 1644255752000,
"endTime": 1644255758000,
"wfaId": "28200e2a77873300b473455caa1061cd",
"wfaIsParent": {},
"parent": "",
"wfaName": {},
"adId": "3961a1da0a0a0b5c00ecd84822f70d85",
"adName": {},
"transitions": [
{
"sys_id": "060ad6950721011094b4fe4f7c1ed016",
"ahrId": "a40a92950721011094b4fe4f7c1ed05e",
"to": "24204e2a77873300b473455caa10611a",
"from": "28200e2a77873300b473455caa1061cd",
"rolledBack": "false",
"rolledBackBy": ""
}
],
"rolledBackBy": "",
"ARRIVED": true,
"NOT_ARRIVED": false,
"joinFroms": [],
"joinSatisfied": false,
"rollingBackBy": 0
}
]