Использование сегментированных решений и исправлений для более простого обновлений решений
Опубликовано: Февраль 2017
Применимо к: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Для получения возможности точнее контролировать, что именно распространяется в виде решений и исправлений к решениям, рекомендуется использовать сегментацию решений. Сегментация решений Microsoft Dynamics 365 позволяет экспортировать решения с выбранными компонентами сущностей — например, полями, формами или представлениями сущностей — а не целыми сущностями со всеми компонентами. Для создания сегментированных решений и исправлений можно использовать пользовательский интерфейс Dynamics 365 без написания программного кода.
Важно!
Эта функция появилась в обновлении CRM Online 2016 и в CRM 2016 (локальная версия).
Заинтересовались этой функцией? Как найти администратора CRM или специалиста по поддержке.
Помимо получения большего контроля над составом решения, вы сможете отслеживать управлять тем, что попадает в исправления. Вы можете создать исправление для родительского решения и экспортировать его в качестве дополнительного обновления базового решения. При клонировании решения система добавляет все связанные исправления в базовое решение и создает новую версию.
При работе с исправлениями и клонированными решениями следует помнить следующее:
исправление представляет собой дифференциальное дополнительное обновление родительского решения; исправление может добавлять или обновлять компоненты или активы в родительском решении при установке на целевой системе, но оно не может удалить никакие компоненты или активы из родительского решения;
исправление может иметь только одно родительское решение, но родительское решение может иметь одно или несколько исправлений;
исправление создается для неуправляемого решения; невозможно создать исправление для управляемого решения;
при экспорте исправление в целевую систему необходимо экспортировать его как управляемое исправление; не используйте неуправляемые исправления в производственных средах;
родительское решение должно присутствовать в целевой системе, чтобы можно было установить исправление;
исправление можно удалить или обновить;
при удалении родительского решения все дочерние исправления также удаляются; Система дает предупреждение, что операцию удаления невозможно отменить. Удаление выполняется в одной транзакции. если одно из исправлений родительского решения не удается удалить, вся транзакция откатывается;
после создания первого исправления для родительского решения, решение становится заблокированным и в него нельзя вносить какие-либо изменения или экспортировать его. Однако при удалении всех его дочерних исправлений родительское решение разблокируется.
При клонировании базового решения все дочерние исправления добавляются в базовое решение и создается новая версия. Можно добавить, изменить или удалить компоненты и активы в клонированном решение;
клонированное решение представляет собой замену базового решения, когда оно установлено в целевой системе как управляемое решение. Обычно клонированное решение используется для распространения основных обновлений предшествующему решению.
Схема номеров версий для клонированных решений и исправлений
Версия решения имеет следующий формат номера: основная.дополнительная.сборка.редакция. Исправление должны быть более высокий номер сборки или редакции, чем родительское решение. Оно не может иметь более высокий номер основной или дополнительной версии. Например, если базовое решение имеет версию 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. В пользовательском интерфейсе можно задавать только основной и дополнительный номера версий клонированного решения и значения сборки и редакции исправлений.
Создание сегментированного решения с требуемыми активами сущностей
Чтобы создать сегментированное решение, начните с созданием неуправляемого решения и добавления существующих ресурсов. Можно добавить несколько системных или настраиваемых сущностей, а для каждой сущности выбрать активы, которые требуется включить в решение. Похожая на мастер процедура настройки позволяет по шагам выполнить процесс добавления активов сущностей.
Перейдите в раздел Параметры > Решения.
Щелкните Создать и создайте решение. Заполните необходимые поля. Щелкните Сохранить и закрыть.
Откройте только что созданное решение. В раскрывающемся списке Добавить существующий выберите Сущность.
В диалоговом окне Выберите компоненты решения выберите одну или несколько сущностей, которые требуется добавить в решение. Нажмите кнопку ОК.
Откроется мастер. Следуйте указаниям мастера для добавления в решение активов для каждой выбранной сущности.
Щелкните Опубликовать, чтобы изменения вступили в силу.
Следующие иллюстрации содержат примеры создания сегментированного решения путем выбора активов сущностей Account, Case и Contact.
Начните с выбора компонента Сущность.
Затем выберите компоненты решения.
Следуйте указаниям мастера. В шаге 1 выберите активы (упорядочены по алфавиту) для первой сущности — Account, как показано ниже.
Откройте вкладку Поля и выберите поле Код организации.
В шаге 2 для сущности Обращение добавьте все активы.
В шаге 3 добавьте поле Годовщина для сущности Контакт.
В результате созданное сегментированное решение содержит три сущности — Account, Case и Contact. Каждая сущность содержит только те активы, которые были выбраны.
Создание исправления решения
Исправление содержит изменения родительского решения, например добавление или изменение активов и компонентов. Не следует включать компоненты родительского решения, если вы не планируете изменять их.
Следующая процедура описывает, как создать исправление для неуправляемого решения.
Перейдите в раздел Параметры > Решения.
В таблице выберите неуправляемое решение для создания для исправления. Щелкните Клонировать исправление. Открывшееся диалоговое окно содержит имя базового решения и номер версии исправления. Нажмите кнопку Сохранить.
В таблице, найдите и откройте только что созданное исправление. Как и в случае базового решения, следуйте указаниям мастера для добавления нужных компонентов и активов.
Щелкните Опубликовать, чтобы изменения вступили в силу.
Ниже приведен пример создания исправления для существующего решения. Для начала щелкните Клонировать исправление (в компактном представлении значок Клонировать исправление содержит два небольших прямоугольника, как показано ниже).
В диалоговом окне Клонировать в исправление видно, что номер версии для исправления основан на номере версии родительского решения, а номер сборки увеличен на единицу. Каждое последующее исправление имеет более высокий номер сборки или редакции по сравнению с предыдущим исправлением.
Следующий скриншот показывает базовое решение SegmentedSolutionExample, версия 1.0.1.0 и исправление SegmentedSolutionExample_Patch, версия 1.0.2.0.
В исправление мы добавили новую настраиваемую сущность Bookи включили все активы сущности Book в это исправление.
Клонирование решения
При клонировании неуправляемого решения все относящиеся к нему исправления добавляются в новую версию исходного решения.
Перейдите в раздел Параметры > Решения.
В списке выберите неуправляемое решение, которое нужно клонировать. Щелкните Клонировать решение. Открывшееся диалоговое окно содержит имя базового решения и новый номер версии. Нажмите кнопку Сохранить.
Щелкните Опубликовать, чтобы изменения вступили в силу.
В продолжении примера вы видите диалоговое окно Клонировать в решение, которое содержит новый номер версии решения.
После клонирования новая версия решения содержит 3 первоначальных сущности (Account, Case и Contact) и настраиваемую сущность Book, добавленную в исправлении. Каждая сущность содержит только те активы, которые были добавлены в примере.
См. также
Использование решений для настроек
Создание исправления для упрощения обновления решений
© Корпорация Майкрософт (Microsoft Corporation), 2017. Все права защищены. Авторские права