リソースに要件がスケジュールされると、予約レコードが作成されます。 スケジュール ボードには、リソース別にグループ化された予約が表示されます。 スケジュール ボードの予約に表示されるフィールドは 予約テンプレートであり、システム エンティティのフィールドを使用してカスタマイズできます。
作業指示書予約テンプレートを編集する
スケジュールが有効な各エンティティは、異なる予約テンプレートを持つことができます。 作業指示書の要件がスケジュールされると、予約テンプレートに 予約可能なリソース予約 レコードの [名前] と [期間] の値が表示されます。
既定値は次のコード スニペットです。
<div>{SchedulableEntityDisplayName} - {name}<br />Duration: <strong class="bold">{duration}</strong></div>
予約テンプレートを制御する HTML を編集するには:
スケジュール ボードで、スケジュール ボードの設定を開きます。
- 特定のタブのボード設定を開くには、[スケジュール ボード] タブ名の横にある縦の省略記号⋮を選択し 、[ボードの設定] を選択します。
- すべてのタブのボード設定を開くには、[ スケジューラの設定 ] を選択し、[ すべてのボード設定] を選択します。
[スケジュールの種類] を選択し、予約テンプレートを変更するエンティティを選択します。 たとえば、作業指示書です。
カスタム予約テンプレートを [オン] に設定します。
予約テンプレートをオーバーライドするには、 予約可能な Resource Booking エンティティとリンクされたエンティティのフィールドを参照できる HTML およびカスケード スタイル シート (CSS) を入力します。 JavaScript は予約テンプレートではサポートされていません。
複数のブラウザーでカスタマイズされた予約テンプレートをテストし、アクセシビリティのベスト プラクティスを検討します。
ヒント
システム エンティティのみを使用します。 カスタム エンティティからの値のプルはサポートされていません。
予約可能なリソース予約エンティティのフィールドは、フィールド名を中かっこで囲み、直接参照できます。 例: {duration}。
リンクされたエンティティのフィールドを表示するには、N:1 リレーションシップの名前を見つけ、ピリオド (.) の後にターゲット エンティティのフィールド名を追加します。 たとえば、作業指示書のリレーションシップ パスは msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder で、プライマリ インシデントの種類フィールドは msdyn_primaryincidenttype です。 フィールド参照の結果は、 {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}です。 ピリオドで接続して、リレーションシップ ホップをさらに追加します。
カスタム テンプレートは、スケジュール ボードの時間単位ビューのヒントにのみ適用され、日単位、週単位、または月単位のビューには影響しません。
カスタム予約テンプレートの例
この例では、作業指示書エンティティのカスタム予約テンプレートを示します。 次のコード スニペットは、予約に関連する作業指示書から値を取得します。
<div style="line-height: 11px !important; width: 99%; overflow: hidden; display: block; text-overflow: ellipsis;">
WO:
<b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b><br/>
Account: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name}</b><br/>
Incident: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}</b><br/>
Duration: <b>{duration} minutes</b><br/>
</div>
注
スケジュール ボード予約テンプレートでの予定属性の参照はサポートされていません。予定テンプレートのデータは、関連付けられた予約に依存するためです。
これらの属性を参照するには、予約が関連付けられていることを確認し、[スケジュール パラメーター] の [予定を含める] 設定を無効にします。 この設定を無効にすると、予約可能なリソース予約がスケジュール ボードにリンクされていない予定がすべて非表示になります。
CSS を使用した高度な予約テンプレートのスタイル設定
CSS を使用してカスタム予約テンプレートにスタイルを追加できます。 リソース スケジュールに移動し、[設定] 領域を選択します。 管理>スケジュール パラメータを選択し、[HTML テンプレートのサニタイズを無効にする] を [はい] に設定して、CSS ステートメントを予約テンプレートに含めます。
この例では、 カスタム予約テンプレートの例を拡張します。 CSS を使用して、取引先企業および作業指示書レコードの条件付き値に基づいて顧客評価とサービス アイコンを追加します。 カスタマイズによって、new_customerratingフィールドが取引先エンティティに追加され、そのフィールドが 1 から 10 までの整数範囲で作業指示エンティティに伝達されます。
予約テンプレートで顧客評価を灰色の星で視覚化する必要があります。 実際の顧客評価を表すために、5 つのオレンジ色の星も追加しますが、1 から 10 の顧客評価に対応するこれらの星の割合のみが表示されます。
また、作業指示書がサービス コールか別の種類のジョブかを、ディスパッチャに確認する必要があります。 作業指示エンティティにnew_isservicecallユーザー設定フィールドには、0 または 1 の 2 つの値を指定できます。 前と同じ方法を使用して、まず背景として灰色のレンチを描画し、オレンジ色のレンチを重ねて、サイズを 0% (new_isservicecall = 0) または 100% (new_isservicecall = 1) に制限します。
[スケジュール ボード] タブの [設定] の [予約テンプレート] フィールドに、次の HTML テキストと CSS テキストを追加します。
<div style="line-height: 11px !important; width: 99%; overflow: hidden; display: block; text-overflow: ellipsis;">
<div class="back-stars" style="color: #AAAAAA; position: relative; display:inline-block;">
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<div class="customerrating" style="width:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.new_customerrating}0%; color: #FFBC0B; position: absolute; top: 0; left:0; overflow: hidden; display:-webkit-box">
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
</div>
</div>
<div class="repair-back" style="color: #AAAAAA; position: relative; display:inline-block; padding-left:10px; vertical-align:text-top;">
<i class="fa fa-wrench" aria-hidden="true"></i>
<div class="repair" style="width:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.new_isservicecall}00%; color: #FFBC0B; position: absolute; top: 0; left:0; padding-left:10px; overflow: hidden; display:-webkit-box">
<i class="fa fa-wrench" aria-hidden="true"></i>
</div>
</div>
<br/>
WO:
<b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name}</b><br/>
Account: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name}</b><br/>
Incident: <b>{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_primaryincidenttype}</b><br/>
Duration: <b>{duration} minutes</b><br/>
</div>
スケジュール ボードの予約テンプレートに、顧客評価とジョブの種類を視覚的に表現できるようになりました。