Замена классических рабочих процессов Microsoft Dataverse на потоки
В этой статье сравниваются возможности потоков Power Automate и классических рабочих процессов.
Power Automate обладает значительными преимуществами по сравнению с классической моделью фоновых бизнес-процессов. Поэтому мы рекомендуем применять Power Automate во всех сценариях автоматизации процессов.
При создании новых процессов автоматизации применяйте потоки вместо классических рабочих процессов Microsoft Dataverse. Кроме того, вам нужно проверить существующие сценарии применения классических фоновых бизнес-процессов и по возможности использовать потоки.
Сравнение возможностей компонентов
В этой таблице сравниваются возможности потоков Power Automate и классических рабочих процессов.
Мы постоянно добавляем новые возможности в Power Automate. Мы будем обновлять информацию в этой таблице по мере появления новых возможностей Power Automate, поэтому регулярно просматривайте ее. Информацию о предстоящих возможностях, которые помогут заменить классические фоновые бизнес-процессы потоками, см. в разделе Что нового и какие планы в Power Automate.
Возможность | Power Automate | Классический рабочий процесс | |
---|---|---|---|
Моделирование | Условное ветвление | Да | Да |
Циклы | Да | Нет | |
Условия ожидания по столбцам | Нет | Да | |
Параллельная ветвь | Да | Нет | |
Готовые соединители для внешних систем (активация и выполнение действий во внешних службах) | Да | Нет | |
Создание | Динамическое содержимое | Да | Да |
Доступ к предварительному образу данных события | Нет | Да | |
Выполнение дочерних рабочих процессов | Да | Да | |
Запуск действий Microsoft Dataverse (включая пользовательские) | Да | Да | |
Запуск действий настраиваемых фоновых бизнес-процессов | Нет | Да | |
Группирование шагов для выполнения в транзакции | Да (через наборы изменений) | Нет | |
Рабочие процессы утверждения | Да | Нет | |
Выполнение | Активация при изменении столбца | Да | Да |
Условное срабатывание по значениям столбцов (например, при записи определенного дня в столбце даты) | Нет | Нет | |
Триггер по нескольким событиям таблицы Dataverse | Да | Да | |
Выполнение по запросу | Да | Да | |
Области запуска от имени (например, от имени организации, подразделения или пользователя) |
Да | Да | |
Выполнение по расписанию | Да | Нет | |
Синхронное выполнение (в режиме реального времени) | Нет | Да | |
История | Аудит | Да | Да |
Выполнение аналитики | Да | Нет | |
Разработка и переносимость | Поддержка решения | Да | Да |
Современный конструктор | Да | Нет | |
Создание с использованием искусственного интеллекта | Да | Нет |
Пример сценария: замена фонового бизнес-процесса на облачный поток
Давайте рассмотрим сценарий продаж, в котором вы уже подготовили предложение для клиента и перед отправкой этого предложения клиенту должны запросить у руководителей утверждение. Это не очень просто сделать с помощью классических бизнес-процессов, и большинство решений в таком сценарии требуют, чтобы разработчик создавал настраиваемые действия фонового бизнес-процесса для получения элементов строки предложения с расценками.
На основе потоков этот сценарий реализовать гораздо проще (см. приведенное далее пошаговое руководство, где рассматриваются некоторые возможности Power Automate). Эти возможности включают:
- создание облачного потока, который выполняется по запросу;
- Получение списка строк, относящихся к таблице Dataverse.
- Циклический перебор списка строк.
- отправка запросов на утверждение.
Чтобы менеджер по продажам смог активировать запрос на утверждение по запросу, сделайте следующее:
Войдите в Power Automate и создайте в решении облачный поток.
Из списка триггеров выберите Microsoft Dataverse — Когда выбрана строка, затем выберите Предложения с расценками в качестве таблицы.
Этот триггер позволит по запросу выполнять облачный поток для отдельной строки или списка строк.
Настроив триггер, добавьте в поток действия для выполнения. Так вы предоставите утверждающему сводные данные, необходимые для определения элементов и значений в предложении с расценками. Начните с добавления действия Microsoft Dataverse — Список строк. Цель состоит в том, чтобы получить отдельные элементы из предложения с расценками, поэтому установите Имя таблицы на Строки предложения с расценками. Чтобы в список включались только те элементы строк, которые относятся к предложению с расценками, для которого был активирован поток, мы укажем критерий фильтра в стиле OData. В поле Запрос фильтра введите ‑quoteid_value eq и выберите Предложение с расценками в открывшемся списке динамических значений.
Поскольку мы хотим собрать сводные данные об элементах строк из предложения с расценками для дальнейшего утверждения, добавьте действие Инициализировать переменную. Задайте Имя как Сводные данные о строках предложения с расценками, Тип как Строка (из раскрывающегося списка) и оставьте Значение пустым.
Добавьте действие Добавление в переменную строки и выберите ранее созданную переменную Сводные данные о строках предложения с расценками. В поле Значение выберите в списке динамических значений Количество, Имя, Цена за единицу, Полная сумма и Скидка, заданная вручную. Конструктор Power Automate определит, что эти значения извлекаются из списка элементов строки предложения с расценками, и добавит новое действие в цикл Применить к каждому, чтобы включить в сводные данные сведения из каждого элемента строки.
Чтобы запросить утверждение для созданной сводки по предложению с расценками, добавьте действие Утверждение — начните и ожидайте утверждения. Выберите Тип утверждения (например, Утвердить или отклонить — первый ответивший), присвойте запросу на утверждение Заголовок (например, можно использовать имя предложения с расценками, для которого запрашивается утверждение, выбрав его в списке динамических значений), а в поле Назначено введите адрес электронной почты пользователя, который должен проверить и утвердить предложение с расценками. В поле Сведения добавьте переменную Сводные данные о строках предложения с расценками и другую информацию, которая может быть полезной утверждающему (например, Общая сумма), используя средство выбора динамического значения.
Чтобы определить, что происходит после принятия или отклонения утверждения, добавьте действие Условие. В списке динамических значений для первого поля в условии выберите Результат, для второго — содержит из раскрывающегося списка и для третьего — Принять. Наконец, добавьте действия для разных результатов утверждения (например, отправку уведомления по электронной почте).
Итак, мы создали структуру утверждения, которая предоставит утверждающему всю информацию, которая потребуется для принятия решения в последующих шагах. Вот полный пример:
Когда этот поток выполняется для предложения с расценками, он создает сводную информацию об элементах строки для этого предложения и отправляет запрос на подтверждение, на который утверждающий сможет отреагировать в Power Automate, или сообщение электронной почты с действиями. Ниже приведен пример отображения:
Рекомендуемые шаблоны
Рабочие процессы со сложной условной логикой else-if
Вместо условий мы рекомендуем использовать действие Переключить.
Рабочие процессы, запускаемые из подключаемого модуля или кода
Мы рекомендуем изменить поток так, чтобы он запускался по триггерам:
Используйте триггеры Microsoft Dataverse, чтобы выполнять потоки на основе событий.
Для выполнения потоков на основе событий во внешней службе предоставляется более 260 готовых соединителей.
Если для сценария еще не существует готовый соединитель, вы можете легко создать собственный настраиваемый соединитель. Дополнительные сведения: Создание пользовательского соединителя с нуля
Наконец, для сценариев, в которых нельзя использовать для потока триггеры на основе готовых соединителей или путем создания настраиваемого соединителя, используйте триггер При получении HTTP-запроса для запуска потока.
Рабочие процессы, запускаемые рекурсивно
Используйте в потоке циклы do-until или Применить к каждому.
Рабочие процессы, которым требуется список строк
Используйте действие Перечислить строки. При использовании этого действия определите с помощью синтаксиса OData критерии для фильтрации строк, чтобы оптимизировать действие, уменьшив количество получаемых строк.
Рабочие процессы, которые находятся в спящем режиме для выполнения по расписанию
Используйте триггер повторения для выполнения бизнес-логики через регулярные интервалы.
Рабочие процессы, которые выполнялись так, чтобы обеспечить выполнение действий в ходе одной транзакции
Используйте действие набора изменений, чтобы все действия в нем гарантированно выполнялись как атомарная единица, то есть все операции либо выполнялись успешно, либо не выполнялись совсем. Если любое из действий в наборе изменений завершается ошибкой, выполняется откат всех изменений, выполненных предыдущими операциями.
Мониторинг выполнения фоновых бизнес-процессов для отслеживания сбоев
В Power Automate можно применить для действия параметр run-after, чтобы оно выполнялось только после сбоя предыдущего действия. Например, вы можете отправлять из Power Automate уведомление на мобильный телефон, когда действие Обновить строку завершается ошибкой или для него истекает время ожидания.
Вопросы и ответы по
У меня есть лицензия Dynamics 365. Можно ли использовать с Power Automate?
Каждый пользователь Dynamics 365 может использовать Power Automate. Изучите информацию о лицензировании.
Как часто можно активировать потоки по триггерам?
Потоки Dynamics 365 (или Microsoft Dataverse) выполняются почти мгновенно после активации триггера, так как используют механизм веб-перехватчиков (опросы не требуются).
- Как и при прямом доступе к API, в этой системе применяются регулирование и лимиты. Дополнительные сведения: Ограничения и конфигурация в Power Automate
- В частности, существует ограничение в 100000 действий за 5 минут для каждого потока. Один цикл в облачном потоке не может обрабатывать более 100 000 элементов одновременно.
- Пропускная способность не превышает 6 ГБ за 5 минут.
Как долго может выполняться один поток?
Время выполнения одного потока составляет 30 дней.
Как перемещать потоки между средами?
Как и классические рабочие процессы, потоки можно создавать в решении для поддержки процессов любого этапа жизненного цикла приложения.
Отслеживаются ли зависимости Power Automate в Microsoft Dataverse?
Как и в случае с другими компонентами решения, все зависимости потоков в решениях отслеживаются службой Microsoft Dataverse.
Синхронные рабочие процессы
Мы видели отзывы о том, что синхронные бизнес-процессы являются увеличивают проблемы с производительностью конечных пользователей. Мы рекомендуем вам оценить, можно ли добиться вашей цели или организовать часть фонового бизнес-процесса с помощью облачного потока. Если вы можете разделить действия как асинхронные, пользователь может продолжить свою деятельность, пока Power Automate завершает действие.
Если я буду использовать Power Automate, останутся ли мои данные в прежнем регионе (то есть в том регионе, где расположена среда Dynamics 365 или Microsoft Dataverse)?
Да, Power Automate всегда использует тот же регион, что и Microsoft Dataverse.
Нужно ли вносить изменения в конфигурацию прокси-сервера или брандмауэра?
См. документацию по настройке IP-адресов, чтобы определить необходимость в изменении конфигураций прокси-сервера или брандмауэра.