次の方法で共有


置換パラメーターを使用した Unified Service Desk の構成

特定のビジネス プロセス間の相互作用をカスタマイズするために、アクションとウィンドウ ナビゲーションの規則を使って置換パラメーターを使用できます。 詳細: 置換パラメーター

このトピックでは、置換パラメーター内で使用できる置換キーについて説明します。このキーは、Unified Service Desk の置換パラメーターを複数の特別な条件で使用できるようにする特別な処理方法を指示します。

置換キー

次の表は、置換パラメーターで使用できる置換キーについて説明します。

置換キー 内容
+ このキーは、存在すると、null または存在しないキーを空の文字列に置き換えます。

例: account.name が未定義のシナリオで、[[account.name]] を呼び出すと、「<ActionName> 内の一部のパラメーターが使用不可能です。アクション コールを停止しています」というエラーが発生します。 エラー。 これは、ルールまたは品目の実行中に処理を停止します。

ただし、[[account.name]+] は空白を返し、置換キー エラーは発生しません。
$ このキーにより、引用符と改行のエスケープが可能になります。 これは、通常、スクリプトレットを呼び出すとき、または複数行の文字列を返すときに、演算子として使用されます。

例: [[script.MyMultiLineString]$]
^ このキーは引用符と改行のエスケープを阻止し、また複数行の結果セットをフラットにするために使用されます。

例: MyMultiline=[[myvalue]^]
u このキーは、置換パラメーターを URL エンコード (またはパーセント エンコード) するために使用されます。

たとえば、次の URL: https://mysite?something=[[opportunity.name]u] の置換パラメーターを検討します。

文字列 https://mysite?something=My%20Opportunity. が返されます。
x このキーは、置換パラメーターの XML エンコードに使用されます。 これは、< などのXAML 文字をエスケープして、出力で正しく表示できるようにします。

たとえば、[[myvalue]x] などとします。
g グローバル セッションから値を返すには、このキーが使用されます。 グローバル セッションでこのキーが見つからない場合、「キーが見つかりませんでした」というエラーが発生します。
a このキーは、フォーカスのある現在アクティブなセッションから値を返すために使用されます。 アクティブなセッションでこのキーが見つからない場合、「キーが見つかりませんでした」というエラーが発生します。
v このキーを使用して、置換キー内のキーを置き換えます。

たとえば、次のような 2 つの値について考えてみます。

- account.name = "My Account"
- mytemplate.value = "My template is [[account.name]+]"

[[mytemplate.value]] を呼び出すと、文字列 “My Template is [[account.Name]+]”が返されます。

ただし、[[mytemplate.value]v] を呼び出すと、文字列 “My template is My Account” が返されます。

特殊なハンドラー

多くの場合、スクリプトレットの作成を保証しない if/then/else タイプのコンストラクターのような単純なことをする必要があります。 このような場面では、スクリプトレットをアクションの呼び出し内で使用する必要があります。 アクションの呼び出し内にインライン スクリプトを構築する際に助けとなる、2 つの特殊なハンドラー $Expression$Multiline があります。

$Expression

現在のエンティティのエンティティの種類コードなどを基に、表示名を切替える必要がある状況を考えてみます。 この情報を必要とする URL を作成します。 この場合に、読み込まれるのは取引先企業または取引先担当者のどちらかのみです。

このシナリオでは、次のデータフィールドの値を使用して、標準 Web アプリケーションのホストされたコントロールで、移動アクションを呼び出します。

url= https://mysite/showmessage.aspx?displayname={either the account or contact display name}  

これを達成するには、$Expression を次のように使用します。

url= https://mysite/showmessage.aspx?displayname=$Expression("[[$Context.etc]]" == "1" ? "[[account.name]u+]" : "[[contact.fullname]u+]")  

これは、アクションの処理に合わせて、スクリプトレットを効果的に作成および実行します。

$Multiline

[$Expression] セクションでは、アクション内のインライン スクリプトレットの実行について説明しました。 より複雑なスクリプトレットを操作をする必要があって、スクリプトレットの格納にスクリプトレット オブジェクトをまだ使用したくない状況では、$Multiline コマンドを使用してより複雑なスクリプトレットを格納できます。

たとえば、$Expression セクションで以前使用した例を使用して、次のように展開できます。

url= https://mysite/showmessage.aspx?displayname=$Multiline( $Expression(  
function doWork()  
{  
      If ("[[$Context.etc]]" == "1")  
          return "[[account.name]u+]"   
      else   
          return "[[contact.fullname]u+]"  
}  
doWork();   
))  

関連項目

置換パラメーター
Unified Service Desk でスクリプトレットを使用してスクリプトを実行
Unified Service Desk の構成チュートリアル