ActivityHistoryRecord - 전역
ActivityHistoryRecord API는 WorkflowModelManager 개체와의 상호 작용을 용이하게 하는 메서드를 제공합니다. WorkflowModelManager 클래스의 멤버인 데이터 개체입니다.
이 API는 기본적으로 활동 기록[wf_history] 테이블의 Glide 기록에 있는 데이터의 복사본입니다. 이 클래스에 대해 정의된 몇 가지 도우미 메서드도 있습니다. 이 클래스의 단순 데이터 요소에 대한 접근자 또는 변경자는 없습니다.
ActivityHistoryRecord - addArrivedActivityToJoin(문자열 배열 activityIds)
이미 알려진 ID를 arrivedState예로 변경합니다.
이 메서드는 알려진 ID를 true로 변경 arrivedState 하자마자 조인이 충족되는지 테스트합니다. 이 경우 모델 워크를 계속할 수 있습니다. 그렇지 않은 경우 다음 적절한 전환으로 계속해야 합니다. 이는 조인으로 흐를 wf_activities 예상대로 재생 중에 호출됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| activityId | 문자열 배열 | 조인으로 향하는 wf_activity.sys_id의 배열입니다. |
| 유형 | 설명 |
|---|---|
| void |
ActivityHistoryRecord - addJoinFromActivityIds(문자열 배열 activityIds)
이 조인을 통과할 것으로 예상되는 모든 예상 wf_activity sys_ids 시드하고 arriveState = false로 설정합니다.
이 상태는 예상되는 각 활동이 이 Join 인스턴스로 전환될 때 true 로 전환됩니다. 이 메서드는 메모리에서 캐시된 모델을 빌드하는 과정에서 호출되며 재생 중에는 호출되지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| activityId | 문자열 배열 | 조인으로 향하는 wf_activity.sys_id의 배열입니다. |
| 유형 | 설명 |
|---|---|
| void |
ActivityHistoryRecord - addTransition(개체 InTransition)
모델이 _getExecutedTransitions()에 의해 캐시될 때 이 메서드는 이 활동에서 .to 활동으로 이동한 전환을 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 인트랜지션 | 객체 | ExecutedTransition 이 활동에 추가할 Javascript 객체입니다. |
| 유형 | 설명 |
|---|---|
| void |
ActivityHistoryRecord - debugDump( )
디버그 정보를 인쇄합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
다음 코드 예제에서는 이 메서드를 사용하는 방법을 보여 줍니다. 기본 인스턴스의 가장 오래된 워크플로우 이력 레코드를 사용합니다.
// 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 );
}
출력:
[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( )
이 기록 기록에 시드된 것으로 추정되는 수신 wf_activity sys_id 테스트합니다. 이 경우 이 조인을 통해 오는 활동인지 확인하기 위해 테스트됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | True, 이 조인을 통해 제공되는 활동인 경우 |
ActivityHistoryRecord - getLogString( )
이력 기록에서 로그 문자열을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 로그 문자열입니다. |
다음 코드 예제에서는 이 메서드를 사용하는 방법을 보여 줍니다. 기본 인스턴스의 가장 오래된 워크플로우 이력 레코드를 사용합니다.
// 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 );
}
출력:
[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( )
이미 통과한 이 조인 활동으로 전환되는 이력 기록의 sys_ids 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 배열 | 이 조인 활동으로 전환되는 이력 기록의 sys_ids 배열입니다. |
ActivityHistoryRecord - getTransitionCount( )
이 활동의 전환 횟수를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 번호 | 이 활동의 전환 수입니다. |
다음 코드 예제에서는 이 메서드를 사용하는 방법을 보여 줍니다. 기본 인스턴스의 가장 오래된 워크플로우 이력 레코드를 사용합니다.
// 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 );
}
출력:
[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( )
조인이 아직 대기 중인 이 조인 활동으로 전환되는 기록 기록의 sys_ids 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 배열 | 이 조인 활동으로 전환되는 이력 기록의 sys_ids 배열입니다. |
ActivityHistoryRecord - isARollback( )
이 활동이 롤백 활동 중 하나인지 여부를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 활동이 롤백 활동 중 하나인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
ActivityHistoryRecord - isIdADestination(문자열 ahrSys_id)
전달된 sys_id가 ActivityHistoryRecord의 이 인스턴스와 연결된 전환의 대상인지 여부를 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| ahrSys_id | 문자열 | 테이블 wf_history에서 활동 이력 sys_id. |
| 유형 | 설명 |
|---|---|
| 부울 | True, 전달된 sys_id가 전환의 대상인 경우 |
ActivityHistoryRecord - isJoin( )
이 활동이 조인인지 여부를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 활동이 "조인"이면 True입니다. |
ActivityHistoryRecord - isJoinSatisfied( )
arriveState의 값을 검사합니다.
재생 중에 전환의 sys_id으로의 전환이 조인인 활동을 가리킬 때 호출됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 조인이 충족되면 True입니다. |
ActivityHistoryRecord - isJoinWaitingForActivity(문자열 배열 activityIds)
이 기록 기록에 시드된 것으로 추정되는 수신 wf_activity sys_id 테스트합니다.
그렇다면 이미 통과했는지 확인하기 위해 테스트됩니다. 이 경우 이 조인은 이 활동을 기다리지 않으며 대기 중인 활동을 더 다운스트림으로 찾아야 합니다. 이 테스트는 모델이 워킹될 때 순서대로 호출되므로 롤백 및 루프의 인스턴스에서 가정합니다. sys_id가 여기에 있고 플래그가 true이면 이 대기 중인 Join은 시퀀스 위에 있습니다. 이러한 종류의 검사는 조인의 히스토리 레코드가 히스토리 테이블에서 제거되므로 레코드가 해당 히스토리 테이블에 일치하는 항목이 없는 전환 테이블에 있을 수 있지만 동일한 조인의 이전에 실행된 인스턴스에 대해서는 여전히 적절한 일치입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| activityId | 문자열 배열 | 조인으로 향하는 wf_activity.sys_id의 배열입니다. |
| 유형 | 설명 |
|---|---|
| 부울 | true, 활동이 이미 완료된 경우 |
ActivityHistoryRecord - isRolledBack( )
이 워크플로우가 롤백되었는지 여부를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 이 워크플로우가 롤백된 경우 True입니다. |
ActivityHistoryRecord - isTurnstile( )
현재 활동이 개회전식인지 여부를 결정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 활동이 개회전식인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
|
다음 코드 예제에서는 이 메서드를 사용하여 개찰구를 검색하는 방법을 보여 줍니다. 롤백 워크플로우 활동에 있는 워크플로우를 기반으로 합니다. 요청 항목(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);
출력:
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