次の方法で共有


ユニバーサル リソース スケジューリングでスケジュール ボード予約テンプレートを編集する

リソースに要件がスケジュールされると、予約レコードが作成されます。 スケジュール ボードには、リソース別にグループ化された予約が表示されます。 スケジュール ボードの予約に表示されるフィールドは 予約テンプレートであり、システム エンティティのフィールドを使用してカスタマイズできます。

作業指示書予約テンプレートを編集する

スケジュールが有効な各エンティティは、異なる予約テンプレートを持つことができます。 作業指示書の要件がスケジュールされると、予約テンプレートに 予約可能なリソース予約 レコードの [名前][期間] の値が表示されます。

既定値は次のコード スニペットです。

<div>{SchedulableEntityDisplayName} - {name}<br />Duration: <strong class="bold">{duration}</strong></div>

予約テンプレートを制御する HTML を編集するには:

  1. スケジュール ボードで、スケジュール ボードの設定を開きます。

    • 特定のタブのボード設定を開くには、[スケジュール ボード] タブ名の横にある縦の省略記号⋮を選択し 、[ボードの設定] を選択します。
    • すべてのタブのボード設定を開くには、[ スケジューラの設定 ] を選択し、[ すべてのボード設定] を選択します。

    スケジュール ボード ビューの設定へのアクセスのスクリーンショット。

  2. [スケジュールの種類] を選択し、予約テンプレートを変更するエンティティを選択します。 たとえば、作業指示書です。

  3. カスタム予約テンプレート[オン] に設定します。

  4. 予約テンプレートをオーバーライドするには、 予約可能な Resource Booking エンティティとリンクされたエンティティのフィールドを参照できる HTML およびカスケード スタイル シート (CSS) を入力します。 JavaScript は予約テンプレートではサポートされていません。

  5. 複数のブラウザーでカスタマイズされた予約テンプレートをテストし、アクセシビリティのベスト プラクティスを検討します。

ヒント

システム エンティティのみを使用します。 カスタム エンティティからの値のプルはサポートされていません。

予約可能なリソース予約エンティティのフィールドは、フィールド名を中かっこで囲み、直接参照できます。 例: {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>

スケジュール ボードの予約テンプレートに、顧客評価とジョブの種類を視覚的に表現できるようになりました。