Рекомендации по настройке

Следуйте этим рекомендациям, чтобы избежать проблем с производительностью, удобством использования и поддержкой с Dynamics 365 Field Service.

Сведение к минимуму настраиваемых полей в формах

Специалисты по настройке системы добавляют пользовательские поля в формы сущностей для сбора информации, специфичной для их отрасли и бизнеса, для запуска бизнес-процессов и сбора информации для отчетов. Однако слишком много настраиваемых полей в форме могут вызвать проблемы с производительностью.

Чтобы избежать проблем с производительностью:

  • Сведите к минимуму количество настраиваемых полей во всех формах. Если форма заказ на работу является вашей наиболее используемой формой в приложении Field Service, то будет неплохо идея начать с нее.
  • Минимизируйте количество полей поиска и подсеток среди пользовательских полей.
  • Переместите настраиваемые поля (особенно поля подстановки и вложенных сеток) с первой вкладки формы на другие вкладки формы.
  • Скрыть редко используемые поля формы по умолчанию.

Не изменяйте готовые веб-ресурсы, наборы параметров, роли безопасности или рабочие процессы

Не изменяйте и не настраивайте готовые веб-ресурсы, наборы параметров, роли безопасности или рабочие процессы. В противном случае это может вызвать непреднамеренное поведение системы.

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

Не изменяйте, не редактируйте и не удаляйте поля даты или статусы системы

Изменение, редактирование или удаление полей даты и статусов может повлиять на бизнес-логику и вызвать проблемы с обновлением решения. Примерами полей даты заказ на работу являются Время от обещанного и Время до обещанного. Примерами полей статуса являются Состояние системы для заказ на работу и Состояние системы для соглашения.

Не редактируйте нестандартные поля и не удаляйте их из форм.

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

Чтобы избежать ошибок:

  • Скройте ненужные поля в форме.
  • Переместите ненужные поля на другую вкладку формы.

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

Не редактируйте значения набора параметров (набора выбора)

Редактирование значений набор параметров стандартных полей может привести к ошибкам, особенно когда процессы зависят от значений этих полей или во время обновлений.

Чтобы избежать ошибок:

  • Редактируйте только метки набор параметров внешних полей. Никогда не редактируйте значения набор параметров этих полей.
  • Не удаляйте никакие варианты набора параметров.
  • Не добавляйте никакие варианты набора параметров.

Например, полевая служба заказ на работу по умолчанию включает поле Состояние системы . Это поле представляет собой набор параметров (типа choice ) и имеет такие параметры, как Unscheduled, Scheduled, In progress, Completed и Canceled. Каждый параметр имеет метку и соответствующее числовое значение. Системные администраторы могут редактировать метки наборов параметров (например, Незапланировано), но они никогда не смогут редактировать числовое значение, связанное с меткой.

Использование меньшего числа пользовательских скриптов и следование рекомендациям

Настройщики систем пишут скрипты, обычно веб-ресурсы JavaScript, для запуска бизнес-логики. Однако пользовательские скрипты могут вызывать проблемы с производительностью, ошибки и сложности во время обновлений.

Чтобы избежать этих проблем:

  • Минимизируйте количество скриптов, запускаемых под нагрузкой.
  • Не пишите скрипты, которые вызывают большой объем данных, и не пишите несколько скриптов, которые вызывают одни и те же данные.

В следующих подразделах описываются передовые практики. Кроме того, следуйте рекомендациям по написанию сценариев форм, изложенным в разделе Рекомендации по разработке с использованием Dynamics 365 Customer Engagement.

Сведите к минимуму количество сетевых запросов и объем данных, запрашиваемых в событии OnLoad

Чем больше сетевых запросов выполняется во время загрузки формы и чем больше данных загружается в ходе этих запросов, тем больше времени требуется для загрузки формы. Запрашивайте только минимально необходимый объем данных. Кроме того, рассмотрите возможность кэширования данных, когда это возможно, чтобы избежать ненужного запроса данных при будущих загрузках форм.

Избегайте использования синхронных сетевых запросов

