Создание сегментированных решений и исправлений для экспорта выбранных активов сущности

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

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

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

При работе с исправлениями и клонированными решениями следует помнить следующее:

  • исправление представляет собой дифференциальное дополнительное обновление родительского решения; исправление может добавлять или обновлять компоненты или активы в родительском решении при установке на целевой системе, но оно не может удалить никакие компоненты или активы из родительского решения;

  • исправление может иметь только одно родительское решение, но родительское решение может иметь одно или несколько исправлений;

  • исправление создается для неуправляемого решения; невозможно создать исправление для управляемого решения;

  • при экспорте исправление в целевую систему необходимо экспортировать его как управляемое исправление; не используйте неуправляемые исправления в производственных средах;

  • родительское решение должно присутствовать в целевой системе, чтобы можно было установить исправление;

  • исправление можно удалить или обновить;

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

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

  • При клонировании базового решения все дочерние исправления добавляются в базовое решение и создается новая версия. Можно добавить, изменить или удалить компоненты и активы в клонированном решение;

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

Схема номеров версий для клонированных решений и исправлений

Версия решения имеет следующий формат номера: основная.дополнительная.сборка.редакция. Исправление должны быть более высокий номер сборки или редакции, чем родительское решение. Оно не может иметь более высокий номер основной или дополнительной версии. Например, если базовое решение имеет версию 3.1.5.7, исправление может иметь версию 3.1.5.8 или 3.1.7.0, но не 3.2.0.0. Клонированное решение должно иметь номер версии больше или равный номеру версии базового решения. Например, если базовое решение имеет версию 3.1.5.7, клонированное решение может иметь версию 3.2.0.0 или 3.1.5.7. В пользовательском интерфейсе можно задавать только основной и дополнительный номера версий клонированного решения и значения сборки и редакции исправлений.

Создание сегментированного решения с требуемыми активами сущностей

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

  1. Перейдите в раздел Параметры>Решения.

  2. Выберите Создать и создайте решение. Заполните необходимые поля. Выберите Сохранить и закрыть.

  3. Откройте только что созданное решение. В раскрывающемся списке Добавить существующий выберите Сущность.

  4. В диалоговом окне Выберите компоненты решения выберите одну или несколько сущностей, которые требуется добавить в решение. Нажмите ОК.

  5. Откроется мастер. Следуйте указаниям мастера для добавления в решение активов для каждой выбранной сущности.

  6. Выберите Опубликовать, чтобы изменения вступили в силу.

    Следующие иллюстрации содержат примеры создания сегментированного решения путем выбора активов сущностей Account, Case и Contact.

    Начните с выбора компонента Сущность.

    Добавьте существующие ресурсы.

    Затем выберите компоненты решения.

    Выберите компоненты решения.

    Следуйте указаниям мастера. В шаге 1 выберите активы (упорядочены по алфавиту) для первой сущности — Account, как показано ниже.

    Запустите мастер.

    Откройте вкладку Поля и выберите поле Код организации.

    Выберите активы сущности

    В шаге 2 для сущности Обращение добавьте все активы.

    Выберите активы сущности

    В шаге 3 добавьте поле Годовщина для сущности Контакт.

    Выберите активы сущности

    В результате созданное сегментированное решение содержит три сущности — Account, Case и Contact. Каждая сущность содержит только те активы, которые были выбраны.

    Решение с сущностями.

Создание исправления решения

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

Создание исправления для неуправляемого решения

  1. Перейдите в раздел Параметры>Решения.

  2. В таблице выберите неуправляемое решение для создания для исправления. Выберите Клонировать исправление. Открывшееся диалоговое окно содержит имя базового решения и номер версии исправления. Нажмите кнопку Сохранить.

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

  4. Выберите Опубликовать, чтобы изменения вступили в силу.

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

    Значок клонирования исправления.

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

    Используйте диалоговое окно

    Следующий скриншот показывает базовое решение SegmentedSolutionExample, версия 1.0.1.0 и исправление SegmentedSolutionExample_Patch, версия 1.0.2.0.

    Сетка с решениями и исправлениями.

    В исправление мы добавили новую настраиваемую сущность Bookи включили все активы сущности Book в это исправление.

    Добавьте настраиваемую сущность в исправление.

Клонирование решения

При клонировании неуправляемого решения все относящиеся к нему исправления добавляются в новую версию исходного решения.

  1. Перейдите в раздел Параметры>Решения.

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

  3. Выберите Опубликовать, чтобы изменения вступили в силу.

    В продолжении примера вы видите диалоговое окно Клонировать в решение, которое содержит новый номер версии решения.

    Используйте диалоговое окно

    После клонирования новая версия решения содержит 3 первоначальных сущности (Account, Case и Contact) и настраиваемую сущность Book, добавленную в исправлении. Каждая сущность содержит только те активы, которые были добавлены в примере.

    Клонированное решение со свернутым исправлением.

См. также

Обзор решенийСоздание исправлений для упрощения обновления решений