ドット連結の例
ドット連結を使用して、フォーム、リスト、またはスクリプトから関連テーブルのフィールドにアクセスします。このトピックには、ドット連結を行うさまざまな方法の例が含まれています。
リストフィールド
フィルターのフィールドリストなど、リスト内の関連フィールドにドット連結することができます。この例では、インシデントを登録した発信者の会社でインシデント [incident] テーブルをフィルタリングする方法を示します。
[ 関連フィールドを表示] を選択すると、メニューが再ロードされて関連フィールドが表示されます。
[発信者] → [ユーザ] フィールドで [会社] を選択すると、フィールドは [問い合わせユーザー.会社] になります。
この例では、ユーザーが Incident.Caller.Company にいることを示しています。メニューの上部にあるフィールドを選択すると、階層の上位レベルに戻ることができます。たとえば 、[インシデントフィールド ] を選択すると、インシデントフィールドのリストに戻ります。
Condition Builder
条件ビルダーでドット連結することで、テーブルに対して詳細なクエリを作成できます。
条件ビルダーでドット連結を行うには、まずフィールドメニューの [関連フィールドを表示 ] を選択します。このアクションでは、関連テーブルのフィールドをクエリに追加できます。
次の GIF は、条件ビルダーでフィールドをドット連結して、Beth Anglin という特定のユーザーに割り当てられたすべてのインシデントレコードを検索する方法を示しています。この例では、ユーザーは をクリックし、条件ビルダーを開きます。フィールドメニューで、ユーザーは最初に [関連フィールドを表示 ] を選択し、次にフィールドメニューを再度開いて [アサイン先] → [ユーザー] フィールドを選択します。ユーザーがフィールドメニューを再度開いて [姓] を選択します。ユーザーは、[姓] [次の値に等しい] [Anglin] という条件を作成します。ユーザーが [ Run] を選択すると、[Incident] リストには Beth Anglin にアサインされたレコードのみが表示されます。
リストコレクター
スクリプト
ドット連結構文を呼び出すことで、スクリプト内でドット連結することができます。この機能を使用するには、JavaScript のナレッジが必要です。
ビジネスルールなど、サーバー側で実行されるスクリプトの場合は、current を追加する必要があります 。
try{
current.opened_by.manager;
}
catch(err){}function onChange(control, oldValue, newValue, isLoading){
//wait until there is a valid record in the field
if(newValue){
//get the caller object so we can access fields
var caller = g_form. getReference('caller_id');
var callerLabel = document.getElementById('label.incident.caller_id');
var callerField = document.getElementById('sys_display.incident.caller_id');
//check for VIP status
if(caller.vip == 'true') {
//change the caller label to red background
//style object is CSSStyleDeclaration, style names are not standard css names
if(callerLabel)
document.getElementById('label.incident.caller_id').style.backgroundColor = 'red';
//change the caller's name field to red text
if(callerField)
document.getElementById('sys_display.incident.caller_id').style.color = 'red';
}
else { //not a VIP, remove temporary styles if(callerLabel)
document.getElementById('label.incident.caller_id').style.backgroundColor = '';
if(callerField)
document.getElementById('sys_display.incident.caller_id').style.color = '';
}
}
}変数
多くの場合、テンプレート、通知、またはフォームから値が呼び出されるその他のフォームに変数を追加できます。
たとえば、${assigned_to} は [アサイン先] フィールドの変数です。
例に示すように、任意の参照フィールドの元のレコードのフィールドにドット連結することができます。たとえば、 ${assigned_to.manager} のように、assigned_to レコードの任意のフィールドにドット連結することができます。
ドット連結する場合、この例のように、必要に応じてより長いチェーンを使用できます ($ {assigned_to.department.manager.mobile_phone})。
ツリーピッカーからこの変数を選択できる場合があります。
ツリーピッカー
- 別の上位レベルの CI に従属する構成アイテム (CI)。
- 特定のグループのメンバー。たとえば、ツリーピッカーを使用して、Service Desk グループ内のユーザーを検索します。
- 任意の階層テーブルの参照要素。階層テーブルとは、それ自体を指す親フィールドを持つテーブルのことです。たとえば、グループ [sys_user_group] テーブルは、特定のグループが親グループの子であるため、階層テーブルと見なされます。
次の例は、ツリーピッカーを使用してデータベースグループ内のユーザーにインシデントレコードを割り当てる方法を示しています。
最初に任意のインシデントレコードに移動してから、[Assignment group] フィールドに「Database」と入力します。
この例では、データベース グループは親グループで、その下に複数の子グループがあります。[アサイン先] フィールドの横にある検索アイコン ( ) を選択すると、ウィンドウに [データベース] グループの参照フィールドが表示されます。
参照フィールドには、名前の横に展開アイコン (+) があります。[+] をクリックすると、その参照フィールドのフィールドのリストが展開されます。この例では、[ Database Atlanta ] または [ Database San Diego ] フィールドを展開すると、各子グループ内のユーザーレコードリストが開きます。
いずれかのユーザーレコードを選択して、[ アサイン先 ] フィールドに値として追加します。