Dynamics 365 — BnG Fetch operations

Пакет расширений для механизма workflow: массовые, математические и операции поиска.

Image by CKA / 575919964 / Shutterstock

Функциональные возможности

  • Выполнение групповых операций: массовое обновление\удаление\назначение записей, запуск бизнес-процесса для группы записей, запуск параметризованного действия для группы записей, установление статуса для группы записей.
  • Выполнение математических вычислений для числовых полей группы записей: среднее значение, минимальное\максимальное значение в выборке, сумма.
  • Выполнение математических вычислений по формулам с использованием динамических параметров из workflow.
  • Выполнение других вычислений: подсчет количества записей, минимальная\максимальная дата в выборке.
  • Выполнение операции поиска данных. *
  • Хранение и настройка Fetch-запросов, а также статических параметров (текст, число) в отдельной таблице (сущности) с удобным интерфейсом настройки.
  • Логирование сессий групповых операций (4 режима).

* Операция поиска позволяет извлечь 1ю запись из выборки и оперировать 4мя ее параметрами, заданными в 4х первых колонках Fetch-запроса.

Решаемые задачи

  • Выполнение операций над дочерними записями (всеми или над отобранными по определенным признакам, в т.ч. динамическим).
  • Выполнение поиска определенных дочерних записей, соответствующих заданным критериям (в т.ч. динамическим).
  • Установление наличия и количества дочерних записей в рамках выполнения процесса.
  • Получение в рамках выполнения бизнес-процесса данных родительских записей для субъекта процесса, отстоящих от субъекта на более, чем один уровень в иерархии (например, данных руководителя пользователя, ответственного за запись субъекта из выполняемого процесса).
  • Генерация списка новых записей на основе выборки (например, создание записей для отметки участия на мероприятии участника на основе созданных дней мероприятия).
  • Массовые операции над выборкой данных по заданным критериям (обновление, установление статуса, удаление, запуск процесса/параметризованного действия).
  • Вычисление значения математического выражения с использованием динамических параметров процесса (например, реализация алгоритма ценообразования).
  • Хранение и использование в логике бизнес-процессов статических параметров системы (например: срок жизни неподтвержденных персональных данных, количество попыток отправки СМС-уведомлений, тексты сообщений пользователям, различного рода префиксы и суффиксы для генерируемых кодов и т.п.).

Ограничения

  • Не поддерживается настройка Fetch-запросов в Едином интерфейсе (Unified Interface).
  • Скорость выполнения Fetch-операций зависит от скорости выполнения Fetch-запроса и обрабатываемого в нем количества записей.

Примеры использования

Онлайн продажа оборудования

Dynamics 365 — BnG Fetch operations

Задача:Система должна автоматически определять наличие среди продуктов заказа сложного оборудования и в зависимости от его наличия\отсутствия устанавливать соответствующую процессную ленту.Если в корзине заказа есть сложное оборудование, то для каждого из них необходимо создать карточку диагностики технологической возможности установки.

Реализация:Для первой задачи используется бизнес-процесс с шагом Fetch-операций, в котором выполняется поиск связанных с заказом продуктов, у которых установлен признак «Установка инженером». В зависимости от результатов этого поиска выполняется дальнейший шаг создания экземпляра процессной ленты.В случае если среди продуктов заказа обнаружен хотя бы один сложный (вторая задача) выполняется другой шаг Fetch-операций (массовый запуск бизнес-процесса), в котором отбираются все такие продукты и запускается для каждого из них отдельный бизнес-процесс, в котором создается карточка диагностики технологической возможности, связанная с соответствующим продуктом заказа.

Ценообразование

Dynamics 365 — BnG Fetch operations

Задача:Система должна распространять скидку менеджера на все продукты заказа, маркированные признаком «Скидка по заказу», не изменяя значений скидок других продуктов.После изменения скидки в продуктах заказа система должна производить пересчет итоговой цены заказа.

Реализация:Для первой задачи используется бизнес-процесс с шагом Fetch-операций, в котором выполняется обновление записей продуктов заказа, у которых установлен признак «Скидка по заказу».Вторая задача выполняется в том же процессе, что и 1я: следом за шагом из первой задачи выполняется второй шаг Fetch-операций, в котором производится подсчет суммы стоимостей, связанных с заказом продуктов (с учетом обновленной скидки), а полученный результат транслируется в заказ.

Icons made by Smashicons, Freepik, monkik from www.flaticon.com

Diagrams made using www.creatly.com

Узнать больше