ドット連結の例
ドット連結により、フォーム、リスト、またはスクリプトから関連テーブルのフィールドにアクセスします。このトピックでは、ドット連結を行うさまざまな方法の例を説明します。
リストフィールド
フィルターのフィールドリストなど、リスト内の関連フィールドにドット連結することができます。この例では、インシデントを登録した問い合わせユーザーの会社でインシデント [incident] テーブルをフィルタリングする方法を示します。
フィルタリングするフィールドのリストを開くと、使用可能なインシデントテーブルフィールドのリストが表示されます。参照フィールドの後には、関連するフィールドが続きます。たとえば、[ Caller] の後に これは、 呼び出し側が 参照フィールドであり、関連するフィールドが 呼び出し側 レコードのユーザーフィールドであることを意味します。
関連フィールドがリストに存在しない場合は、リストの下部にある [ 関連フィールドを表示 ] を選択します。[ 関連フィールドを表示] を選択すると、メニューが再ロードされて関連フィールドが表示されます。
関連フィールドを選択すると、メニューが関連テーブルのフィールドとともに再読み込みされます。たとえば、[発信者] → [ユーザー] フィールドで [会社] を選択すると、フィールドは Caller.Companyになります。選択した各参照はフィールドメニューの上部に保存され、フィールドラベルの前にあるドットの数は、ユーザーが最初のレコードから到達したドットの数を示します。
次の画像例は、ユーザーが Incident.Caller.Company にいることを示しています。メニューの上部にあるフィールドを選択すると、階層の上位レベルに戻ることができます。たとえば 、[インシデントフィールド] を選択すると、インシデントフィールドのリストに戻ります。
関連フィールドを削除するには、リストの下部にある [関連フィールドを削除 ] を選択します。
条件ビルダー
条件ビルダーでドット連結することで、テーブルに対して詳細なクエリを作成できます。
条件ビルダーでドット連結するには、まずフィールドメニューの [関連フィールドを表示 ] を選択します。このアクションにより、関連するテーブルのフィールドをクエリに追加できます。
たとえば、条件ビルダーでフィールドをドット連結して、特定の 1 人のユーザーにアサインされたすべてのインシデントレコードを検索できます。その Anglin.To、次の場所に移動します をクリックし、条件ビルダーを開きます。フィールドメニューで [ 関連フィールドを表示 ] を選択し、フィールドメニューを再度開いて [アサイン先] → [ユーザー] フィールドを選択します。フィールドメニューを再度開いて [姓] を選択します。次に、条件 [姓] [次の値に等しい] [Anglin] を作成します。最後に、[ 実行] を選択します。[インシデント] リストには、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レコードの任意のフィールド ( ${assigned_to.manager} など) にドット連結することができます。
ドット連結では、次の例 ${assigned_to.department.manager.mobile_phone} のように、必要に応じてより長いチェーンを作成できます。
ツリーピッカーからこの変数を選択できる場合もあります。
ツリーピッカー
- 別の上位レベルの CI の下にある構成アイテム (CI)。
- 特定のグループのメンバー。たとえば、ツリーピッカーを使用してサービスデスクグループ内のユーザーを検索します。
- 任意の階層テーブルの参照要素。階層テーブルとは、親フィールドがそれ自体を指しているテーブルのことです。たとえば、グループ [sys_user_group] テーブルは、特定のグループが親グループの子であるため、階層テーブルと見なされます。