Поделиться через


Обновления расширяемости для Universal Resource Scheduling

Октябрь 2018

Интервалы

Помощник по расписанию теперь поддерживает функцию, называемую интервалами. При поиске доступности с помощью одного требования (или группы требований) требование можно связать с записью предпочтения выполнения (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" />

Запрос извлечения ограничений:

Поставляемый с этим обновлением запрос извлечения ограничений включает запрос на извлечение значений Interval и ResultsPerInterval. Для изменения значения по умолчанию для этого параметра или при наличии настроенного запроса извлечения ограничений обновите или добавьте указанное ниже в вашу запись конфигурации запроса извлечения ограничений.

<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 г.

Шаблон ячейки ресурса

Скрыть изображение ресурса

Шаблон по умолчанию ячейки ресурса, поставляемый с этим обновлением, включает поддержку для автоматического скрытия изображения ресурса, если строка ресурса в доске расписания настроена на небольшую высоту. Если у вас есть настраиваемый шаблон ячейки ресурса, добавьте внизу шаблона обновления к вашей записи конфигурации шаблона ячейки ресурса.

Первая и последняя строки новые и введены, чтобы прояснить функциональность. Обновленная разметка для скрытия изображения ресурса:

{{#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 г.

Извлечь запрос на получение ограничений

Игнорировать предложенные резервирования

По умолчанию запрос извлечения ограничений, поставляемый в данном обновлении, содержит значение по умолчанию для параметра игнорирования рекомендуемых резервирований, используемый помощником по расписанию. Для изменения значения по умолчанию для этого параметра или при наличии настроенного запроса извлечения ограничений обновите или добавьте указанное ниже новое свойство в часть преобразования сумки Requirement в вашей записи конфигурации запроса извлечения ограничений.

Добавленное свойство IgnoreProposedBookings:

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

Вот ссылка на статью с дополнительным контекстном функции игнорирования предложенного — Игнорировать предложенные резервирования.

Февраль 2018 г.

Макет фильтра помощника по расписанию

Игнорировать предложенные резервирования

Макет фильтра помощника по расписанию по умолчанию, поставляемый с этим обновлением, включает новый элемент управления флажка, чтобы установить параметр "Игнорировать предложенные резервирования", используемый помощником по расписанию. Если вы имеете настроенный макет фильтра помощника по расписанию, добавьте приведенный ниже элемент управления в последний раздел элементов управления fieldset в записи конфигурации макета фильтра помощника по расписанию.

Новый элемент управления IgnoreProposedBookings

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

Вот ссылка на статью с дополнительным контекстном функции игнорирования предложенного — Функциональность игнорирования предложенного.

Декабрь 2017 г.

Запрос на получение ресурсов

Видимый диапазон дат доски расписания

Включенный в это обновление запрос извлечения ресурсов получает в качестве входных данных видимый диапазон дат доски расписания. Это позволяет запросу использовать диапазон дат доски в запросах его базы данных. По умолчанию запрос извлечения ресурсов, поставляемый в этом обновлении, не изменен. Однако, теперь можно настроить запрос, чтобы он зависел от видимого диапазона дат доски.

Обновленные входные параметры, доступные в переменной XPath $input, это ScheduleBoard/StartDate и ScheduleBoard/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 г.

Обновление за июль 2017 г. для Universal Resource Scheduling было начальным выпуском для расширяемых запросов, настраиваемых макетов фильтра и шаблона ячейки ресурса