Перенос данных между базами данных Business Studio
Внимание! Функционал, описанный в данном разделе, в настоящее время доступен только при использовании десктопного приложения (см. Десктопное приложение Business Studio).
Перенос информации между базами данных Business Studio можно разделить на два типа:
- перенос данных (объекты справочников Деятельность, Оргединицы и т.д.);
- перенос предметных настроек (объекты справочников Нотации, Символы нотации, Матрица связей классов и т.д.).
В текущей статье будет рассматриваться перенос данных, а перенос предметных настроек описан в статье Перенос настроек между базами данных Business Studio.
Для переноса данных между базами данных Business Studio используются пункты меню XML групп Экспорт и Импорт (Главное меню → Главная). Информация между базами переносится с помощью файлов формата XML. Кроме того, в Навигаторе для объектов справочника "Деятельность" можно выполнить экспорт при помощи контекстного меню (Контекстное меню объекта → Дополнительно → Экспорт единицы деятельности в файл → XML).
Внимание! При экспорте объекта автоматически экспортируются только такие из объектов, на которые есть ссылки из экспортируемого объекта, в настройках классов которых есть доп. опция RepositoryView.AutoImport со значением Да (например, при экспорте шаблонов отчетов автоматически экспортируются фильтры).
Внимание! Экспортируемые данные не должны иметь ссылок на удаленные объекты (при удалении объектов рекомендуется производить очистку или переназначение ссылок на другие объекты).
Экспорт всех объектов
Экспорт всех объектов может использоваться, например, для формирования новой базы данных на основе существующей.
Для экспорта всех объектов нужно открыть Навигатор без фильтрации (фильтр выключен, если кнопка фильтрации на панели инструментов Навигатора имеет вид
). Далее необходимо выбрать пункт меню XML (Главное меню → Главная → XML).
В окне Экспортировать в файл (Рис. 1) в поле Имя файла может быть введено как полное или абсолютное имя файла (полный путь к файлу), так и относительное (путь относительно папки, откуда запущена программа, в том числе можно указать только название файла с расширением xml). С помощью кнопки
, расположенной справа от поля, открывается стандартное окно Windows для выбора пути файла.

Внимание! Для экспорта всей базы целиком рекомендуется использовать резервное копирование и восстановление.
Экспорт группы объектов
Можно экспортировать данные, принадлежащие одной группе или объекту справочника из группы справочников "Методы управления", кроме справочников "Объекты управления", "Цели и показатели" и его дочерних справочников. Для этого нужно в Навигаторе включить фильтр по объекту с вкладки Группы или Управление и затем нажать пункт меню XML (Главное меню → Главная → XML), либо открыть Окно свойств объекта с вкладки Группы или Методы управления и нажать мышью на гиперссылку Экспортировать по вкладке 'Связи с объектами'.
Экспортируются только те объекты, которые были включены в группу. Если экспортируемые объекты содержат ссылки на другие объекты, то при последующем импорте информации в другую базу возможно два случая:
- Если другие объекты не содержатся в базе, в которую происходит импорт, то ссылки на них будут потеряны. Система выдаст предупреждение, содержащее перечень объектов, которые не найдены в базе. На основе этого перечня можно включить в экспортируемую информацию недостающие объекты и повторить экспорт/импорт.
- Если другие объекты содержатся в другой базе, то ссылки на них будут восстановлены.
Экспорт шаблонов отчетов
Для экспорта шаблонов отчетов необходимо выделить шаблоны отчетов в справочнике "Шаблоны отчетов объекта" и нажать на гиперссылку Экспортировать шаблон отчета, расположенную на верхней панели этого справочника. Вместе с каждым шаблоном отчета экспортируются и используемые в нем фильтры.
Если же шаблон отчета экспортируется в составе группы (см. Экспорт группы объектов), то фильтры, используемые в нем, автоматически в состав пакета экспорта не попадут.
Импорт данных из файлов XML
Импорт данных из файлов XML осуществляется с помощью пункта меню XML (Главное меню → Главная → группа меню Импорт → XML).
В окне Импортировать из файла (Рис. 3) в поле Имя файла вводится имя файла для импорта данных. С помощью кнопки
, расположенной справа от поля, открывается стандартное окно Windows для выбора файла.

Флажок Импортировать только измененные объекты. Когда установлен этот флажок, в базу записываются только те объекты, которые были изменены во время распределенной работы. Это позволяет ускорить процесс импорта и сохранить изменения объектов, которые изменялись в основной базе, но не менялись в базе для распределенной работы.
Если при импорте в базе не нашелся какой-либо объект, на который есть ссылка из импортируемых данных, то может появиться окно (например, импортируем единицы деятельности, а оргединицы не включили в файл экспорта), в котором будет предложено подтвердить продолжение импорта (Рис. 4).

Вы можете отказаться от импорта, включить оргединицы в файл экспорта и повторить импорт. А можете продолжить импорт. При этом список "Оргединицы" у единицы деятельности будет незаполненным.
Общие правила импорта
При импорте данные объединяются с существующими. Например, при импорте отдела со всеми подчиненными единицами, новая структура отдела объединится со старой. Лишние объекты необходимо удалить вручную после проведения анализа об их использовании в модели с помощью поиска ссылок на объект. Подробнее об этом поиске описано в главе Функция "Анализ использования объекта".
При импорте единиц деятельности новая структура (перечень дочерних элементов) единицы деятельности заменяет существующую. Граничные и внутренние стрелки диаграмм объединяются. Неактуальные стрелки на диаграммах единиц деятельности необходимо удалить вручную.
Пример. Импорт данных
Из основной базы данных в дополнительную были экспортированы объекты, составляющие ветку дерева в Навигаторе. В дополнительной базе были изменены только конечные объекты данной ветки, а все группы остались без изменений. В то же время в основной базе данных могли быть изменены объекты-группы. В этом случае, если установить флажок Импортировать только измененные объекты, то изменения объектов, сделанные в дополнительной базе, дополнят изменения в основной базе. Если флажок снять, то изменения объектов-групп, сделанные в основной базе, будут потеряны, поверх них будут записаны объекты-группы из дополнительной базы.
Если в промежуток времени между экспортом данных и импортом этих же данных назад, в основной базе они были изменены, то пользователю будет предложено разрешить возникший конфликт.
На экран будет выдано окно Конфликт версий (Рис. 5), в котором предусмотрен ряд кнопок для управления процессом импорта:
- Перезаписать - импортируемый объект заменяет существующий;
- Пропустить - оставляет существующий объект без изменений и переходит к импорту следующего объекта;
- Отменить импорт прекращает процесс импорта данных.
Если установить флажок Применить для всех конфликтов, то действие кнопок Перезаписать и Пропустить будет применено ко всему списку обнаруженных конфликтов.

Окно Конфликт версий выдается для каждого конфликтного случая. Клик по кнопке Просмотреть изменения открывает окно Различия (Рис. 6), в котором показывается список измененных параметров объекта, их значения, содержащиеся в базе данных, и значения, содержащиеся в файле импорта. Ориентируясь на эти сведения, пользователь принимает решение, что делать в данном случае.

Если в списке различий присутствует диаграмма единицы деятельности, то с помощью кнопки Просмотреть изменения можно открыть окно Сравнение диаграмм (Рис. 7).
