Архитектура структуры состояний

Важно

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

В этой статье описывается архитектура структуры состояний в Microsoft Dynamics 365 Intelligent Order Management.

Архитектура структуры состояний — это новая концепция, введенная в Dynamics 365 Intelligent Order Management в выпуске за октябрь 2022 года. Структура состояний — это способ проверки правил бизнес-процесса путем проверки во время выполнения того, разрешено ли текущему состоянию сущности переходить в другое состояние. Например, переход из состояния Новый в состояние В обработке будет успешным, если он определен, но переход из состояния Завершено в состояние В обработке приведет к возникновению ошибки.

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

Модель данных структуры состояний

В модели данных структуры состояний представлены некоторые обновления и новые дополнения к текущей модели данных.

На следующем рисунке показаны таблицы, которые были добавлены в модель данных структуры состояний.

Модель данных структуры состояний.

Обновления модели данных

Столбцы состояния сущности и причины состояния

Структура состояний вводит два новых столбца для сущностей, являющихся частью Intelligent Order Management. Эти столбцы были добавлены для поддержки локализуемых полей статуса Состояние и Причина состояния. Структура состояний также вводит новое поле ReadOnly , которое показывает, что запись не должна быть редактируемой в пользовательском интерфейсе (UI).

Поле Наименование
Область Состояние, в котором находится сущность, определенная таблицей Определение состояния.
Причина состояния Подробное описание причины, по которой сущность находится в текущем состоянии.
ReadOnly Установите значение True, если запись не должна быть редактируемой в пользовательском интерфейсе. В противном случае задайте для него значение False.

Новые дополнения к модели данных

Таблица определений состояний

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

Примечание

Состояния используются для определения допустимых переходов в составе пути оркестрации.

Поле Наименование
Определение состояния Глобальный уникальный идентификатор (GUID) состояния.
Связанный объект Сущность, к которой относится данное состояние.
Подробно Имя состояния.
Свойства определения состояния Поиск для связанных метаданных.
Только чтение Значение True помечает сущность как доступную только для чтения.

Таблиц причин определения состояния

Таблица Причина определения состояния содержит дополнительные сведения о том, почему что-либо находится в данном состоянии, но может не быть частью указания допустимого перехода между состояниями. Например, что-то может иметь состояние Заблокировано, но причину состояния Недопоставка или Предварительный заказ.

Поле Наименование
Причина определения состояния GUID причины состояния.
Область Состояние, с которым связана причина состояния.
Подробно Название/описание причины состояния.

Таблица свойств определения состояния

Таблица Свойства определения состояния содержит дополнительные метаданные для каждого состояния.

Поле Наименование
Свойства определения состояния GUID свойства.
Положение временной шкалы Порядок, в котором состояние должно отображаться в элементе управления Progress Bar Timeline в пользовательском интерфейсе. (Этот элемент управления появился в выпуске за октябрь 2022 года.)

Таблица перехода состояний

Таблица Перенос состояния содержит список переходов состояний, которые выполняются при возникновении бизнес-события. Бизнес-событие устанавливается состояние только в том случае, если текущее состояние является допустимым.

Поле Наименование
Перенос состояния GUID перехода состояния.
Определение бизнес-события Подстановка в таблице Определение бизнес-события, чтобы определить, к какому бизнес-событию относится запись.
Исходное состояние Допустимое исходное состояние, из которого можно выполнить переход.
Целевое состояние Целевое состояние, которое необходимо установить, если состояние переходит из допустимого исходного состояния.
Причина целевого состояния Причина целевого состояния, которую необходимо установить, если состояние переходит из допустимого исходного состояния.

В следующей таблице показан пример данных в этой таблице.

Определение бизнес-события Исходное состояние Целевое состояние Причина целевого состояния
Успешная проверка запасов в наличии В работе Выполнение в процессе Успешная проверка запасов
Успешная проверка запасов в наличии Заблокировано Выполнение в процессе Успешная проверка запасов
Ошибка при проверке запасов в наличии В работе Заблокировано Блокировка недопоставленного заказа

Сценарии

Переход для бизнес-события не существует

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

Добавление нового состояния и перехода

Чтобы добавить новое состояние и переход, выполните следующие действия.

  1. Добавление нового определения состояния.

  2. Добавьте новую причину определения состояния, если это необходимо.

  3. Добавьте новый переход состояния, затем выполните следующие действия:

    1. Свяжите новый переход состояний с новым бизнес-событием.
    2. Укажите в поле Источник допустимое значение. Добавьте по одной строке на каждый допустимый источник.
    3. Задайте в поле Состояния то состояние, которое должно быть задано при возникновении бизнес-события.
    4. Задайте в поле Причина состояния ту причину, которая должна быть задана при возникновении бизнес-события.
  4. Добавьте любые свойства (ReadOnly или Временная шкала), которые требуются.