다음을 통해 공유


샘플: Xrm.Page.data.process.getActivePath

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

이 샘플은 Xrm.Page.data.process.getActivePath 메서드를 사용할 때 반환되는 데이터를 보여줍니다.

요구 사항

JavaScript 라이브러리의 Sdk.formOnLoad 함수 샘플은 양식에 대한 OnLoad 이벤트 처리기로 설정해야 합니다.

보여 주기

Xrm.Page.data.process.getActivePath 메서드는 분기 조건 및 현재 양식 데이터를 고려하여 이전 스테이지, 현재 활성 스테이지 및 예상되는 미래 스테이지를 나타내는 스테이지의 컬렉션을 반환합니다. 각 스테이지는 단계에서 각 단계에 대한 정보를 검색하는 데 사용할 수 있는 getSteps 메서드가 있습니다.

이 샘플에서는 Xrm.Page.data.processAPI에 있는 메서드 중 일부의 사용을 보여줍니다. 이 API를 사용하여 비즈니스 요구 사항을 충족하는 것을 나타내지 않으며 다만 주요 속성 값이 코드에서 액세스하는 방법을 보여주는 것입니다.

예제

Sdk.formOnLoad 함수는 Xrm.Page.data.process.getActivePath 메서드를 사용하여 스테이지의 모음을 검색합니다. 그러면 샘플 코드는 컬렉션의 forEach 메서드를 사용하여 각 스테이지를 통해 순환합니다. 코드는 이 라이브러리에 정의된 Sdk.writeToConsole 함수를 사용하여 콘솔에 스테이지의 주요 속성을 기록합니다. 코드는 getSteps 메서드를 사용하여 각 스테이지에 대한 단계 컬렉션에 액세스합니다. 마지막으로 샘플은 단계 컬렉션의 forEach 메서드를 사용하여 각 단계에 액세스하고 단계의 주요 속성을 콘솔에 작성합니다.

var Sdk = window.Sdk || { __namespace: true };
(function () {

 // A function to log messages while debugging only
 this.writeToConsole = function (message) {
  if (typeof console != 'undefined')
  { console.log(message); }
 };

 //Code to run in the OnLoad event 
 this.formOnLoad = function () {
  //Enumerate the stages and steps in the active path
  var activePathCollection = Xrm.Page.data.process.getActivePath();
  activePathCollection.forEach(function (stage, n) {
   Sdk.writeToConsole("Stage Index: " + n);
   Sdk.writeToConsole("Entity: " + stage.getEntityName());
   Sdk.writeToConsole("StageId: " + stage.getId());
   Sdk.writeToConsole("Status: " + stage.getStatus());
   var stageSteps = stage.getSteps();
   stageSteps.forEach(function (step, i) {
    Sdk.writeToConsole("    Step Name: " + step.getName());
    Sdk.writeToConsole("    Step Attribute: " + step.getAttribute());
    Sdk.writeToConsole("    Step Required: " + step.isRequired());
    Sdk.writeToConsole("    ---------------------------------------")
   })
   Sdk.writeToConsole("---------------------------------------")
  });
 };
}).call(Sdk);

샘플이 브라우저에서 실행되면 브라우저의 개발자 도구를 사용하여 작성된 텍스트를 콘솔로 볼 수 있습니다. 예를 들어, 이 샘플이 영업 기회 영업 프로세스로 잠재 고객 앤터티 양식에서 실행되면 다음과 같은 내용이 콘솔에 기록됩니다.

Stage Index: 0
Entity: lead
StageId: f99b4d48-7aad-456e-864a-8e7d543f7495
Status: active
    Step Name: Existing Contact?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Existing Account?
    Step Attribute: null
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Timeframe
    Step Attribute: purchasetimeframe
    Step Required: false
    ---------------------------------------
    Step Name: Estimated Budget
    Step Attribute: budgetamount
    Step Required: false
    ---------------------------------------
    Step Name: Purchase Process
    Step Attribute: purchaseprocess
    Step Required: false
    ---------------------------------------
    Step Name: Identify Decision Maker
    Step Attribute: decisionmaker
    Step Required: false
    ---------------------------------------
    Step Name: Capture Summary
    Step Attribute: description
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 1
Entity: opportunity
StageId: bfc9108c-8389-406b-9166-2c3298a2e41f
Status: inactive
    Step Name: Customer Need
    Step Attribute: customerneed
    Step Required: false
    ---------------------------------------
    Step Name: Proposed Solution
    Step Attribute: proposedsolution
    Step Required: false
    ---------------------------------------
    Step Name: Identify Stakeholders
    Step Attribute: identifycustomercontacts
    Step Required: false
    ---------------------------------------
    Step Name: Identify Competitors
    Step Attribute: identifycompetitors
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 2
Entity: opportunity
StageId: 3a275c22-fc45-4e89-97fc-41e5ec578743
Status: inactive
    Step Name: Identify Sales Team
    Step Attribute: identifypursuitteam
    Step Required: false
    ---------------------------------------
    Step Name: Develop Proposal
    Step Attribute: developproposal
    Step Required: false
    ---------------------------------------
    Step Name: Complete Internal Review
    Step Attribute: completeinternalreview
    Step Required: false
    ---------------------------------------
    Step Name: Present Proposal
    Step Attribute: presentproposal
    Step Required: false
    ---------------------------------------
---------------------------------------
Stage Index: 3
Entity: opportunity
StageId: 7f5247fe-cfc3-42bc-aa77-b1d836d9b7c0
Status: inactive
    Step Name: Complete Final Proposal
    Step Attribute: completefinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Present Final Proposal
    Step Attribute: presentfinalproposal
    Step Required: false
    ---------------------------------------
    Step Name: Confirm Decision Date
    Step Attribute: finaldecisiondate
    Step Required: false
    ---------------------------------------
    Step Name: Send Thank You
    Step Attribute: sendthankyounote
    Step Required: false
    ---------------------------------------
    Step Name: File De-brief
    Step Attribute: filedebrief
    Step Required: false
    ---------------------------------------
---------------------------------------

참고 항목

비즈니스 프로세스 흐름에 대한 스크립트 작성

© 2017 Microsoft. All rights reserved. 저작권 정보