Поделиться через


Обзор работы с решениями

Эта тема относится к Dynamics 365 Customer Engagement (on-premises). Версию этой темы для Power Apps см. по адресу: Обзор решений

В Dynamics 365 Customer Engagement (on-premises) решения используются для переноса приложений и компонентов из одной организации в другую или для применения набора настроек для существующих приложений. Решение может содержать одно или несколько приложений, а также другие компоненты, такие как карты сайта, сущности, процессы, веб-ресурсы, наборы параметров и многое другое. Решения можно получить из AppSource или от независимого поставщика программного обеспечения (ISV). Решение — это файл, который можно импортировать в среду как приложение или применить набор настроек к существующему приложению.

Дополнительные сведения: Технический документ: шаблоны и принципы для построителей решений

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

Компоненты решения

Компонент решения представляет что-либо, может потенциально можно настроить. Все, что может быть включено в решение, — это компонент решения. Чтобы просмотреть компоненты, включенные в решение, в обозревателе решений выберите Настройки>Решения, затем откройте требуемое решение. Компоненты перечислены в списке Компоненты.

Большинство компонентов решения вложены в другие компоненты решения. Например, сущность содержит формы, представления, диаграммы, поля, отношения сущностей, сообщения и бизнес-правила. Каждый из этих компонентов решения требует, чтобы существовала сущность. Поле не может существовать вне сущности. Мы говорим, что поле зависит от сущности. На самом деле типов компонентов решения вдвое больше, чем в списке выше, однако большинство из них в приложении не видны.

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

Управлямые и неуправляемые решения

Управляемое решение после его импорта можно удалить. При удалении решения удаляются все компоненты этого решения.

При импорте неуправляемого решения все компоненты этого решения добавляются в решение по умолчанию. Удалить компоненты путем удаления решения нельзя.

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

Внимание

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

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

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

Как применяются решения

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

Слои решений.

Снизу вверх:

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

Управляемые решения
Управляемые решения могут изменить компоненты системного решения и добавлять новые компоненты. Если установлено несколько управляемых решений, первое решение устанавливается под решением, которое установлено позже. Это означает, что второе установленное решение может настраивать то, которое было установлено до него. Когда два управляемых решения имеют конфликтующие определения, действует общее правило: «Выигрывает последнее». Если вы удалите управляемое решение, управляемое решение под ним вступит в силу. При удалении всех управляемых решение применяется поведение по умолчанию, определенное в системном решении.

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

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

Управляемые свойства

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

Зависимости решений

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

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

См. также

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