Это старая версия документа.
Механизм Веток обеспечивает работу над изменениями актуальной модели в изолированных областях базы данных и позволяет автоматически переносить изменения в актуальную модель “в один клик”.
В Таблице 2 приведены основные понятия, используемые в настоящем разделе.
На Рисунок 3 показан пример иерархии веток:
- После внесения изменений дочерняя ветка отображает будущее состояние родительской ветки. Это достигается за счет того, что ветка видит данные родительской ветки и накладывает на них изменения, внесенные непосредственно в ветке. Таким образом, дочерняя ветка отображает то, как после ее применения будет выглядеть родительская ветка.
Пример.
Только после применения Ветки 2 (см. Рисунок 3) к Корневой ветке, Ветка 1 и ее потомки также будут показывать изменения Корневой ветки.
Классы объектов с точки зрения поддержки работы в ветках делятся на 3 типа, описание которых представлено в Таблице 3.
Ветки создаются в Окне управления ветками (см. Рисунок 4). Для перехода к данному окну необходимо в Окне выбора базы данных в контекстном меню базы выбрать Управление ветками (либо Свойства подключения к базе → Дополнительно → Управление ветками).
Описание назначения кнопок панели инструментов приведено в Таблице 4.
Область свойств ветки служит для ввода и просмотра значений параметров ветки. Описание параметров приведено в Таблице 5.
Список “История применений” отображает перечень применений ветки. Дата – дата и время применения ветки. Комментарий – комментарий, введенный при применении.
Открыть ветку в Business Studio можно из окна Выбора базы данных (см. Рисунок 5). В дереве веток базы отображаются ветки с установленным флагом Быстрый доступ (см. Создание ветки).
Также ветку можно открыть из Окна управления ветками (см. Создание ветки). Название текущей ветки отображается в заголовке окна программы.
При создании или изменении объекта в ветке напротив его названия в Навигаторе или Окне справочника появляется соответствующая пиктограмма (см. Рисунок 6):
Аналогичные пиктограммы появляются при изменении параметра объекта или при создании/изменении строки списка (см. Рисунок 7):
Описание пиктограмм приведено в Таблице 6
Перечень всех измененных объектов ветки можно увидеть с помощью команды Буфер ветки (Главное меню → Управление моделью → Буфер ветки) (см. Рисунок 8).
Открыв свойства объекта, можно увидеть измененные параметры объекта. Данная команда доступна только в дочерних ветках. Внимание! После применения текущей ветки к родительской справочник Буфер ветки очищается.
Разные проектные группы могут вносить в своих ветках противоречащие друг другу изменения в модель. Например, в ветке А могут быть удалены объекты, которые изменены или начали использоваться в соседней ветке B. После применения ветки А к актуальной модели в ветке B возникнут конфликты (cм. свойство веток “Изолированность данных ветки”). Для выявления и последующего устранения подобных случаев применяется операция Проверки ветки (Главное меню → Управление моделью → Проверить ветку). При наличии конфликтов результат выполнения данной операции выдается в текстовом окне с группировкой по типам ошибок и поддержкой гиперссылок на конфликтующие объекты. В Таблице 7 представлены типы ошибок, возникающие при проверке ветки, и их описание.
При отсутствии конфликтов на экране отобразится сообщение (см. Рисунок 9).
Внимание! Операцию Проверки ветки рекомендуется вызывать периодически, а также перед применением ветки.
Для применения изменений модели к вышестоящей ветке необходимо использовать операцию Применения ветки (Главное меню → Управление моделью → Применить ветку). Если текущую ветку невозможно применить к родительской, то на экране появляется соответствующее предупреждение. Текст предупреждений представлен в Таблице 8.
Если текущую ветку возможно применить, то запускается проверка ветки на наличие конфликтов между объектами текущей ветки и ее родителя, а затем выполняется применение ветки.. После успешного применения ветки в Окне управления ветками у примененной ветки появляется запись на вкладке История применений (см. Рисунок 10).
Внимание! Применяемые изменения актуальной модели могут повлиять на объекты, измененные в дочерних ветках.