在 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 的工作订单实体。 我们希望预订模板能用灰色星形直观地显示客户评分。 为了表示实际的客户评分,我们还会添加五个星形,但是仅显示这些星形的百分比,与客户评分 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>

日程安排板上的预订模板现在包含客户评级和工作类型的视觉表示形式。