Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:manual:manage_model:branches [2020/10/22 11:45] makarov [Конфликты при использовании удаленных объектов] |
ru:manual:manage_model:branches [2020/12/10 10:54] (текущий) |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
<startTableBox> | <startTableBox> | ||
^ Понятия ^ Описание ^ | ^ Понятия ^ Описание ^ | ||
- | | Актуальная модель | Модель, описывающая текущее состояние компании. По этой модели происходит формирование портала или публикации для распространения регламентов среди сотрудников компании. | | + | | Актуальная модель | Модель, описывающая текущее состояние компании. | |
| Буфер ветки | Множество созданных/измененных, но еще не примененных к вышестоящей ветке объектов. | | | Буфер ветки | Множество созданных/измененных, но еще не примененных к вышестоящей ветке объектов. | | ||
| Ветка | Изолированная логическая область базы данных Business Studio для разработки новых версий модели бизнес-архитектуры. | | | Ветка | Изолированная логическая область базы данных Business Studio для разработки новых версий модели бизнес-архитектуры. | | ||
| Дочерняя ветка | Ветка, нижестоящая в иерархии веток по отношению к рассматриваемой ветке. | | | Дочерняя ветка | Ветка, нижестоящая в иерархии веток по отношению к рассматриваемой ветке. | | ||
| Иерархия веток | Иерархическая структура, образованная ветками. | | | Иерархия веток | Иерархическая структура, образованная ветками. | | ||
- | | Корневая ветка | Ветка, находящаяся в корне иерархии веток. Корневая ветка всегда присутствует в базе данных и содержит актуальную модель бизнес-архитектуры. | | + | | Корневая ветка | Ветка, находящаяся в корне иерархии веток. Корневая ветка всегда присутствует в базе данных. | |
| Применение ветки | Операция применения данных ветки к вышележащей ветке. При этом данные ветки уходят в вышележащую ветку. | | | Применение ветки | Операция применения данных ветки к вышележащей ветке. При этом данные ветки уходят в вышележащую ветку. | | ||
| Родительская ветка | Ветка, вышестоящая в иерархии веток по отношению к рассматриваемой ветке. | | | Родительская ветка | Ветка, вышестоящая в иерархии веток по отношению к рассматриваемой ветке. | | ||
Строка 19: | Строка 19: | ||
- | На Рисунке 1 показан пример иерархии веток: \\ \\ | + | На Рисунке 1 показан пример иерархии веток и их возможного использования: \\ \\ |
[{{ ru/manual/manage_model/lang_manage_model_03.png?nolink | Рисунок 1. }}] | [{{ ru/manual/manage_model/lang_manage_model_03.png?nolink | Рисунок 1. }}] | ||
+ | Корневая ветка содержит Актуальную модель. По данной ветке в организации происходит формирование портала или публикации для распространения регламентов среди всех сотрудников. | ||
+ | Дочерние ветки содержат проекты изменений модели и могут быть применены к корневой ветке. | ||
====Свойства веток==== | ====Свойства веток==== | ||
- Дочерняя ветка после создания является отображением родительской ветки.\\ \\ **Пример.** \\ //Ветка 1.1 (см. Рисунок 1) после создания будет показывать те же самые данные, что и Ветка 1.// \\ \\ | - Дочерняя ветка после создания является отображением родительской ветки.\\ \\ **Пример.** \\ //Ветка 1.1 (см. Рисунок 1) после создания будет показывать те же самые данные, что и Ветка 1.// \\ \\ | ||
Строка 53: | Строка 55: | ||
<startTableBox> | <startTableBox> | ||
^ Кнопка ^ Описание ^ Действие ^ | ^ Кнопка ^ Описание ^ Действие ^ | ||
- | | {{ ru/manual/manage_model/_const_manage_model_011.png?nolink }} | Создать новую ветку | Объект проходит согласование. | | + | | {{ ru/manual/manage_model/_const_manage_model_011.png?nolink }} | Создать новую ветку | Создает дочернюю ветку под выбранной веткой в навигаторе. | |
| {{ ru/manual/manage_model/_const_manage_model_012.png?nolink }} | Создать новую папку | Создает дочернюю папку под выбранной веткой в навигаторе. | | | {{ ru/manual/manage_model/_const_manage_model_012.png?nolink }} | Создать новую папку | Создает дочернюю папку под выбранной веткой в навигаторе. | | ||
| {{ ru/manual/manage_model/_const_manage_model_013.png?nolink }}| Пометить ветку и всех ее потомков к удалению или снять пометку | Отмечает выбранную ветку и всех ее потомков к удалению/снимает отметку. После нажатия кнопки Сохранить действие становится необратимым. | | | {{ ru/manual/manage_model/_const_manage_model_013.png?nolink }}| Пометить ветку и всех ее потомков к удалению или снять пометку | Отмечает выбранную ветку и всех ее потомков к удалению/снимает отметку. После нажатия кнопки Сохранить действие становится необратимым. | | ||
Строка 75: | Строка 77: | ||
**Список "История применений"** отображает перечень применений ветки. Дата – дата и время применения ветки. Комментарий – комментарий, введенный при применении. | **Список "История применений"** отображает перечень применений ветки. Дата – дата и время применения ветки. Комментарий – комментарий, введенный при применении. | ||
+ | |||
+ | Права на действия с веткой описаны в Таблице 5. | ||
+ | |||
+ | <startTableBox> | ||
+ | ^ Роль ^ Права на действия с веткой ^ | ||
+ | | Администратор базы данных | Создание, изменение, удаление и применение ветки. \\ Работа в ветке.| | ||
+ | | Пользователь | Работа в ветке. | | ||
+ | <endTableBox|Таблица 5.> | ||
====Работа в ветке==== | ====Работа в ветке==== | ||
Строка 89: | Строка 99: | ||
[{{ ru/manual/manage_model/cmdt_manage_model_07.png?nolink |Рисунок 5.}}] | [{{ ru/manual/manage_model/cmdt_manage_model_07.png?nolink |Рисунок 5.}}] | ||
- | Описание пиктограмм приведено в Таблице 5 | + | Описание пиктограмм приведено в Таблице 6 |
<startTableBox> | <startTableBox> | ||
^ Пиктограмма ^ Описание ^ | ^ Пиктограмма ^ Описание ^ | ||
| {{ ru/manual/manage_model/const_manage_model_015.png?nolink }} | Объект создан в текущей ветке | | | {{ ru/manual/manage_model/const_manage_model_015.png?nolink }} | Объект создан в текущей ветке | | ||
| {{ ru/manual/manage_model/const_manage_model_016.png?nolink }} | Объект изменен в текущей ветке | | | {{ ru/manual/manage_model/const_manage_model_016.png?nolink }} | Объект изменен в текущей ветке | | ||
- | <endTableBox|Таблица 5.> | + | <endTableBox|Таблица 6.> |
Перечень всех измененных объектов ветки можно увидеть с помощью команды **Буфер ветки** ({{bslink>Главное меню → Управление моделью → Буфер ветки|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;9e202d02-d0a4-4893-af8b-45415561b701:Item}}) (см. Рисунок 6). | Перечень всех измененных объектов ветки можно увидеть с помощью команды **Буфер ветки** ({{bslink>Главное меню → Управление моделью → Буфер ветки|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;9e202d02-d0a4-4893-af8b-45415561b701:Item}}) (см. Рисунок 6). | ||
Строка 105: | Строка 115: | ||
**Внимание!** После применения текущей ветки к родительской справочник **Буфер ветки** очищается. | **Внимание!** После применения текущей ветки к родительской справочник **Буфер ветки** очищается. | ||
==== ==== | ==== ==== | ||
- | =====Конфликты модели при объединении веток==== | + | ====Конфликты модели при объединении веток==== |
- | Разные проектные группы могут вносить в своих ветках противоречащие друг другу изменения в модель. Такие изменения могут приводить к различного вида конфликтам в случае, если обе проектные группы применят свои изменения к актуальной модели. | + | Разные проектные группы могут вносить в своих ветках противоречащие друг другу изменения в модель. Такие изменения могут приводить к различного вида конфликтам в случае, если обе проектные группы применят свои изменения к общей вышестоящей ветке. Виды и примеры подобных конфликтов приведены ниже. |
- | ===Конфликты при использовании удаленных объектов=== | + | |
- | В ветке А могут быть удалены объекты, которые изменены или начали использоваться в соседней ветке B. Под использованием объекта понимается его правка, создание или редактирование значения атрибута, создание бинарной связи с объектом. | + | **Конфликты при использовании удаленных объектов** |
- | После применения ветки А к актуальной модели в ветке B возникнут конфликты, связанные с использованием удаленных объектов (cм. свойство веток “Изолированность данных ветки”). Для выявления таких случаев необходимо использовать команду «Проверка ветки» (См. [[/ru/manual/manage_model/branches#проверка_ветки | + | |
+ | В **ветке А** могут быть удалены объекты, которые изменены или начали использоваться в соседней **ветке B**. Под использованием объекта понимается его правка, создание или редактирование значения атрибута, создание бинарной связи с объектом. | ||
+ | После применения **ветки А** к актуальной модели в **ветке B** возникнут конфликты, связанные с использованием удаленных объектов (cм. свойство веток выше). Для выявления таких случаев необходимо использовать команду «Проверка ветки» (См. [[/ru/manual/manage_model/branches#проверка_ветки | ||
| Проверка ветки]]). | | Проверка ветки]]). | ||
- | =====Смысловые конфликты===== | ||
- | Если в параллельно существующих ветках А и В были изменены параметры одного и того же объекта, или с ним создавались бинарные связи, то после объединения данных из обеих веток может быть нарушена смысловая целостность модели (Рисунок 10), т.к., например, значения параметров .могут противоречить друг другу по смыслу. | ||
- | рис. 10 | ||
- | Рекомендуется перед применением ветки осуществлять визуальную проверку объектов, которые были изменены в другой ветке. Проверить, был ли изменен объект в другой ветке можно с помощью вкладки Экземпляры объекта в ветках Окна Анализ использования объекта (См. Операция ”Анализ использования объекта”). | ||
- | =====Проверка ветки===== | ||
- | Разные проектные группы могут вносить в своих ветках противоречащие друг другу изменения в модель. Например, в ветке А могут быть удалены объекты, которые изменены или начали использоваться в соседней ветке B. После применения ветки А к актуальной модели в ветке B возникнут конфликты (cм. свойство веток "Изолированность данных ветки"). | ||
- | Для выявления и последующего устранения подобных случаев применяется операция **Проверки ветки** ({{bslink>Главное меню → Управление моделью → Проверить ветку|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;2049ddfb-88c7-4344-b752-91f4b292777b:Item}}). | ||
- | При наличии конфликтов результат выполнения данной операции выдается в текстовом окне с группировкой по типам ошибок и поддержкой гиперссылок на конфликтующие объекты. В Таблице 6 представлены типы ошибок, возникающие при проверке ветки, и их описание. | ||
- | <startTableBox> | + | **Смысловые конфликты** |
- | ^ Название типа ошибки ^ Описание ^ | + | |
- | | Использование удаленных в родительской ветке объектов | В текущей ветке есть объекты, параметры которых ссылаются на объекты, удаленные в родительской ветке. После применения текущей ветки в родительской ветке появятся объекты со ссылками на удаленные объекты. Для устранения данного типа ошибки необходимо изменить значения параметров, используя не удалённые объекты. | | + | |
- | | Изменение удаленных в родительской ветке объектов | В текущей ветке есть изменённые объекты, которые в родительской ветке имеют статус 'Удален'. Для устранения данного типа ошибки необходимо пересоздать измененные объекты в текущей ветке. | | + | |
- | | Наличие в текущей ветке ссылок на удаленные в текущей ветке объекты | В текущей ветке были удалены объекты, на которые есть ссылки из объектов буфера ветки. Для устранения данного типа ошибки необходимо изменить в текущей ветке значения параметров, ссылающиеся на удаленные объекты. | | + | |
- | | Наличие в текущей ветке объектов, имеющих удаленных родителей. | В текущей ветке есть объекты, имеющие удаленных родителей. Это могло произойти, если: \\ 1. В текущей ветке были удалены объекты, под которыми впоследствии в родительской ветке были созданы новые объекты; \\ 2. В текущей ветке были созданы объекты, родитель которых впоследствии был удален в родительской ветке. При применении текущей ветки к родительской объекты c удаленными родителям будут также удалены. Для устранения данного типа ошибки необходимо перенести конфликтующие объекты под другой родительский объект. Для этого откройте Окно свойств объекта с помощью гиперссылки в сообщении и выберите команду Сменить родителя (Действия → Сменить родителя). | | + | |
- | <endTableBox|Таблица 6.> | + | |
- | При отсутствии конфликтов на экране отобразится сообщение (см. Рисунок 7). \\ | + | Если в параллельно существующих **ветках А** и **В** были изменены параметры одного и того же объекта, или с ним создавались бинарные связи, то после объединения данных из обеих веток может быть нарушена смысловая целостность модели (Рисунок 7), т.к., например, значения параметров объекта могут противоречить друг другу по смыслу. |
- | [{{ ru/manual/manage_model/cmdt_manage_model_09.png?nolink |Рисунок 7.}}] | + | |
+ | [{{ /ru/manual/manage_model/lang_manage_model_017.png?nolink |Рисунок 7 }}] | ||
+ | |||
+ | |||
+ | Рекомендуется перед применением ветки осуществлять визуальную проверку объектов, которые были изменены в другой ветке. Проверить, был ли изменен объект в другой ветке можно с помощью вкладки **Экземпляры объекта в ветках** Окна **Анализ использования объекта** (См. [[/ru/manual/administration/search_link]]”). | ||
+ | |||
+ | **Проверка ветки** | ||
+ | |||
+ | Для выявления использования удаленных в другой ветке объектов, применяется операция **Проверки ветки** ({{bslink>Главное меню → Управление моделью → Проверить ветку|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;2049ddfb-88c7-4344-b752-91f4b292777b:Item}}). | ||
+ | |||
+ | При наличии конфликтов результат выполнения данной операции выдается в текстовом окне с группировкой по типам ошибок, поддержкой гиперссылок на конфликтующие объекты и рекомендациями по исправлению ошибок. | ||
+ | |||
+ | При отсутствии конфликтов на экране отобразится сообщение (см. Рисунок 8). \\ | ||
+ | [{{ ru/manual/manage_model/cmdt_manage_model_09.png?nolink |Рисунок 8.}}] | ||
== == | == == | ||
**Внимание!** Операцию {{bslink>Проверки ветки|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;2049ddfb-88c7-4344-b752-91f4b292777b:Item}} рекомендуется вызывать периодически, а также перед применением ветки. | **Внимание!** Операцию {{bslink>Проверки ветки|ShowRibbonPageOrItem?ba822b6e-a8a7-4e7f-89b0-07ce48c12736;2049ddfb-88c7-4344-b752-91f4b292777b:Item}} рекомендуется вызывать периодически, а также перед применением ветки. | ||
==== ==== | ==== ==== | ||
+ | |||
+ | |||
====Применение ветки==== | ====Применение ветки==== | ||
Строка 149: | Строка 162: | ||
Если текущую ветку возможно применить, то запускается проверка ветки на наличие конфликтов между объектами текущей ветки и ее родителя, а затем выполняется применение ветки. | Если текущую ветку возможно применить, то запускается проверка ветки на наличие конфликтов между объектами текущей ветки и ее родителя, а затем выполняется применение ветки. | ||
- | После успешного применения ветки в **Окне управления ветками** у примененной ветки появляется запись на вкладке **История применений** (см. Рисунок 8). | + | После успешного применения ветки в **Окне управления ветками** у примененной ветки появляется запись на вкладке **История применений** (см. Рисунок 9). |
- | [{{ ru/manual/manage_model/autot_manage_model_010.png?nolink|Рисунок 8.}}] | + | [{{ ru/manual/manage_model/autot_manage_model_010.png?nolink|Рисунок 9.}}] |
== == | == == | ||
**Внимание!** Применяемые изменения актуальной модели могут повлиять на объекты, измененные в дочерних ветках. | **Внимание!** Применяемые изменения актуальной модели могут повлиять на объекты, измененные в дочерних ветках. | ||
Строка 158: | Строка 171: | ||
- Любая из веток Базы данных открыта в Business Studio. | - Любая из веток Базы данных открыта в Business Studio. | ||
- По базе запущен или формируется Портал. | - По базе запущен или формируется Портал. | ||
- | - К базе осуществляются запросы иным способом. Например, в приложении SQL Server Management Studio. | + | - К базе осуществляются запросы иным способом. Например, в приложении SQL Server Management Studio((SQL Server Management Studio (SSMS) - бесплатное ПО, доступное для скачивания [[https://docs.microsoft.com/ru-ru/sql/ssms/download-sql-server-management-studio-ssms|на сайте Microsoft]].)). |
До окончания процесса применения ветки База данных заблокирована и войти в нее нельзя. | До окончания процесса применения ветки База данных заблокирована и войти в нее нельзя. |