Unified Service Desk에서 스크립틀릿을 사용하여 스크립트 실행

 

게시 날짜: 2016년 11월

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

스크립틀릿은 대체 매개 변수에 대해 특수 구문을 사용할 때 실행되는 JavaScript의 조각입니다. 때때로 시스템 생성 대체 매개 변수는 이러한 기능에 필요한 적절한 데이터를 포함하지만 원하는 형식으로 데이터를 포함하지 않을 수 있습니다. 예를 들어, 컴퓨터 전화 통신 통합(CTI)에서 전화 번호는 일반적으로 전화 시스템에서 특성 서식 없이 “3035551212” 같은 숫자의 문자열로 도달합니다. 그러나 Microsoft Dynamics 365는 (303) 555-1212에서처럼 일반적으로 대시 같은 서식 문자열을 포함하는 문자열로 전화 번호를 저장합니다. 전화 시스템에서 직접 제공되는 데이터를 사용하여 Dynamics 365 엔터티를 검색할 경우 변경 사항은 일치가 발견되는 것만큼 적습니다. 이 문제는 Unified Service Desk에서 스크립틀릿을 사용하여 해결합니다.

이 항목의 내용

스크립틀릿 사용 방법

스크립틀릿에서 전역 호스팅된 컨트롤 참조

스크립틀릿 사용 방법

Microsoft Dynamics 365의 스크립틀릿 영역(설정 > 스크립틀릿)에서 스크립틀릿을 정의합니다. 스크립틀릿을 정의한 후 작업 호출에 대한 쿼리 또는 매개 변수의 대체 매개 변수로 다음 형식으로 스크립틀릿을 사용합니다.

[[script.<Scriptlet_Name>]]

시스템에 **script.**로 시작하는 이런 대체 매개 변수가 있으면 스크립틀릿 목록에서 이것을 따르는 텍스트와 일치하는 이름이 있는 스크립트를 검색합니다. 지정된 이름이 있는 스크립틀릿을 검색하는 경우 먼저 해당 스크립트 내에서 매개 변수를 대체한 다음 스크립트를 JavaScript 식으로 실행합니다. 식의 값은 위의 대체 값을 바꾸는 데 사용됩니다.

경고

스크립틀릿의 대체 매개 변수에 다른 스크립틀릿 대체가 포함되어 있고 루프가 만들어질 때까지 계속되는 경우 시스템이 스택 오버플로가 발생할 때까지 지속적으로 매개 변수를 대체하게 됩니다. 결과적으로 스크립틀릿에서 [[script.ReplacementParameters]]를 사용하지 않는 것이 좋습니다.

스크립틀릿에서 전역 호스팅된 컨트롤 참조

스크립틀릿은 실행하는 동안 전역 호스팅된 컨트롤 메서드를 참조할 수 있습니다. 모든 전역(비동적) 호스팅된 컨트롤은 시작할 때 스크립틀릿 엔진에 스크립트 가능한 개체로 추가됩니다. JavaScript가 내부에 공백이 있는 이름을 참조할 수 없으므로 스크립틀릿 엔진은 전역 호스팅된 컨트롤의 이름에 있는 공백을 “_” 밑줄로 자동으로 바꿉니다. 따라서 다음과 같은 유효한 JavaScript를 사용할 수 있습니다.

Connection_Manager.ConfigurationReader.ReadAppSettings(“maxNumberOfSessions”);

전역 관리자를 위한 특별한 서비스 케이스 시나리오가 있습니다. 구성에 있는 이름에 관계 없이 CRMGlobalManager를 통해서도 참조할 수 있습니다.

If (CRMGlobalManager.SessionCount == 0) // 고객 세션이 로드되지 않습니다. 전역 세션만 로드됩니다.

참고

공용 함수만 이 메서드를 통해 액세스할 수 있습니다.

세션 라인 구성 요소에서 세션 개요 정보를 표시하려 하지만 정보는 실제로 Dynamics 365 서버보다는 웹 서비스를 통해 액세스할 수 있는 외부 시스템에 있는 상황을 고려하십시오. 외부 웹 서비스를 호출하는 공용 함수를 노출하는 호스팅된 컨트롤을 만들 수 있습니다. 그런 다음 이 호스팅된 컨트롤을 전역 호스팅된 컨트롤로 구성하고 HiddenPanel에 저장합니다. 이 함수 및 웹 서비스 호출은 이제 스크립틀릿을 사용할 수 있습니다. 사용자는 새 함수를 호출하는 다음 스크립틀릿을 만들 수 있습니다.

My_Global_Application.CallExternalWebService(“[[account.accountnumber]$]”);

이 코드는 계정의 계정 번호를 함수에 첫 번째 매개 변수로 전달합니다. 스크립틀릿 이름을 웹 서비스 호출로 지정하는 경우 다음 세션 라인을 사용하여 웹 서비스 호출의 결과를 표시할 수 있습니다.

<Grid Margin="0"
  xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:CCA="clr-namespace:Dynamics;assembly=Dynamics">
<Grid.RowDefinitions>
 <RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
 <ColumnDefinition Width="100"/>
 <ColumnDefinition Width="*" />
 <ColumnDefinition Width="auto" />
</Grid.ColumnDefinitions>
<Label Margin="3,0,5,3" Content="Web Service Data" Padding="0" Grid.Row="4" HorizontalAlignment="Right" FontFamily="Tohoma" FontSize="12" FontWeight="Bold" />
<TextBlock Text="[[script.Call Web Service]]" Margin="0" Grid.Column="1" Grid.Row="4" Padding="3,0,0,3" FontFamily="Tohoma" FontSize="12"/>
</Grid>

참고 항목

대체 매개 변수
전역 및 세션 기반 Unified Service Desk 호스팅된 컨트롤

Unified Service Desk 2.0

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