---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 워크플로우 - 전역

# 워크플로우 - 전역 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 16분

워크플로우 스크립트 포함은 워크플로우 엔진과 인터페이스하는 메서드를 제공합니다.

이러한 방법을 사용하여 워크플로우를 조작합니다.

## 워크플로우 - broadcastEvent(String contextId, String eventName) {#ariaid-title2}

지정된 이벤트(메시지)를 워크플로우 컨텍스트로 보내 실행 중인 활동에 전달합니다.
이 방법은 진행하기 전에 일부 작업이 발생할 때까지 기다리는 활동을 사용하도록 설정하는 데 일반적으로 사용됩니다. broadcastEvent 사용에 대한 자세한 내용은 [워크플로우 이벤트별 함수](https://www.servicenow.com/docs/access?context=r_WorkflowEventSpecificFunctions&version=australia&pubname=australia-build-workflows&ft:locale=en-US)를 참조하십시오.

사용 가능한 OOB 이벤트 목록은 [기본 시스템의 워크플로우 이벤트를](https://www.servicenow.com/docs/access?context=r_WorkflowEventsInTheBaseSystem&version=australia&pubname=australia-build-workflows&ft:locale=en-US) 참조하십시오.
{#r_WF-broadcastEvent_S_S__table_oqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| contextId | 문자열 | 컨텍스트 ID입니다. |
| eventName | 문자열 | 이벤트의 이름입니다. |
[표 1. 매개변수]

{#r_WF-broadcastEvent_S_S__table_oqb_tqr_nt} {#r_WF-broadcastEvent_S_S__table_pqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 2. 반환]

{#r_WF-broadcastEvent_S_S__table_pqb_tqr_nt}  

    //where current is a task record with a workflow context
          var wf = new Workflow().getRunningFlows(current);
          while(wf.next()) {     
              new Workflow().broadcastEvent(wf.sys_id, 'resume');
          }

## 워크플로우 - 취소(GlideRecord 기록) {#ariaid-title3}

이 기록에서 실행 중인 모든 워크플로우의 활동에 이벤트를 브로드캐스트하여 cancel 이 기록에서 실행 중인 모든 워크플로우를 취소합니다.
{#r_WF-cancel_GR__table_qqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기록 | GlideRecord | 테이블의 GlideRecord입니다. 이 기록에서 실행되는 모든 워크플로우가 취소됩니다. |
[표 3. 매개변수]

{#r_WF-cancel_GR__table_qqb_tqr_nt} {#r_WF-cancel_GR__table_rqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 4. 반환]

{#r_WF-cancel_GR__table_rqb_tqr_nt}  

    //get workflow helper
          var workflow = new Workflow();
          //cancel all the workflows, where current is a task record with a workflow context
          workflow.cancel(current);
          gs.addInfoMessage(gs.getMessage("Workflows for {0} have been cancelled", current.getDisplayValue()));

## 워크플로우 - cancelContext(GlideRecord 컨텍스트) {#ariaid-title4}

이 워크플로우 컨텍스트의 활동에 이벤트를 브로드캐스트하여 cancel 이 실행 중인 컨텍스트를 취소합니다.
{#r_WF-cancelContext_GR__table_sqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 컨텍스트 | GlideRecord | 취소할 실행 중인 컨텍스트의 GlideRecord입니다. |
[표 5. 매개변수]

{#r_WF-cancelContext_GR__table_sqb_tqr_nt} {#r_WF-cancelContext_GR__table_tqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 6. 반환]

{#r_WF-cancelContext_GR__table_tqb_tqr_nt}  

    // If a workflow has started for this item, cancel it, where current is a task record with a workflow context
          if ((current.stage == 'Request Cancelled') && current.context 
              && !current.context.nil()) {
          var w = new Workflow();
          var now_GR = new GlideRecord('wf_context');
          
          if (now_GR.get(current.context)) 
              w.cancelContext(now_GR);
          }

## 워크플로우 - deleteWorkflow(GlideRecord current) {#ariaid-title5}

기록의 모든 워크플로우를 삭제합니다.
{#r_WF-deleteWorkflow_GR__table_wp5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| current | GlideRecord | 호출자가 모든 워크플로우를 삭제하려는 GlideRecord입니다. 테이블의 기록이 될 수 있습니다. |
[표 7. 매개변수]

{#r_WF-deleteWorkflow_GR__table_wp5_d1s_nt} {#r_WF-deleteWorkflow_GR__table_xp5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 8. 반환]

{#r_WF-deleteWorkflow_GR__table_xp5_d1s_nt}  

    //where current is a task record with a workflow context
          var wkfw = new Workflow();
          wkfw.deleteWorkflow(current);
        
## 워크플로우 - fireEvent(GlideRecord, eventRecord, 문자열, eventName, 객체: eventParms) {#ariaid-title6}

입력 기록에서 실행 중인 워크플로우의 명명된 이벤트를 발생시킵니다.
활동 승인 코디네이터, 타이머, 잠금 등에 사용됩니다.
{#r_WF-fireEvent_GR_S__table_kqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 이벤트 기록 | GlideRecord | 워크플로우 실행 활동 \[wf_executing\] 테이블에 나열된 이벤트 기록입니다. |
| eventName | 문자열 | 실행 중인 워크플로우로 보낼 이벤트의 이름입니다. |
| eventParms | 객체 | 옵션입니다. 이벤트에서 사용하는 JSON 형식의 매개변수입니다. |
[표 9. 매개변수]

{#r_WF-fireEvent_GR_S__table_kqb_tqr_nt} {#r_WF-fireEvent_GR_S__table_lqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 10. 반환]

{#r_WF-fireEvent_GR_S__table_lqb_tqr_nt}  

    // where current is a task record with a workflow context
      var w = new Workflow(); 
      w.fireEvent(current, 'execute');

## 워크플로우 - fireEventById(문자열 eventRecordId, 문자열 eventName) {#ariaid-title7}

기록 ID로 지정된 기록에서 명명된 이벤트를 실행합니다.
활동 승인 코디네이터, 타이머, 잠금 등에 사용됩니다.
{#r_WF-fireEventById_S_S__table_mqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| eventRecordId | 문자열 | Glide 기록의 sys_id입니다. |
| eventName | 문자열 | 실행 중인 워크플로우로 보낼 이벤트의 이름입니다. |
[표 11. 매개변수]

{#r_WF-fireEventById_S_S__table_mqb_tqr_nt} {#r_WF-fireEventById_S_S__table_nqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 12. 반환]

{#r_WF-fireEventById_S_S__table_nqb_tqr_nt}  

    var wkfw = new Workflow();
          wkfw.fireEventById('f2400ec10b0a3c1c00ca5bb5c6fae427','Timer');

## 워크플로우 - getContexts(GlideRecord 기록) {#ariaid-title8}

지정된 기록에 대한 모든 워크플로우 컨텍스트를 반환합니다.
{#r_WF-getContexts_GR__table_sp5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기록 | [GlideRecord](https://servicenow-prod.fluidtopics.net/Q2N~KJ0CerSTV4yr_nWFJw#c_GlideRecordAPI "GlideRecord API는 데이터베이스 작업에 사용됩니다.") | 호출자가 모든 워크플로우 컨텍스트의 목록을 원하는 GlideRecord입니다. 호출자가 실행 중인 워크플로우 컨텍스트를 원하는 테이블의 모든 기록이 될 수 있습니다. |
[표 13. 매개변수]

{#r_WF-getContexts_GR__table_sp5_d1s_nt} {#r_WF-getContexts_GR__table_tp5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| GlideRecord | 워크플로우 컨텍스트 \[wf_context\] 테이블의 GlideRecord는 지정된 기록의 모든 워크플로우 컨텍스트에 대해 필터링됩니다(실행 중, 취소됨, 완료됨 등의 모든 상태). |
[표 14. 반환]

{#r_WF-getContexts_GR__table_tp5_d1s_nt}  

    //where current is a task record with a workflow context
    var wkfw = new Workflow();
    var context = wkfw.getContexts(current);
    while (context.next())
      gs.print(context.started);

## 워크플로우 - getEstimatedDeliveryTime(String workflowId) {#ariaid-title9}

워크플로우가 완료될 예상 시간을 가져옵니다.
{#r_WF-getEstimatedDeliveryTime_S__table_yp5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowId | 문자열 | 예상 실행 시간을 가져오기 위한 워크플로우(테이블 wf_workflow)의 Sys_id입니다. |
[표 15. 매개변수]

{#r_WF-getEstimatedDeliveryTime_S__table_yp5_d1s_nt} {#r_WF-getEstimatedDeliveryTime_S__table_zp5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | GlideDuration의 값을 표시하거나(예: 3일) 알 수 없는 경우 비워 둡니다. |
[표 16. 반환]

{#r_WF-getEstimatedDeliveryTime_S__table_zp5_d1s_nt}  

    var wkfw = new Workflow();
          gs.print(wkfw.getEstimatedDeliveryTime('b99a866a4a3623120074c033e005418f'));

2일

## 워크플로우 - getEstimatedDeliveryTimeFromWFVersion(GlideRecord wfVersion) {#ariaid-title10}

워크플로우 버전의 예상 경과 실행 시간을 가져옵니다.
{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_aq5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| wf버전 | GlideRecord | 호출자가 예상 실행 기간을 원하는 특정 워크플로우 버전의 테이블 wf_workflow_version에 있는 GlideRecord입니다. |
[표 17. 매개변수]

{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_aq5_d1s_nt} {#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_bq5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | GlideDuration의 값을 표시하거나(예: 3일) 알 수 없는 경우 비워 둡니다. |
[표 18. 반환]

{#r_WF-getEstimatedDeliveryTimeFromWFVersion_GR__table_bq5_d1s_nt}  

    //where current is a task record with a workflow context
          var wkfw = new Workflow();
          var context = wkfw.getContexts(current);
          gs.print(wkfw.getEstimatedDeliveryTimeFromWFVersion(context.wf_version));

## 워크플로우 - getReturnValue(문자열 workflowID, 숫자 양, 부울 결과) {#ariaid-title11}

입력 워크플로우 ID에 대한 적절한 워크플로우 반환 값을 가져옵니다. 현재 사용자가 체크 아웃한 워크플로우 또는 최근 날짜의 게시된 워크플로우입니다.
현재 사용자가 체크 아웃한 워크플로우 또는 최근 날짜의 게시된 워크플로우입니다. 이 방법은 Fuji 릴리스부터 사용할 수 있습니다.
{#r_WF-getReturnValue_S_N_B__table_w2y_bjp_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowID | 문자열 | 워크플로우의 sys_id(테이블 wf_workflow) |
| 금액 | 번호 | 금액 |
| 결과 | 부울 | 예인 경우 예입니다. |
[표 19. 매개변수]

{#r_WF-getReturnValue_S_N_B__table_w2y_bjp_mt} {#r_WF-getReturnValue_S_N_B__table_x2y_bjp_mt__entry__2}

| 유형 | 설명 |
|-|-|
| ??? | 값 반환 활동에서 지정한 워크플로우의 반환 값입니다. 값 반환 활동이 없는 워크플로우는 null 값을 반환합니다. |
[표 20. 반환]

{#r_WF-getReturnValue_S_N_B__table_x2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getReturnValue('context');

출력:

    *** Script: b99a866a4a3623120074c033e005418f
          
## 워크플로우 - getRunningFlows(GlideRecord 기록) {#ariaid-title12}

입력 기록에 대해 현재 실행 중인 모든 워크플로우 컨텍스트를 가져옵니다.
입력 기록은 호출자가 실행 중인 워크플로우 컨텍스트를 원하는 테이블의 모든 기록입니다.
{#r_WF-getRunningFlows_GR__table_qp5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기록 | GlideRecord | 호출자가 원하는 모든 실행 중인 워크플로우의 목록을 위한 기록의 GlideRecord입니다. |
[표 21. 매개변수]

{#r_WF-getRunningFlows_GR__table_qp5_d1s_nt} {#r_WF-getRunningFlows_GR__table_rp5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| GlideRecord | 테이블 wf_context의 GlideRecord이며 실행 중인 모든 워크플로우 컨텍스트에 대해 필터링됩니다. |
[표 22. 반환]

{#r_WF-getRunningFlows_GR__table_rp5_d1s_nt}  

    //where current is a task record with a workflow context
          var wf = new Workflow().getRunningFlows(current);
          while(wf.next()) {     
              new Workflow().broadcastEvent(wf.sys_id, 'pause');
          }

## 워크플로우 - getVersion(String workflowID) {#ariaid-title13}

입력 워크플로우 ID에 적합한 워크플로우 버전을 가져옵니다. 현재 사용자가 체크 아웃한 워크플로우 또는 최근 날짜의 게시된 워크플로우입니다.
현재 사용자가 체크 아웃한 워크플로우 또는 최근 날짜의 게시된 워크플로우입니다.
{#r_WF-getVersion_S__table_y2y_bjp_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowID | 문자열 | 워크플로우의 sys_id(테이블 wf_workflow) |
[표 23. 매개변수]

{#r_WF-getVersion_S__table_y2y_bjp_mt} {#r_WF-getVersion_S__table_z2y_bjp_mt__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 24. 반환]

{#r_WF-getVersion_S__table_z2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getVersion('b99a866a4a3623120074c033e005418f');

## 워크플로우 - getVersionFromName(String workflowName) {#ariaid-title14}

입력 워크플로우 이름에 적합한 워크플로우 버전을 반환합니다.
자세한 내용은 getVersion()을 참조하십시오.
{#r_WF-getVersionFromName_S__table_y2y_bjp_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowName | 문자열 | 워크플로우의 이름(테이블 wf_workflow) |
[표 25. 매개변수]

{#r_WF-getVersionFromName_S__table_y2y_bjp_mt} {#r_WF-getVersionFromName_S__table_z2y_bjp_mt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 26. 반환]

{#r_WF-getVersionFromName_S__table_z2y_bjp_mt}  

    var wkfw = new Workflow();
          wkfw.getVersionFromName('Emergency Change');

## 워크플로우 - getWorkflowFromName(String workflowName) {#ariaid-title15}

지정된 워크플로우 이름과 연결된 워크플로우의 sys_id 반환합니다.
{#r_WF-getWorkflowFromName_S__table_afy_bjp_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowName | 문자열 | 워크플로우의 이름입니다. |
[표 27. 매개변수]

{#r_WF-getWorkflowFromName_S__table_afy_bjp_mt} {#r_WF-getWorkflowFromName_S__table_bfy_bjp_mt__entry__2}

| 유형 | 설명 |
|-|-|
| 문자열 | 전달된 이름과 연결된 워크플로우의 sys_id입니다. |
[표 28. 반환]

{#r_WF-getWorkflowFromName_S__table_bfy_bjp_mt}  

    var wflw = new Workflow();
          gs.print(wflw.getWorkflowFromName('Emergency Change'));

## 워크플로우 - hasWorkflow(GlideRecord 기록) {#ariaid-title16}

지정된 기록에 연결된 워크플로우 컨텍스트가 있는지 확인합니다.
여기에는 실행 중과 완료된 워크플로우 컨텍스트가 포함됩니다.
{#r_WF-hasWorkflow_GR__table_iqb_tqr_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기록 | GlideRecord | GlideRecord 가 정밀 조사 중입니다. 이 GlideRecord 는 모든 테이블에서 가져올 수 있습니다. |
[표 29. 매개변수]

{#r_WF-hasWorkflow_GR__table_iqb_tqr_nt} {#r_WF-hasWorkflow_GR__table_jqb_tqr_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 부울 | 기록에 연결된 워크플로우가 있는 경우 예; 그렇지 않으면 False를 반환합니다. |
[표 30. 반환]

{#r_WF-hasWorkflow_GR__table_jqb_tqr_nt}  

    var wkfw = new Workflow();
          gs.print(wkfw.hasWorkflow('f2400ec10b0a3c1c00ca5bb5c6fae427'));

아니오

## 워크플로우 - restartWorkflow(GlideRecord current, 부울 maintainStateFlag) {#ariaid-title17}

현재 승인 및 작업은 재설정하지 않고 새 승인 및 작업을 추가하여 워크플로우에 대한 승인 및 작업을 재계산합니다.
이 방법을 사용하면 워크플로우에 이미 있는 회사에 대한 현재 승인을 재설정하지 않고도 변경 요청에 회사를 추가하는 등의 작업을 수행할 수 있습니다.
{#r_WF-restartWorkflow_GR_B__table_up5_d1s_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| current | GlideRecord | 이 워크플로우가 실행 중인 기록의 GlideRecord입니다. 이것은 모든 테이블의 모든 기록에서 가능합니다. |
| maintainStateFlag | 부울 | 모든 승인 및 작업을 현재 상태로 유지할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다. * true: 모든 승인과 작업을 현재 상태로 유지합니다. * false: 모든 승인 및 작업 상태를 업데이트합니다. {#r_WF-restartWorkflow_GR_B__ul_fwb_fh3_2nb} |
[표 31. 매개변수]

{#r_WF-restartWorkflow_GR_B__table_up5_d1s_nt} {#r_WF-restartWorkflow_GR_B__table_vp5_d1s_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 32. 반환]

{#r_WF-restartWorkflow_GR_B__table_vp5_d1s_nt}  
이 예는 승인 파일이 거부됨에서 요청됨으로 변경되면서 다시 시작되는 워크플로우를 보여줍니다.

    (function(){
      var comment = 'Workflow Restarted - the Approval Field changing from Rejected to Requested';
      var gLock = new GlideRecordLock(current);
        gLock.setSpinWait(50);
      if (gLock.get()) {
        new Workflow().restartWorkflow(current, false);
        current.setDisplayValue('approval_history', comment);
      }
    })

## 워크플로우 - runFlows(GlideRecord 기록, 문자열 작업) {#ariaid-title18}

지정된 테이블과 해당 하위 테이블에서 지정된 기록에 대한 모든 워크플로우를 실행합니다.
스크립트 포함 "SNC - 상위 워크플로우 실행" 및 "SNC - 상위 워크플로우 실행(승인)"에서 샘플 사용량을 확인할 수 있습니다.
{#r_WF-runFlows_GR_S__table_u2y_bjp_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 기록 | GlideRecord | 워크플로우를 실행할 GlideRecord |
| 운영 | 문자열 | 데이터베이스 운영입니다. 유효한 값은 다음과 같습니다. * 삽입 * 업데이트 * 삭제 {#r_WF-runFlows_GR_S__ul_mt2_yds_ckb} |
[표 33. 매개변수]

{#r_WF-runFlows_GR_S__table_u2y_bjp_mt} {#r_WF-runFlows_GR_S__table_v2y_bjp_mt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 34. 반환]

{#r_WF-runFlows_GR_S__table_v2y_bjp_mt}  

    var now_GR = new GlideRecord('wf_test');
    now_GR.addQuery('parent', current.parent);
    now_GR.addQuery('sys_id','!=',current.sys_id);
    now_GR.query();
    while(now_GR.next()) {
        new Workflow().runFlows(now_GR, 'update');
    }

## 워크플로우 - startFlow(문자열 workflowId, GlideRecord current, 문자열 작업, 배열 변수) {#ariaid-title19}

지정된 워크플로우를 시작합니다.
사용 예시는 테이블 sc_req_item의 스크립트 포함 WorkflowScheduler 및 비즈니스 규칙 "Start Workflow"를 참조하십시오.
{#r_WF-startFlow_S_GR_S_A__table_f3h_hx4_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowId | 문자열 | 시작할 워크플로우의 sys_id입니다. 이 sys_id은 테이블 wf_workflow을 참조합니다. |
| current | GlideRecord | 이 워크플로우에서 현재로 사용할 기록입니다. 일반적으로 이 워크플로우에 대한 워크플로우 속성 필드에서 Table 가져옵니다. |
| 운영 | 문자열 | 에서 수행할 current작업입니다. 가능한 값은 삽입, 업데이트, 삭제입니다. |
| 변수 | 배열 | 워크플로우에 추가할 변수 컬렉션 |
[표 35. 매개변수]

{#r_WF-startFlow_S_GR_S_A__table_f3h_hx4_mt}  

    ////where current is a task record with a workflow context
          var w = new Workflow();
          var context = w.startFlow(id, current, current.operation(), getVars());

## 워크플로우 - startFlowFromContextInsert(GlideRecord 컨텍스트, 문자열 작업) {#ariaid-title20}

비즈니스 규칙 Auto start on context에 대한 도우미 메서드입니다.
{#r_WF-startFlowFromContextInsert_GR_S__table_h3h_hx4_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 컨텍스트 | GlideRecord | 새 기록(비즈니스 규칙의 "현재" 기록)의 테이블 wf_context에 있는 GlideRecord입니다. |
| 운영 | 문자열 | 수행 중인 데이터베이스 작업입니다. , update, delete. 중 하나 insert |
[표 36. 매개변수]

{#r_WF-startFlowFromContextInsert_GR_S__table_h3h_hx4_mt} {#r_WF-startFlowFromContextInsert_GR_S__table_i3h_hx4_mt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 37. 반환]

{#r_WF-startFlowFromContextInsert_GR_S__table_i3h_hx4_mt}  

    //where current is a task record with a workflow context
          current.name = current.workflow_version.name;
          current.started_by.setValue(gs.userID());
          
          if (gs.nil(current.id)) {
            var now_GR = new GlideRecord('wf_workflow_execution');
            now_GR.name = current.name;
            now_GR.insert();
          
            current.table = 'wf_workflow_execution';
            current.id = now_GR.sys_id;
          }
          
          var wf = new Workflow();
          wf.startFlowFromContextInsert(current, current.operation())

## 워크플로우 - startFlowRetroactive(문자열 workflowId, 번호 retroactiveMSecs, GlideRecord current, 문자열 작업, 배열, ???) {#ariaid-title21}

테이블 task_sla의 비즈니스 규칙 Start Workflow 에 의해 사용됩니다. 이렇게 하면 워크플로우가 시작되고 이 메서드에 대한 추가 인수는 "타이머" 활동에서 일정 기간 동안 워크플로우 실행을 일시 중지하는 데 사용됩니다.
{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_j3h_hx4_mt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| workflowID | 문자열 | 시작할 워크플로우의 sys_id입니다. 이 sys_id은 테이블 wf_workflow을 참조합니다. |
| 소급 MSecs | 번호 | 활동 타이머에서 사용하는 지연 시간(밀리초)입니다. |
| current | GlideRecord | 이 워크플로우에서 현재로 사용할 기록의 GlideRecord입니다. 일반적으로 이 워크플로우에 대한 워크플로우 속성 필드에서 Table 가져온 것입니다. |
| 운영 | 문자열 | 수행 중인 데이터베이스 작업입니다. , update, delete. 중 하나 insert |
| 변수 | 배열 | 워크플로우에 추가할 변수의 컬렉션입니다. |
| withSchedule | ??? | 활동 타이머에서 사용하는 일정 |
[표 38. 매개변수]

{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_j3h_hx4_mt} {#r_WF-startFlowRetroactive_S_N_GR_S_A__table_k3h_hx4_mt__entry__2}

| 유형 | 설명 |
|-|-|
| GlideRecord | 테이블의 GlideRecord wf_context 새로 생성된 이 워크플로우 컨텍스트에 대한 삽입된 기록의 GlideRecord입니다. |
[표 39. 반환]

{#r_WF-startFlowRetroactive_S_N_GR_S_A__table_k3h_hx4_mt}  

    // is this a retroactive start?
          ////where current is a task record with a workflow context
          var msecs = new GlideDateTime().getNumericValue() - current.start_time.getGlideObject().getNumericValue();
          
          // treat this as a retroactive workflow start if the SLA started more than 5 seconds ago
          var w = new Workflow();
          if (msecs <= 5000)
            w.startFlow(id, current, current.operation());
          else
            w.startFlowRetroactive(id, msecs, current, current.operation());
          
          // update the record in case the workflow changed some values
          current.update();
          
        
## 워크플로우 - 워크플로우() {#ariaid-title22}

워크플로우 클래스에 대한 생성자입니다.
{#r_WF_Workflow__table_t3b_vwl_nt__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 안 함 |   |   |
[표 40. 매개변수]

{#r_WF_Workflow__table_t3b_vwl_nt} {#r_WF_Workflow__table_u3b_vwl_nt__entry__2}

| 유형 | 설명 |
|-|-|
| 무효 |   |
[표 41. 반환]

{#r_WF_Workflow__table_u3b_vwl_nt}  

    var w = new Workflow();