Синхронные сетевые запросы могут вызывать медленную загрузку страниц и отсутствие реакции от форм. Вместо этого используйте асинхронные запросы. В следующем сообщении в блоге приведены дополнительные примеры: Повысьте эффективность своих приложений на основе моделей, отказавшись от синхронных запросов. Кроме того, рассмотрите возможность использования «асинхронности и ожидания» в любом сценарии, где требуется несколько сетевых вызовов для одной и той же сущности и записи. Узнайте больше о async и await.

Избегайте включения ненужных библиотек веб-ресурсов JavaScript

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

Избегайте загрузки всех скриптов в событие Onload

Если у вас есть код, который поддерживает только OnChange события для столбцов или только OnSave событие, обязательно установите библиотеку скриптов с обработчиком событий для этих событий вместо OnLoad события. Таким образом, загрузку этих библиотек можно отложить, а производительность при загрузке формы увеличится.

Используйте свернутые вкладки для отсрочки загрузки веб-ресурсов

Веб-ресурсы или iFrame компоненты, включенные в разделы на сворачиваемой вкладке, не загружаются, если вкладка свернута. Они загружаются только при раскрытии вкладки. При изменении состояния вкладки происходит TabStateChange событие. Любой код, необходимый для поддержки веб-ресурсов или iFrame на свернутых вкладках, может использовать обработчики событий для TabStateChange события и сократить код, который в противном случае пришлось бы выполнять в OnLoad событии.

Избегайте дублирования сетевых запросов в клиентском коде

Множественные или повторяющиеся сетевые запросы могут привести к зависанию веб-браузера и повлиять на время загрузки формы. Уменьшение количества запросов может улучшить производительность. Альтернативой является объединение сетевых запросов и кэширование значения этих запросов. Кроме того, рассмотрите асинхронные сетевые запросы, о которых упоминалось ранее.

Избегайте использования ролей и вызовов, специфичных для пользователя системы, если соответствующая информация доступна в API XRM.

Используйте API XRM, чтобы избежать сетевых запросов для получения информации о привилегиях пользователя. Узнайте больше о том, как отказаться от синхронных запросов. Кроме того, избегайте вызовов системных пользователей, если информация из API XRM соответствует вашим требованиям.

Настройка параметров видимости по умолчанию

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

Более подробную информацию можно найти в следующих ресурсах:

Запустите проверку решений для ваших скриптов

Средство проверки решений Power Apps — это полезный инструмент от Microsoft, который проверяет решения Power Apps на наличие проблем и дает рекомендации по передовому опыту. К таким проблемам относятся проблемы с JavaScript, HTML, плагинами и пользовательскими действиями рабочего процесса.

Более подробную информацию можно найти в следующих ресурсах:

Используйте асинхронные рабочие процессы вместо синхронных рабочих процессов

Специалисты по настройке систем часто пишут синхронные рабочие процессы для выполнения в реальном времени бизнес-логики, которая запускается при изменении данных в Field Service. Однако синхронное выполнение рабочих процессов снижает производительность. Чтобы избежать проблем с производительностью, запускайте рабочие процессы асинхронно.

Активирование готовых процессов Field Service и планирования ресурсов

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

Запустите Центр работоспособности решений для обнаружения проблем

Центр работоспособности решений поможет вам получить более полное представление о состоянии вашей среды и обнаружить проблемы в среде Dynamics 365. Конфигурация среды может со временем меняться в результате естественных системных операций. Центр работоспособности решений запускает правила внутри экземпляра для проверки конфигурации среды. Некоторые правила предназначены только для выездного обслуживания, и вы можете запускать их по требованию при возникновении проблемы. Некоторые правила автоматически активируются при установке или обновлении Field Service.

Чтобы контролировать состояние вашей среды, регулярно запускайте набор правил Центр работоспособности решений.

Замечания, связанные с быстродействием мобильного приложения

Настройка мобильного приложения может повлиять на производительность. Подробнее читайте в разделе Вопросы производительности при настройке мобильного приложения.