Universal Resource Scheduling でスケジュール ボードの予約テンプレートを編集する
要件がリソースにスケジュールされると、システムは予約レコードを作成します。 スケジュール ボードには、リソース別にグループ化された予約が表示されます。 スケジュール ボードの予約に表示されるフィールドは、予約テンプレート と呼ばれ、すぐに使用できるシステム エンティティのフィールドを使用してカスタマイズできます。
作業指示書の予約テンプレートを編集
スケジューリングが有効な各エンティティは、異なる予約テンプレートを持つことができます。 作業指示要件がスケジュールされると、予約テンプレートに 予約可能リソースの予約 レコードの 名前 と 期間 値が表示されます。
デフォルト値は次のコード スニペットです。
<div>{SchedulableEntityDisplayName} - {name}<br />Duration: <strong class="bold">{duration}</strong></div>
予約テンプレートを制御する HTML を編集するには、スケジュール ボード設定の スケジュール タイプ セクションに移動します。 予約テンプレートを変更するエンティティを選択します。 スケジュール ボード タブから設定を開いた場合は、そのタブの設定のみを変更します。 すべてのタブを変更するには、既定の編集 を選択し、そこに変更を適用します。 カスタム予約テンプレート を オン に設定し、HTML コードを変更します。
予約テンプレート フィールドで、既存の予約テンプレートを上書きして 予約可能リソース の予約 エンティティと、作業指示書などリンクされたエンティティのフィールドを参照できる 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 の値があります。 以前と同じ方法を使用して、最初に背景として灰色のレンチを描画してその上にオレンジのレンチをオーバーレイして、そのサイズを 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>
スケジュール ボードの予約テンプレートには、顧客の評価と仕事の種類の視覚的表現が含まれるようになりました。