AktivitätenHistoryDatensatz – Global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 20 Minuten Lesedauer
  • Die AktivitätenHistoryDatensatz Die API bietet Methoden, die die Interaktion mit einem WorkflowModelManager-Objekt erleichtern. Dies ist ein Datenobjekt, das Mitglied von ist WorkflowModelManager Klasse.

    Diese API ist im Grunde eine Kopie der Daten aus einem Glide-Datensatz in der Tabelle „Aktivitätsverlauf“ [wf_history]. Auch für diese Klasse sind einige Hilfsmethoden definiert. Für die einfachen Datenelemente dieser Klasse gibt es keine Zugriffsberechtigten oder Mutatoren.

    ActivityHistoryRecord – addArrivedActivityToJoin(Zeichenfolgen-Array activityIds)

    Ändert arrivedStateVon bereits bekannten IDs bis Wahr .

    Sobald diese Methode ändert arrivedStateVon bekannten IDs bis Wahr , Testet, ob der Join erfüllt ist. Wenn ja, kann der Modell-Walk fortgesetzt werden. Wenn nicht, sollte mit dem nächsten entsprechenden Übergang fortgefahren werden. Dies wird wie erwartet während der Wiedergabe aufgerufen wf_activities Flow zum Join.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    AktivityIds Zeichenfolgen-Array Array von wf_activity.sys_IDs, die auf den Beitritt zusteuern.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    Ungültig

    ActivityHistoryRecord – addJoinFromActivityIds(Zeichenfolgen-Array activityIds)

    Seeding für alle erwarteten Elemente wf_activity sys_IDs, die diesen Join voraussichtlich passieren, und legen ihren arriveState = falsch fest.

    Dieser Status wird in umgeklappt Wahr Wenn jede erwartete Aktivität zu dieser Instanz des Joins übergeht. Diese Methode wird als Teil der Erstellung des zwischengespeicherten Modells im Arbeitsspeicher aufgerufen und während der Wiedergabe nicht aufgerufen.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    AktivityIds Zeichenfolgen-Array Array von wf_activity.sys_IDs, die auf den Beitritt zusteuern.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    Ungültig

    ActivityHistoryRecord – addTransition (Objektintransition)

    AS-Modell wird von zwischengespeichert _GetExecutedTransitions() , Diese Methode fügt Übergänge hinzu, die VON dieser Aktivität zur Aktivität „.to“ übergegangen sind.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Anforderung Objekt ExecutedTransition-JavaScript-Objekt, das dieser Aktivität hinzugefügt werden soll.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    Ungültig

    ActivityHistoryRecord – debugDump( )

    Druckt Debug-Informationen.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Ungültig

    Das folgende Codebeispiel zeigt, wie diese Methode verwendet wird. Verwendet die ältesten Workflow-Verlaufsdatensätze einer Basisinstanz.

    // These are associated with the Change Request - Normal workflow for CHG0000037.
    var wfhGR = new GlideRecord ('wf_history');
    wfhGR.addQuery('context.id', '41cdb152db252200a6a2b31be0b8f527');
    wfhGR.addQuery('context.table', 'change_request');
    wfhGR.orderBy ('activity_index');
    wfhGR.query();
    while (wfhGR.next())  {
      var script_name = 'AHR';
      //
      //  Acquire the execution history of the workflow's activities.
      //  Do this just once while processing the first activity.
    
      if(wfhGR.activity_index == 0) {
        var model = new WorkflowModelManager( wfhGR.context );
        model.getExecutedHistory();
      }
    
    //
    // Access a hash of ActivityHistoryRecord javascript objects,
    // hashed by the sys_id of the wf_history record.
    // There will be one ActivityHistoryRecord for each activity.
    
      var ActivityHistoryRecord = model.getActivityHistoryRecordById(wfhGR.sys_id);
    
    //
    // Use ActivityHistoryRecord methods to display selected values
    
      gs.log('Log String [' + ActivityHistoryRecord.getLogString() + ']', script_name);
      gs.log('debugDump START', script_name);
      ActivityHistoryRecord.debugDump();
      gs.log('debugDump END', script_name);
      gs.log('Turnstile?[' + ActivityHistoryRecord.isTurnstile() + ']', script_name);
      gs.log('Transition Count[' + ActivityHistoryRecord.getTransitionCount() + ']\n', script_name );
    }

    Ausgabe:

    [0:00:00.133] Script completed in scope global: script
    Script execution history and recovery available here
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57a  History INDEX:0  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:e233b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Begin  WF Activity DEF ID:c7a5e32c0a0a0b3a002377c24ed8ea76  WF Activity DEF NAME:Begin  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57a
    *** Script:        History INDEX: 0
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 0
    *** Script:       WF Activity ID: e233b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Begin
    *** Script:   WF Activity DEF ID: c7a5e32c0a0a0b3a002377c24ed8ea76
    *** Script: WF Activity DEF NAME: Begin
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57d  History INDEX:1  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:2e33b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Change moves to Assess  WF Activity DEF ID:d93a02ae0a0a0aa30077abad3fdac035  WF Activity DEF NAME:Wait for condition  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57d
    *** Script:        History INDEX: 1
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 1
    *** Script:       WF Activity ID: 2e33b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Change moves to Assess
    *** Script:   WF Activity DEF ID: d93a02ae0a0a0aa30077abad3fdac035
    *** Script: WF Activity DEF NAME: Wait for condition
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:3e28c4b6dba52200a6a2b31be0b8f57e  History INDEX:2  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:6e33b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Requested  WF Activity DEF ID:50a78fa50a6a803f66d064255f7201a5  WF Activity DEF NAME:Approval Action  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 3e28c4b6dba52200a6a2b31be0b8f57e
    *** Script:        History INDEX: 2
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 2
    *** Script:       WF Activity ID: 6e33b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Requested
    *** Script:   WF Activity DEF ID: 50a78fa50a6a803f66d064255f7201a5
    *** Script: WF Activity DEF NAME: Approval Action
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:0d38c4b6dba52200a6a2b31be0b8f5cc  History INDEX:3  History START TIME:1585659881000  History END TIME:1585659891000  WF Activity ID:2a33b949cb020200d71cb9c0c24c9c26  WF Activity NAME:Technical approvals  WF Activity DEF ID:354e911f0a0a029a00e6a0e6ad74206f  WF Activity DEF NAME:Approval - Group  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 0d38c4b6dba52200a6a2b31be0b8f5cc
    *** Script:        History INDEX: 3
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 3
    *** Script:       WF Activity ID: 2a33b949cb020200d71cb9c0c24c9c26
    *** Script:     WF Activity NAME: Technical approvals
    *** Script:   WF Activity DEF ID: 354e911f0a0a029a00e6a0e6ad74206f
    *** Script: WF Activity DEF NAME: Approval - Group
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:c538c4b6dba52200a6a2b31be0b8f5ce  History INDEX:4  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:6233b949cb020200d71cb9c0c24c9c5b  WF Activity NAME:Check if Change is "On hold"  WF Activity DEF ID:98f621ca0a0a0b5900f7c291f5e45a0e  WF Activity DEF NAME:If  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: c538c4b6dba52200a6a2b31be0b8f5ce
    *** Script:        History INDEX: 4
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 4
    *** Script:       WF Activity ID: 6233b949cb020200d71cb9c0c24c9c5b
    *** Script:     WF Activity NAME: Check if Change is "On hold"
    *** Script:   WF Activity DEF ID: 98f621ca0a0a0b5900f7c291f5e45a0e
    *** Script: WF Activity DEF NAME: If
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:cd3808b6dba52200a6a2b31be0b8f501  History INDEX:5  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:e633b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Move to Authorize  WF Activity DEF ID:1ca8d7cf0a0a0b265e9a000c2c08248c  WF Activity DEF NAME:Set Values  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: cd3808b6dba52200a6a2b31be0b8f501
    *** Script:        History INDEX: 5
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 5
    *** Script:       WF Activity ID: e633b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Move to Authorize
    *** Script:   WF Activity DEF ID: 1ca8d7cf0a0a0b265e9a000c2c08248c
    *** Script: WF Activity DEF NAME: Set Values
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    

    ActivityHistoryRecord – doesJoinContainActivity( )

    Testet die eingehende sys_ID von wf_activity, die vermutlich in diesem Verlaufsdatensatz als Seeding gekennzeichnet ist. Wenn ja, wird getestet, ob es sich um eine Aktivität handelt, die diesen Join durchlaufen würde.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn es sich um eine Aktivität handelt, die diesen Join durchlaufen würde.

    ActivityHistoryRecord – getLogString( )

    Gibt die Protokollzeichenfolge aus dem Verlaufsdatensatz zurück.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Zeichenfolge Die Protokollzeichenfolge.

    Das folgende Codebeispiel zeigt, wie diese Methode verwendet wird. Verwendet die ältesten Workflow-Verlaufsdatensätze einer Basisinstanz.

    // These are associated with the Change Request - Normal workflow for CHG0000037.
    var wfhGR = new GlideRecord ('wf_history');
    wfhGR.addQuery('context.id', '41cdb152db252200a6a2b31be0b8f527');
    wfhGR.addQuery('context.table', 'change_request');
    wfhGR.orderBy ('activity_index');
    wfhGR.query();
    while (wfhGR.next())  {
      var script_name = 'AHR';
      //
      //  Acquire the execution history of the workflow's activities.
      //  Do this just once while processing the first activity.
    
      if(wfhGR.activity_index == 0) {
        var model = new WorkflowModelManager( wfhGR.context );
        model.getExecutedHistory();
      }
    
    //
    // Access a hash of ActivityHistoryRecord javascript objects,
    // hashed by the sys_id of the wf_history record.
    // There will be one ActivityHistoryRecord for each activity.
    
      var ActivityHistoryRecord = model.getActivityHistoryRecordById(wfhGR.sys_id);
    
    //
    // Use ActivityHistoryRecord methods to display selected values
    
      gs.log('Log String [' + ActivityHistoryRecord.getLogString() + ']', script_name);
      gs.log('debugDump START', script_name);
      ActivityHistoryRecord.debugDump();
      gs.log('debugDump END', script_name);
      gs.log('Turnstile?[' + ActivityHistoryRecord.isTurnstile() + ']', script_name);
      gs.log('Transition Count[' + ActivityHistoryRecord.getTransitionCount() + ']\n', script_name );
    }

    Ausgabe:

    [0:00:00.133] Script completed in scope global: script
    Script execution history and recovery available here
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57a  History INDEX:0  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:e233b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Begin  WF Activity DEF ID:c7a5e32c0a0a0b3a002377c24ed8ea76  WF Activity DEF NAME:Begin  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57a
    *** Script:        History INDEX: 0
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 0
    *** Script:       WF Activity ID: e233b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Begin
    *** Script:   WF Activity DEF ID: c7a5e32c0a0a0b3a002377c24ed8ea76
    *** Script: WF Activity DEF NAME: Begin
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57d  History INDEX:1  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:2e33b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Change moves to Assess  WF Activity DEF ID:d93a02ae0a0a0aa30077abad3fdac035  WF Activity DEF NAME:Wait for condition  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57d
    *** Script:        History INDEX: 1
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 1
    *** Script:       WF Activity ID: 2e33b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Change moves to Assess
    *** Script:   WF Activity DEF ID: d93a02ae0a0a0aa30077abad3fdac035
    *** Script: WF Activity DEF NAME: Wait for condition
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:3e28c4b6dba52200a6a2b31be0b8f57e  History INDEX:2  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:6e33b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Requested  WF Activity DEF ID:50a78fa50a6a803f66d064255f7201a5  WF Activity DEF NAME:Approval Action  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 3e28c4b6dba52200a6a2b31be0b8f57e
    *** Script:        History INDEX: 2
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 2
    *** Script:       WF Activity ID: 6e33b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Requested
    *** Script:   WF Activity DEF ID: 50a78fa50a6a803f66d064255f7201a5
    *** Script: WF Activity DEF NAME: Approval Action
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:0d38c4b6dba52200a6a2b31be0b8f5cc  History INDEX:3  History START TIME:1585659881000  History END TIME:1585659891000  WF Activity ID:2a33b949cb020200d71cb9c0c24c9c26  WF Activity NAME:Technical approvals  WF Activity DEF ID:354e911f0a0a029a00e6a0e6ad74206f  WF Activity DEF NAME:Approval - Group  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 0d38c4b6dba52200a6a2b31be0b8f5cc
    *** Script:        History INDEX: 3
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 3
    *** Script:       WF Activity ID: 2a33b949cb020200d71cb9c0c24c9c26
    *** Script:     WF Activity NAME: Technical approvals
    *** Script:   WF Activity DEF ID: 354e911f0a0a029a00e6a0e6ad74206f
    *** Script: WF Activity DEF NAME: Approval - Group
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:c538c4b6dba52200a6a2b31be0b8f5ce  History INDEX:4  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:6233b949cb020200d71cb9c0c24c9c5b  WF Activity NAME:Check if Change is "On hold"  WF Activity DEF ID:98f621ca0a0a0b5900f7c291f5e45a0e  WF Activity DEF NAME:If  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: c538c4b6dba52200a6a2b31be0b8f5ce
    *** Script:        History INDEX: 4
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 4
    *** Script:       WF Activity ID: 6233b949cb020200d71cb9c0c24c9c5b
    *** Script:     WF Activity NAME: Check if Change is "On hold"
    *** Script:   WF Activity DEF ID: 98f621ca0a0a0b5900f7c291f5e45a0e
    *** Script: WF Activity DEF NAME: If
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:cd3808b6dba52200a6a2b31be0b8f501  History INDEX:5  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:e633b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Move to Authorize  WF Activity DEF ID:1ca8d7cf0a0a0b265e9a000c2c08248c  WF Activity DEF NAME:Set Values  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: cd3808b6dba52200a6a2b31be0b8f501
    *** Script:        History INDEX: 5
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 5
    *** Script:       WF Activity ID: e633b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Move to Authorize
    *** Script:   WF Activity DEF ID: 1ca8d7cf0a0a0b265e9a000c2c08248c
    *** Script: WF Activity DEF NAME: Set Values
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    

    ActivityHistoryRecord – getSatisfiedJoinActivities( )

    Gibt die sys_IDs der Verlaufsdatensätze zurück, die zu dieser Join-Aktivität übergehen, die bereits ausgeführt wurden.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Zeichenfolgen-Array Array von sys_IDs der Verlaufsdatensätze, die zu dieser Join-Aktivität übergehen.

    ActivityHistoryRecord – getTransitionCount( )

    Gibt die Übergangsanzahl für diese Aktivität zurück.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Rückgaben
    Typ Beschreibung
    Nummer Anzahl der Übergänge von dieser Aktivität.

    Das folgende Codebeispiel zeigt, wie diese Methode verwendet wird. Verwendet die ältesten Workflow-Verlaufsdatensätze einer Basisinstanz.

    // These are associated with the Change Request - Normal workflow for CHG0000037.
    var wfhGR = new GlideRecord ('wf_history');
    wfhGR.addQuery('context.id', '41cdb152db252200a6a2b31be0b8f527');
    wfhGR.addQuery('context.table', 'change_request');
    wfhGR.orderBy ('activity_index');
    wfhGR.query();
    while (wfhGR.next())  {
      var script_name = 'AHR';
      //
      //  Acquire the execution history of the workflow's activities.
      //  Do this just once while processing the first activity.
    
      if(wfhGR.activity_index == 0) {
        var model = new WorkflowModelManager( wfhGR.context );
        model.getExecutedHistory();
      }
    
    //
    // Access a hash of ActivityHistoryRecord javascript objects,
    // hashed by the sys_id of the wf_history record.
    // There will be one ActivityHistoryRecord for each activity.
    
      var ActivityHistoryRecord = model.getActivityHistoryRecordById(wfhGR.sys_id);
    
    //
    // Use ActivityHistoryRecord methods to display selected values
    
      gs.log('Log String [' + ActivityHistoryRecord.getLogString() + ']', script_name);
      gs.log('debugDump START', script_name);
      ActivityHistoryRecord.debugDump();
      gs.log('debugDump END', script_name);
      gs.log('Turnstile?[' + ActivityHistoryRecord.isTurnstile() + ']', script_name);
      gs.log('Transition Count[' + ActivityHistoryRecord.getTransitionCount() + ']\n', script_name );
    }

    Ausgabe:

    [0:00:00.133] Script completed in scope global: script
    Script execution history and recovery available here
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57a  History INDEX:0  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:e233b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Begin  WF Activity DEF ID:c7a5e32c0a0a0b3a002377c24ed8ea76  WF Activity DEF NAME:Begin  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57a
    *** Script:        History INDEX: 0
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 0
    *** Script:       WF Activity ID: e233b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Begin
    *** Script:   WF Activity DEF ID: c7a5e32c0a0a0b3a002377c24ed8ea76
    *** Script: WF Activity DEF NAME: Begin
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:a228c4b6dba52200a6a2b31be0b8f57d  History INDEX:1  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:2e33b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Change moves to Assess  WF Activity DEF ID:d93a02ae0a0a0aa30077abad3fdac035  WF Activity DEF NAME:Wait for condition  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: a228c4b6dba52200a6a2b31be0b8f57d
    *** Script:        History INDEX: 1
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 1
    *** Script:       WF Activity ID: 2e33b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Change moves to Assess
    *** Script:   WF Activity DEF ID: d93a02ae0a0a0aa30077abad3fdac035
    *** Script: WF Activity DEF NAME: Wait for condition
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:3e28c4b6dba52200a6a2b31be0b8f57e  History INDEX:2  History START TIME:1585659881000  History END TIME:1585659881000  WF Activity ID:6e33b949cb020200d71cb9c0c24c9c1f  WF Activity NAME:Requested  WF Activity DEF ID:50a78fa50a6a803f66d064255f7201a5  WF Activity DEF NAME:Approval Action  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 3e28c4b6dba52200a6a2b31be0b8f57e
    *** Script:        History INDEX: 2
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659881000
    *** Script:        History INDEX: 2
    *** Script:       WF Activity ID: 6e33b949cb020200d71cb9c0c24c9c1f
    *** Script:     WF Activity NAME: Requested
    *** Script:   WF Activity DEF ID: 50a78fa50a6a803f66d064255f7201a5
    *** Script: WF Activity DEF NAME: Approval Action
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:0d38c4b6dba52200a6a2b31be0b8f5cc  History INDEX:3  History START TIME:1585659881000  History END TIME:1585659891000  WF Activity ID:2a33b949cb020200d71cb9c0c24c9c26  WF Activity NAME:Technical approvals  WF Activity DEF ID:354e911f0a0a029a00e6a0e6ad74206f  WF Activity DEF NAME:Approval - Group  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: 0d38c4b6dba52200a6a2b31be0b8f5cc
    *** Script:        History INDEX: 3
    *** Script:   History START TIME: 1585659881000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 3
    *** Script:       WF Activity ID: 2a33b949cb020200d71cb9c0c24c9c26
    *** Script:     WF Activity NAME: Technical approvals
    *** Script:   WF Activity DEF ID: 354e911f0a0a029a00e6a0e6ad74206f
    *** Script: WF Activity DEF NAME: Approval - Group
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:c538c4b6dba52200a6a2b31be0b8f5ce  History INDEX:4  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:6233b949cb020200d71cb9c0c24c9c5b  WF Activity NAME:Check if Change is "On hold"  WF Activity DEF ID:98f621ca0a0a0b5900f7c291f5e45a0e  WF Activity DEF NAME:If  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: c538c4b6dba52200a6a2b31be0b8f5ce
    *** Script:        History INDEX: 4
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 4
    *** Script:       WF Activity ID: 6233b949cb020200d71cb9c0c24c9c5b
    *** Script:     WF Activity NAME: Check if Change is "On hold"
    *** Script:   WF Activity DEF ID: 98f621ca0a0a0b5900f7c291f5e45a0e
    *** Script: WF Activity DEF NAME: If
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    
    
    AHR: Log String [HISTORY RECORD:  History ID:cd3808b6dba52200a6a2b31be0b8f501  History INDEX:5  History START TIME:1585659891000  History END TIME:1585659891000  WF Activity ID:e633b949cb020200d71cb9c0c24c9c20  WF Activity NAME:Move to Authorize  WF Activity DEF ID:1ca8d7cf0a0a0b265e9a000c2c08248c  WF Activity DEF NAME:Set Values  Transition Count: 1  Is Turnstile (loop) : false  Is Join: false]
    AHR: debugDump START
    *** Script: 
    *** Script: WF HISTORY RECORD:
    *** Script:           History ID: cd3808b6dba52200a6a2b31be0b8f501
    *** Script:        History INDEX: 5
    *** Script:   History START TIME: 1585659891000
    *** Script:     History END TIME: 1585659891000
    *** Script:        History INDEX: 5
    *** Script:       WF Activity ID: e633b949cb020200d71cb9c0c24c9c20
    *** Script:     WF Activity NAME: Move to Authorize
    *** Script:   WF Activity DEF ID: 1ca8d7cf0a0a0b265e9a000c2c08248c
    *** Script: WF Activity DEF NAME: Set Values
    *** Script:     Transition Count: 1
    *** Script: Roll Back Originator: 
    *** Script:  Is Turnstile (loop): false
    *** Script:              Is Join: false
    AHR: debugDump END
    AHR: Turnstile? [false]
    AHR: Transition Count [1]
    

    ActivityHistoryRecord – getUnSatisfiedJoinActivities( )

    Gibt die sys_IDs der Verlaufsdatensätze zurück, die zu dieser Join-Aktivität übergehen, auf die der Join noch wartet.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 18. Rückgaben
    Typ Beschreibung
    Zeichenfolgen-Array Array von sys_IDs der Verlaufsdatensätze, die zu dieser Join-Aktivität übergehen.

    ActivityHistoryRecord – isARollback( )

    Bestimmt, ob diese Aktivität eine der Rollback-Aktivitäten ist.

    Tabelle : 19. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 20. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Aktivität eine der Rollback-Aktivitäten ist.

    Gültige Werte:
    • Wahr: Aktivität ist ein Rollback.
    • Falsch: Aktivität ist kein Rollback.

    ActivityHistoryRecord – isIdADestination(Zeichenfolge ahrSys_ID)

    Bestimmt, ob die übergebene sys_ID ein Ziel eines der Übergänge ist, die dieser Instanz von zugeordnet sind AktivitätenHistoryDatensatz .

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    AhrSys_ID Zeichenfolge Sys_ID des Aktivitätsverlaufs aus Tabelle wf_history.
    Tabelle : 22. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn die übergebene sys_ID ein Ziel eines der Übergänge ist.

    ActivityHistoryRecord – isJoin( )

    Bestimmt, ob diese Aktivität ein Join ist.

    Tabelle : 23. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 24. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn die Aktivität „Join“ ist.

    ActivityHistoryRecord – isJoinSatisfied( )

    Untersucht den Wert des arriveState.

    Wird während der Wiedergabe aufgerufen, wenn der Übergang zu sys_ID eines Übergangs auf eine Aktivität verweist, die ein Join ist.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 26. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn der Join erfüllt ist.

    ActivityHistoryRecord – isJoinWaitingForActivity(Zeichenfolgen-Array activityIds)

    Testet die eingehende sys_ID von wf_activity, die vermutlich in diesem Verlaufsdatensatz als Seeding gekennzeichnet ist.

    Wenn dies der Fall ist, wird getestet, um festzustellen, ob er bereits durchlaufen wurde. Wenn dies der Fall ist, wartet dieser Join nicht auf diese Aktivität, und er sollte weiter nachgelagert nach der Aktivität suchen, die wartet. Dieser Test wird sequenziell aufgerufen, während das Modell durchläuft wird, daher wird er in den Instanzen von Rollbacks und Schleifen vorausgesetzt. Wenn sich die sys_ID hier befindet und die Kennzeichnung lautet Wahr , Dieser wartende Join befindet sich weiter oben in der Sequenz. Diese Art von Prüfung ist erforderlich, da die Verlaufsdatensätze von Joins aus der Verlaufstabelle entfernt werden. Daher kann sich ein Datensatz in der Übergangstabelle ohne Übereinstimmung in der entsprechenden Verlaufstabelle befinden, ist aber dennoch eine entsprechende Übereinstimmung für eine zuvor ausgeführte Instanz desselben Joins.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    AktivityIds Zeichenfolgen-Array Array von wf_activity.sys_IDs, die auf den Beitritt zusteuern.
    Tabelle : 28. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn die Aktivität bereits durchlaufen wurde.

    ActivityHistoryRecord – isRolledBack( )

    Bestimmt, ob für diesen Workflow ein Rollback durchgeführt wurde.

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 30. Rückgaben
    Typ Beschreibung
    Boolean „Wahr“, wenn für diesen Workflow ein Rollback durchgeführt wurde.

    ActivityHistoryRecord – isTurnstile( )

    Bestimmt, ob die aktuelle Aktivität ein Drehkreuz ist.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 32. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Aktivität ein ist Drehkreuz .

    Gültige Werte:
    • Wahr: Aktivität ist ein Drehkreuz.
    • Falsch: Aktivität ist kein Drehkreuz.

    Das folgende Codebeispiel zeigt, wie diese Methode zum Erkennen eines Drehkreuzes verwendet wird. Sie basiert auf dem Workflow in Rollback zur Workflow-Aktivität . Sie können die Ausgabe dieses Skripts bestätigen, indem Sie überprüfen Workflow-Aktivitätsverlauf Registerkarte, wenn Sie Workflow Anzeigen Im Formular „angeforderte Elemente“ (RITM).

    var wfhGR = new GlideRecord ('wf_history');
    wfhGR.addQuery ('context.id','cc45480d2f9b8110b99eb2e72799b6f9'); // sys_id of the RITM
    wfhGR.addQuery ('context.table','sc_req_item'); // Table for the RITM
    wfhGR.orderBy  ('activity_index');
    wfhGR.query();
    var turnstile_count = 0;
    while (wfhGR.next())  {
      var script_name = 'AHR';
      //
      // Acquire the execution history of the workflow's activities.
      // Do this just once while processing the first activity.
    
      if(wfhGR.activity_index == 0) {
        var model = new WorkflowModelManager(wfhGR.context);
        model.getExecutedHistory();
      }
    
      //
      // Access a hash of ActivityHistoryRecord javascript objects,
      // hashed by the sys_id of the wf_history record.
      // There will be one ActivityHistoryRecord for each activity.
    
      var ActivityHistoryRecord = model.getActivityHistoryRecordById(wfhGR.sys_id);
    
      //
      // Use ActivityHistoryRecord methods to display turnstile activities.
    
      if(ActivityHistoryRecord.isTurnstile()) {
        var log_string = ActivityHistoryRecord.getLogString();
        var name_start = log_string.indexOf('WF Activity NAME:');
        var name_end = log_string.indexOf('WF Activity DEF ID:');
        var name = log_string.substring(name_start, name_end).trim();
        gs.log(name + ' Activity ' + wfhGR.activity_index + ' is a turnstile.', script_name);
        turnstile_count++;
      } 
    } 
    gs.log ('Turnstile activities detected: ' + turnstile_count, script_name);

    Ausgabe:

    AHR: WF Activity NAME:Prevent infinite loops Activity 8 is a turnstile.
    AHR: WF Activity NAME:Prevent infinite loops Activity 13 is a turnstile.
    AHR: WF Activity NAME:Prevent infinite loops Activity 18 is a turnstile.
    AHR: WF Activity NAME:Prevent infinite loops Activity 23 is a turnstile.
    AHR: Turnstile activities detected: 4