다음을 통해 공유


사용자 지정 상태 모델 전환 정의

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Incident(케이스) 엔터티 또는 사용자 지정 엔터티에 대한 사용자 지정 상태 전환을 지정할 수 있습니다. 상태 모델 전환을 지원하는 엔터티에 대해 EntityMetadata.IsStateModelAware 속성은 true입니다.

사용자 지정 상태 전환은 지정된 상태의 레코드에 유효한 상태 전환을 정의하는 선택적인 필터링 수준입니다. 특히 올바른 상태(state) 및 상태(status) 값의 조합을 많이 사용할 때 제한된 옵션 목록을 정의하면 사람들이 레코드에 대해 올바른 상태를 쉽게 선택할 수 있습니다.

이 항목의 내용

상태 모델은 무엇입니까?

유효한 상태 전환 감지

상태 모델은 무엇입니까?

이 표에 표시된 것처럼 이 데이터를 캡처하는 특성 쌍을 가진 상태 개념을 지원하는 엔터티입니다.

논리 이름

표시 이름

설명

statecode

상태

레코드의 상태를 나타냅니다. 사용자 지정 엔터티의 경우 레코드 상태는 활성 또는 비활성입니다.Incident (case) 엔터티는 활성, 해결됨취소됨을 사용합니다. 상태 옵션을 더 추가할 수는 없지만 옵션 레이블을 변경할 수는 있습니다.

statuscode

상태 설명

특정 상태에 연결되어 있는 상태를 나타냅니다. 각 상태에는 가능한 상태가 하나 이상 있어야 합니다. 추가 상태 옵션을 추가하고 기존 옵션 레이블을 변경할 수 있습니다.

특성에 대한 메타데이터는 지정된 상태에 대해 유효한 상태 값을 정의합니다. 예를 들어 Incident(서비스 케이스) 엔터티의 경우 기본 상태(state) 및 상태(status) 옵션은 다음 표에 표시됩니다.

상태

상태

Label: 활성

Value: 0

Label: 진행 중

Value: 1

State: 0

Label: 보류 중

Value: 2

State: 0

Label: 세부 정보 대기

Value: 3

State: 0

레이블: 연구 중

Value: 4

State: 0

Label: 해결됨

Value: 1

Label: 문제 해결됨

Value: 5

State: 1

레이블: 정보 제공됨

Value: 1000

State: 1

레이블: 취소됨

Value: 2

Label: 취소됨

Value: 6

State: 2

Label: 병합됨

Value: 2000

State: 2

이 데이터는 StatusAttributeMetadata 클래스에 옵션을 나타내는 StatusOptionMetadata 클래스에 저장됩니다.

조직에 대한 엔터티 메타데이터를 보려면 조직에 대한 메타데이터 찾아보기에 설정된 메타데이터 브라우저 솔루션을 설치하십시오. SDK 다운로드의 최상위 폴더에 포함된 EntityMetadata.xlsx라는 Excel 파일에서 사용자 지정되지 않은 조직의 메타데이터를 볼 수도 있습니다.

유효한 상태 전환 감지

statuscode 특성을 수정하여 현재 상태에서 유효한 전환을 나타내는 다른 상태 옵션을 정의할 수 있습니다. 지침은 사용자 지정 가이드의 상태 설명 전환 정의 항목을 참조하십시오.

사용자 지정 상태 전환이 엔터티에 적용되면 EntityMetadata.EnforceStateTransitions 속성은 true가 됩니다. 또한 StatusAttributeMetadata.Options 컬렉션 내 각 StatusOptionMetadata에는 새 TransitionData 속성이 있습니다. 이 속성에는 XML 문서를 나타내는 문자열 값이 들어 있습니다. 이 문서에는 허용되는 전환의 정의가 들어 있습니다. 예를 들어 기본 Incident(서비스 케이스) StatusCode 특성 옵션에는 다음 TransitionData 값이 있을 수 있습니다.

<allowedtransitions xmlns="https://schemas.microsoft.com/crm/2009/WebServices">
<allowedtransition sourcestatusid="1" tostatusid="6" />
<allowedtransition sourcestatusid="1" tostatusid="1000" /> 
<allowedtransition sourcestatusid="1" tostatusid="2000" />
<allowedtransition sourcestatusid="1" tostatusid="5" />
</allowedtransitions>

참고

이 데이터가 웹 서비스의 관리형 코드에서 검색되면 예를 들어 JavaScript를 사용하면 이스케이프되고 다음 예제와 같이 표시됩니다.

&lt;allowedtransitions xmlns="https://schemas.microsoft.com/crm/2009/WebServices"&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="6" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="1000" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="2000" /&gt;
&lt;allowedtransition sourcestatusid="1" tostatusid="5" /&gt;
&lt;/allowedtransitions&gt;

이 데이터가 있고 엔터티 EnforceStateTransitions 속성이 true이면 문제 인스턴스는 허용되는 statuscode 값 중 하나로만 변경될 수 있습니다.IOrganizationService.Update를 사용하여 상태 변경을 나타내지 않는 허용 값 중 하나로statuscodeOptionSetValue를 설정할 수 있습니다. 상태를 변경하려면 SetStateRequest를 사용하여 허용된 StateStatus 속성 값을 설정하거나 CloseIncidentRequest를 사용하여 현재 statuscode 값에 허용된 값 중 하나로 Status 속성을 설정합니다. 잘못된 값을 설정하려고 하면 오류가 발생합니다.

참고 항목

샘플: 유효한 상태 전환 검색
레코드 상태(state) 및 상태(status)
메타데이터에 대한 변경 내용을 검색합니다.
상태 설명 전환 정의

Microsoft Dynamics 365

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