Создание скриптов для реализации сложной бизнес-логики
Некоторые реализации Dynamics 365 Field Service включают функциональность и сложную бизнес-логику, которые выходят за рамки процессов, предлагаемых Field Service изначально. Иногда эти сложности выходят за рамки параметров платформы, таких как рабочие процессы и бизнес-правила. Для сложных требований разработчики могут создавать собственный код.
Реализация сложной бизнес-логики обычно включает в себя написание подключаемых модулей на стороне сервера и веб-ресурсов JavaScript на стороне клиента.
В этой статье мы рассмотрим следующие лучшие методики:
- Прежде чем писать какие-либо сценарии, изучите существующие процессы и возможности выездного обслуживания.
- По возможности избегайте написания сценариев. Сначала попробуйте использовать такие возможности платформы, как Power Automate и рабочие процессы.
- Запускайте сценарии асинхронно, а не синхронно.
- Избегайте загрузки скриптов во время загрузки формы. Вместо этого загружайте их только тогда, когда они необходимы.
- Запускайте средство проверки решений для скриптов.
- Не редактируйте и не удаляйте существующие библиотеки форм.
Типы скриптов
Подключаемые модули
Плагины предоставляют возможность писать собственные пользовательские функции на основе событийно-ориентированной платформы Microsoft Dynamics 365 практически для любого процесса, который вы можете себе представить. Плагины действуют как обработчики событий и регистрируются для запуска при определенном событии в Dynamics 365. Плагины написаны на C# или Visual Basic и могут работать как в синхронном, так и в асинхронном режиме.
Пользовательские подключаемые модули могут помочь:
- Выполняйте определенную бизнес-логику, например, обновление определенных полей записи или обновление связанных записей при создании или обновлении записи Dynamics 365.
- Вызов внешней веб-службы при определенных событиях, например при сохранении или обновлении записи.
- Динамически вычислять значения полей при открытии любой записи.
- Автоматизируйте процессы, такие как отправка электронных писем клиентам при наступлении определенных событий в Dynamics 365.
Веб-ресурсы JavaScript
JavaScript предоставляет один из способов применения пользовательской логики бизнес-процесса для отображения данных в форме в Dynamics 365. В контексте Field Service разработчики могут добавлять JavaScript в заказы на работу и формы резервирования для обеспечения соблюдения бизнес-логики. Они также могут добавить JavaScript в доску расписания, чтобы создать правила резервирования, которые выполняют проверки при создании резервирования в доске расписания.
Шаг 1. Поймите риски написания пользовательских скриптов
Будьте осторожны при добавлении плагинов и JavaScript в вашу реализацию Field Service. Слишком большое количество скриптов и плохо написанные скрипты являются основными причинами низкой производительности и ошибок. Пишите сценарии только в том случае, если настройка имеет решающее значение для выполнения вашей операции по выездному обслуживанию.
Внимательно прочтите эту статью и сопутствующие материалы до, во время и после написания и внедрения сценариев.
Шаг 2. Проверьте, могут ли Field Service или Dynamics 365 соответствовать требованиям
Прежде чем писать плагин или веб-ресурс JavaScript, обязательно проверьте, может ли Field Service или другое приложение Dynamics 365 выполнять ту же или похожую функцию. Дублирование процессов может привести к ошибкам и проблемам с производительностью.
Шаг 3. Попробуйте сначала использовать параметры платформы
Прежде чем писать собственный сценарий, попробуйте удовлетворить свои требования, используя такие параметры платформы, как Power Automate, рабочие процессы и бизнес-правила.
Если вы не можете удовлетворить свои потребности, используя возможности платформы, подумайте, может ли рабочий процесс быть достаточно близким к вашему, чтобы помочь вашему бизнесу. Варианты платформ более масштабируемы, более удобны в поддержке, реже выходят из строя во время обновлений и обладают лучшей производительностью.
Чтобы узнать больше о том, как использовать параметры платформы, перейдите по ссылке Когда использовать плагины, а когда — рабочий процесс?
Шаг 4. Ознакомьтесь с передовыми практиками перед написанием плагинов или скриптов.
Многие передовые практики были созданы на основе опыта работы разработчиков с тысячами реализаций Dynamics 365. Ознакомьтесь со следующими рекомендациями до и во время написания плагинов или скриптов:
- Рекомендации по разработке подключаемых модулей и рабочих процессов для Microsoft Dataverse
- Лучшие практики и рекомендации по написанию клиентских скриптов для приложений на основе моделей
- Рекомендации по разработке с Dynamics 365 Customer Engagement
- Настройка JavaScript
- Проектирование масштабируемой настройки в Microsoft Dataverse
Шаг 5. Используйте инструменты для проверки своих скриптов
После того, как вы написали сценарии, вы должны их протестировать.
Во-первых, используйте средство проверки решений для проверки приложений на основе моделей в Power Apps. Средство проверки решений определяет, нарушают ли скрипты передовые практики, такие как выполнение синхронно вместо асинхронного.
Далее используйте профилировщик подключаемых модулей для отладки проблем.
Библиотеки форм
Многие типы записей Field Service, такие как заказы на работу (показаны на следующем изображении), имеют библиотеки форм JavaScript, которые по умолчанию включены в Field Service. Эти библиотеки выполняют важные процессы.
Важно
Не редактируйте и не удаляйте библиотеки форм.
JavaScript на доске расписания (правила резервирования)
Правила бронирования предоставляют возможность использовать JavaScript для выполнения проверок на основе таблица расписаний. Однако, как и при использовании JavaScript в других формах, таких как заказы на работу, действуйте осторожно. Не создавайте более одного правила резервирования. Вместо этого рассмотрите возможность использования оповещений о бронировании , чтобы оповещать диспетчеров о проблемах.