Слои решений

Многоуровневое решение реализуется на уровне компонентов. Управляемые и неуправляемые решения существуют на разных уровнях внутри среды Microsoft Dataverse. В Dataverse есть два отдельных слоя:

  • Неуправляемый слой Все импортированные неуправляемые решения и специальные настройки существуют на этом уровне. Все неуправляемые решения имеют общий неуправляемый уровень.

  • Управляемые уровни Все импортированные управляемые решения и системные решения существуют на этом уровне. Когда установлено несколько управляемых решений, последнее решение устанавливается поверх решения, которое установлено ранее. Это означает, что второе установленное решение может настраивать то, которое было установлено до него. Когда два управляемых решения имеют конфликтующие определения, поведение среды выполнения либо "побеждает последнее", либо реализуется логика слияния. При удалении управляемого решение в силу вступает то управляемое решение, которое находится под ним. При удалении всех управляемых решений применяется поведение по умолчанию, определенное в системном решении. В основе уровня управляемого слоя лежит системный слой. Системный уровень содержит объекты и компоненты, необходимые для функционирования платформы.

Example solution layering for a component, such as a form or view.

Уровни в пределах управляемого решения

Для каждого управляемого компонента в решении есть уровни, которые — в зависимости от того, было ли импортировано одно или несколько исправлений или ожидается обновление решения — могут включать в себя следующие уровни:

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

  • Верхний Верхний уровень считается текущим уровнем и определяет поведение компонента во время выполнения. Верхним слоем может быть обновление или исправление, или если для решения нет исправлений или обновлений, базовое решение определяет поведение компонента во время выполнения.

  • Уровни, добавленные из обновлений:

    • Исправления Если у компонента есть одно или несколько импортированных исправлений решения, они накладываются поверх базового уровня, причем самое последнее исправление находится над предыдущим исправлением.

    • Ожидание обновления Если поэтапное обновление (называется обновлением _Upgrade) импортируется, оно располагается поверх базового уровня и уровня исправления (если есть).

Layering example within a solution

Внимание

Использование исправлений не рекомендуется. Дополнительные сведения: Создание исправлений решений

На следующем изображении показан пример слоев решения для настраиваемого столбца, в котором отображается базовое решение, исправление и ожидающее обновление.

Solution layers.

Для получения информации о том, как просматривать уровни для компонента в решении, см. Уровни решения.

Поведение слияния

Лица, принимающие решения, должны понимать поведение слияния при обновлении решения или при установке нескольких решений, которые влияют на один и тот же компонент. Обратите внимание, что будут объединены только типы компонентов приложения на основе модели, формы и карты сайта. Все остальные компоненты используют поведение "верхний уровень важнее".

Поведение "Приоритет верхнего"

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

Верхний слой, введенный путем ожидающего обновления

Вот пример поведения компонента с приоритетом верхнего слоя, введенного на этапе обновления в решение. Дополнительные сведения: Применение обновления в целевой среде

  1. Текущий верхний (базовый) слой имеет свойство Максимальная длина текстового столбца Комментарии для таблицы счетов с использованием значения по умолчанию 100.

    Table component in the base solution.

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

    Active layer introduced on top of the base layer.

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

Поведение обновления решения и слияния обновления

Как описано в предыдущем разделе, исправления и поэтапное обновление накладываются поверх базового решения. Их можно объединить, выбрав Применить обновление в области Решения в Power Apps, это выравнивает слои и создает новое базовое решение.

Поведение слияния нескольких решений

Когда вы готовите управляемое решение для распространения, помните, что в среде может быть установлено несколько решений или в будущем могут быть установлены другие решения. Создайте решение, которое следует рекомендациям, чтобы ваше решение не мешало другим решениям. Дополнительные сведения: Используйте сегментированные решения

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

См. также

Сведения об объединении управляемых решений