Universal Resource Scheduling 的扩展性更新

2018 年 10 月

时间间隔

日程安排助理现在支持时间间隔功能。 使用单个要求(或一个要求组)搜索可用性时,可通过要求记录中名称为完成首选项 (msdyn_timegroup) 的查找字段将要求关联到完成首选项 (msdyn_timegroup) 记录。 在完成首选项记录中,有一些设置用于定义应将结果舍入到哪些时间间隔 (msdyn_interval),以及使用日程安排助理列表视图时,计划员应该可以看到每个时间间隔的多少个结果 (msdyn_resultsperinterval)。 还有一些其他设置与时间间隔有关,如 (msdyn_intervalsbegin) 和 (msdyn_resetpertimegroupdetail),但是不支持在日程安排助理的筛选器控件中更改这些值。

计划要求组时,筛选器控件尚不可扩展。 因此,即使日程安排助理筛选器布局已经过定制,也会在计划要求组时将此功能按原样提供给每个人。

日程安排助理筛选器布局

此更新中自带的默认日程安排助理筛选器布局中包含两个新的持续时间控件,用于调整时间间隔和每个时间间隔的结果数量。 如果有自定义的日程安排助理筛选器布局,可将下面的新控件添加到日程安排助理筛选器布局配置记录中的控件部分。

新增的 Interval 属性:

<control type="duration" key="Requirement/msdyn_interval" label-id="Interval" min="1" default-value="1" />

新增的 ResultsPerInterval 属性:

<control type="number" key="Requirement/msdyn_resultsperinterval" label-id="FilterControl_ResultsPerInterval" min="0" default-value="0" />

检索约束查询

此更新中自带的默认检索约束查询中包含用于检索 IntervalResultsPerInterval 值的查询。 若要更改此参数的默认值,或者您有自定义的检索约束查询,请更新下面的内容或将其添加到检索约束查询配置记录中。

<link-entity name='msdyn_timegroup' from='msdyn_timegroupid' to='msdyn_timegroup' link-type='outer' alias="tg">
          <attribute name='msdyn_interval' alias="msdyn_interval" />
          <attribute name='msdyn_resultsperinterval' alias="msdyn_resultsperinterval" />
        </link-entity>

2018 年 5 月

资源单元格模板

隐藏资源图像

此更新中自带的默认资源单元格模板支持当日程安排板中的资源行配置为较小高度时,自动隐藏资源图像。 如果有自定义的资源单元格模板,请将下面的模板更新添加到资源单元格模板配置记录中。

第一行和最后一行是新引入的,用于突出此功能。 更新后的标记,用于隐藏资源图像:

{{#if (or (eq (is-sa-grid-view) true) (eq (is-row-small) false)) }}
    {{#if imagepath}}
    <img class='resource-image' src='{{client-url}}{{imagepath}}' />
    {{else}}
    <div class='resource-image unknown-resource'></div>
    {{/if}}
{{/if}}

第一行是新增的。 更新后的标记,用于隐藏模板中的第二个文本行:

{{#if (and (eq (is-sa-grid-view) false) (eq (is-row-small) false)) }} 
    <div class='booked-duration'>{{BookedDuration}}<div class='fo-sch-clock'></div></div>
    <div class='booked-percentage'>{{BookedPercentage}}%</div>  
{{/if}}

有关详细信息,请参阅本文 - 从日程安排板中删除资源图像

2018 年 4 月

检索约束查询

忽略建议的预订

此更新中自带的默认检索约束查询中包含日程安排助理使用的“忽略建议的预订”参数的默认值。 若要更改此参数的默认值,或者您有自定义的检索约束查询,请更新下面的新属性或将其添加到检索约束查询配置记录中的 Requirement 包转换部分中。

新增的 IgnoreProposedBookings 属性:

<IgnoreProposedBookings ufx-type="bool">true</IgnoreProposedBookings> 

下面是包含有关忽略建议的功能的更多上下文的文章的链接 - 忽略建议的预订

2018 年 2 月

日程安排助理筛选器布局

忽略建议的预订

此更新中自带的默认日程安排助理筛选器布局中包含一个新的复选框控件,用于设置日程安排助理使用的“忽略建议的预订”参数。 如果有自定义的日程安排助理筛选器布局,请将下面的新控件添加到日程安排助理筛选器布局配置记录中的最后一个 fieldset 控件部分。

新的 IgnoreProposedBookings 控件

<control type="boolean" key="Requirement/IgnoreProposedBookings" label-id="ScheduleAssistant.West.settingsform.IgnoreProposedBookings" />

下面是包含有关忽略建议的功能的更多上下文的文章的链接 - 忽略建议的功能

2017 年12 月

检索资源查询

日程安排板可视日期范围

此更新中的检索资源查询将日程安排板的可视日期范围用作输入。 因此,查询将在其数据库查询中使用日程安排板的日期范围。 尚未更改此更新中自带的默认检索资源查询。 但是,现在可将查询自定义为取决于日程安排板的可视日期范围。

XPath $input 变量中的可用更新后输入参数为 ScheduleBoard/StartDateScheduleBoard/EndDate

下面的片段(非自带)显示如何使用新的输入参数查询日程安排板中的可视日期范围内每个资源的预订总数。

<!-- Booking join -->
<link-entity name="bookableresourcebooking" from="resource" to="bookableresourceid" link-type="outer">
    <attribute name="name" aggregate="countcolumn" alias="bookingcount" />

    <filter>
        <condition attribute="statecode" operator="eq" value="0" />
        <condition attribute="starttime" operator="le">
            <ufx:value select="$input/ScheduleBoard/EndDate" attribute="value" />
        </condition>
        <condition attribute="endtime" operator="ge">
            <ufx:value select="$input/ScheduleBoard/StartDate" attribute="value" />
        </condition>
    </filter>
</link-entity>

下面的片段(非自带)显示然后如何将资源单元格模板自定义为显示预订总数。

<div>Booking Count: {{bookingcount}}</div>

更改日程安排板中的日期时,不会自动重新执行资源查询。 相反,必须单击搜索按钮才能使用新的日程安排板可视日期重新执行搜索。

有关更多上下文,请参阅下面有关该主题的博客文章 - https://blogs.msdn.microsoft.com/crm/2017/12/15/new-use-schedule-board-date-ranges-in-custom-queries-in-universal-resource-scheduling/

日程安排助理筛选器布局

按总体可用性排序

此更新中自带的默认日程安排助理筛选器布局中包含一个新的排序选项,用于按资源的总体可用性为日程安排助理的结果排序。 如果有自定义的日程安排助理筛选器布局,请将下面的新排序选项添加到日程安排助理筛选器布局配置记录中的 order 控件。

新的排序选项

<order name="totalavailabletime" entity="bookableresource" attribute="totalavailabletime" label-id="ScheduleAssistant.Center.slotsgrid.TotalAvailableTime" />

有关此方案的更多上下文,请参阅下面的博客文章 - https://blogs.msdn.microsoft.com/crm/2017/12/15/sort-available-resources-by-total-available-time-in-universal-resource-scheduling/

2017 年 7 月

可扩展查询、自定义筛选器布局和资源单元格模板最初是在 Universal Resource Scheduling 的 2017 年 7 月更新中发布的