Это старая версия документа.


Обмен данными с другими системами

В Business Studio есть возможность обмена данными с другими программами. Настройка правил обмена осуществляется с помощью справочников Импорта (в меню администратора системы пункт «Администрирование → Импорт/Экспорт → Справочники импорта»). В справочнике «Пакет импорта» можно создавать и редактировать объекты - собственно Пакеты импорта, которые описывают правила импорта/экспорта данных (Рис. 1).

Invalid Link
Рисунок 1. Схема обмена данными с другими программами

Пакеты импорта предназначены для настройки правил обмена Business Studio с другими программами, которые имеют возможность обмена с помощью файлов MS Excel.

Также возможен импорт и экспорт самих Пакетов импорта с использованием встроенного пакета импорта ИмпортИмпорта.

Кроме того, задача автоматического обмена данными с другими приложениями может быть осуществлена с использованием технологии OLE. Описание обеспечения возможности работы с приложением Business Studio через OLE дано в Руководство технического специалиста, глава Работа с Business Studio через OLE.

Вид файла импорта

Файл импорта MS Excel содержит несколько листов. Каждый лист файла - это отдельная таблица, обычно характеризующая справочник системы. Таким образом, в одном файле MS Excel можно загружать сразу несколько таблиц. Первая строка таблицы - перечень наименований полей. Затем идут собственно значения этих полей, количество записей равно количеству загружаемых объектов.

Лист 1
Фамилия Имя Отчество Дата рождения Комментарий
Иванов Иван Иванович 29.09.1969 Кандидат …
Петров Петр Петрович 04.05.1978  
Лист 2
Фамилия Имя Отчество Тип контакта Контакт
Иванов Иван Иванович Этаж/Кабинет 3 этаж, комната 122
Иванов Иван Иванович Домашний телефон 444333
Петров Петр Петрович Этаж/Кабинет 3 этаж, комната 122
Петров Петр Петрович Сотовый телефон 4 434 434 342 234
Петров Петр Петрович Электронная почта petr@mail.ru
Таблица 1. Файл импорта MS Excel

Например, первый лист файла - это таблица физических лиц, в которой указаны поля Фамилия, Имя, Отчество, Дата рождения, Комментарий (данные справочника Физические лица). Второй лист файла - это таблица контактов физических лиц, в которой указаны поля Тип контакта, Контакт (собственно данные справочника Контакты ФизЛиц) и поля Фамилия, Имя, Отчество (для определения физического лица, к которому относится данный контакт), см. Таблица 1.

Виды данных

Импортируемые классы бывают 3-х видов: Линейные справочники, Иерархические справочники, Списки объектов.

Линейные справочники

Линейным справочником является обычный справочник-таблица, например «Физические лица». При импорте линейного справочника обязательным является задание ключа.

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

Иерархические справочники

Иерархический справочник - это справочник с древовидной структурой, например «Объекты деятельности». При импорте иерархического справочника обязательным является задание двух ключей - ключа собственно объекта, и ключа родителя.

Ключ родителя - это ключ, позволяющий однозначно идентифицировать родителя объекта. Если по указанному ключу родителя будет обнаружено несколько объектов-родителей или не обнаружено ни одного, в процессе импорта будет выдана ошибка. Поэтому в таблице импорта строки объектов-родителей должны идти раньше строк объектов-потомков.

Списки объектов

Списки объектов - это списки, принадлежащие определенному объекту (в системе значения хранятся в классах Элементов списков). При импорте списка объектов обязательным является задание двух ключей - ключа собственно объекта и ключа владельца.

Ключ владельца - это ключ, позволяющий однозначно идентифицировать объект-владелец строки списка. Если по указанному ключу владельца будет обнаружено несколько объектов-владельцев или не обнаружено ни одного, в процессе импорта будет выдана ошибка. Поэтому этап импорта справочника-владельца должен идти раньше, чем этап импорта элементов списков.

Принципы задания соответствий параметров

На примере данных, которые содержит Таблица 1, рассмотрим принципы задания соответствий параметров.

Сначала необходимо импортировать физических лиц, то есть первым этапом будет импорт строк из листа «Лист 1» в справочник БизнесМодель.Физлица. Пусть в данном файле импорта по колонкам Фамилия, Имя, Отчество можно однозначно определить импортируемый объект. Тогда ключевыми параметрами объекта Физлица будут поля Фамилия, Имя, Отчество. Каждое из этих полей можно представить в виде конечной строки. Параметры Дата рождения, Комментарий - не будут являться в данном случае ключевыми. Каждое из этих полей также можно представить в виде конечной строки (Рис. 14.5.2).

В случае, если уникальность по названию не соблюдается, и ключ получается слишком сложный, можно использовать одно поле в качестве ключевого. Например, это может быть созданный для этих целей пользовательский параметр, или параметр «guid».

Внимание!

Параметр «guid» формируется системой автоматически при создании нового объекта. Можно использовать его в качестве ключевого только в том случае, если импорт элементов происходит «с нуля», то есть не нужно обновлять существующие элементы в базе.

Внимание!

Параметр «guid» должен быть уникальным для всех Объектов системы.

Внимание!

Длина строкового параметра «guid» ограничена 40 символами.


Для ознакомления со структурой данных Business Studio предназначена Объектная модель (см. Объектная модель).

Внимание!

Импортировать можно только в хранимые параметры классов.


На Рис. 2 представлена схема импорта физических лиц на основе рассматриваемого примера.

Invalid Link
Рисунок 2. Схема импорта в справочник «БизнесМодель.ФизЛица»

В процессе импорта (Рис. 3) по ключевым параметрам Фамилия, Имя, Отчество в справочнике БизнесМодель.Физлица ищется объект. В случае если такой объект существует, произойдет обновление неключевых параметров Дата рождения, Комментарий. В случае если по ключевым параметрам объект не найден - будет создан новый объект.

Invalid Link
Рисунок 3

Далее необходимо импортировать список контактов физических лиц. То есть вторым этапом будет импорт строк листа «Лист 2» в класс элементов списков БизнесМодель.КонтактыФизЛиц из листа «Лист 2» файла импорта. Владельцем списка БизнесМодель.КонтактыФизЛиц является справочник БизнесМодель.Физлица. Ключ объекта справочника БизнесМодель.Физлица - набор простых параметров Фамилия, Имя, Отчество. Таким образом, на данном этапе задается ключ Владельца импортируемого объекта.

Однозначно определить контакт в файле импорта позволяет набор колонок Фамилия, Имя, Отчество, Тип контакта. Одним из ключевых параметров контакта является объектное поле Владелец, но его нельзя представить в виде конечной строки. Ключом поля Владелец является набор параметров Фамилия, Имя, Отчество, каждый из которых можно представить в виде конечной строки. Другим ключевым параметром контакта является объектное поле ТипКонтакта, которое также нельзя представить в виде конечной строки. Однозначным идентификатором объекта ТипКонтакта является поле Название, его можно представить в виде конечной строки.

Таким образом ключом импортируемого объекта будет являться набор двух сложных параметров Владелец\{Фамилия}{Имя}{Отчество} и ТипКонтакта\Название.

То есть любому сколь угодно сложному объектному параметру можно поставить в соответствие набор текстовых полей, указав «путь» до каждого. Дополнительные параметры у сложного параметра всегда являются ключевыми полями (позволяющими однозначно его идентифицировать). Также дополнительным параметром может являться объектный параметр, в свою очередь содержащий набор полей (опять же, ключевых).

Параметр Контакт - не будет являться в данном случае ключевым. Поле Контакт можно представить в виде конечной строки.

На Рис. 4 представлена схема импорта контактов физических лиц на основе рассматриваемого примера.

Invalid Link
Рисунок 4. Схема настройки пакета импорта для элементов списков «БизнесМодель.КонтактыФизЛиц»

В процессе импорта из листа «Лист 2» в элементы списков БизнесМодель.КонтактыФизЛиц по ключевым параметрам Фамилия, Имя, Отчество в справочнике БизнесМодель.Физлица ищется владелец объекта импорта. В случае если владелец не найден - будет выдана ошибка и объект импортирован не будет. Обязательно соблюдение порядка этапов импорта. Для списков сначала импортируются справочники, являющиеся их владельцами. В случае если владелец найден, будет произведен поиск объекта справочника БизнесМодель.КонтактыФизЛиц по ключевым параметрам. Далее импорт идет аналогично импорту справочников. То есть, если объект по ключевым параметрам найден - будет произведено обновление неключевых параметров (Контакт в данном случае). Если объект не найден, будет создан новый.

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

Пример создания пакета импорта с настройкой соответствий для сложных параметров описан в Пример создания пакета импорта.

Пакеты импорта

Создание и редактирование пакетов импорта осуществляется из справочника «Пакеты импорта».

Справочник пакетов импорта можно открыть в режиме администрирования (см. Администрирование системы), из меню «Администрирование → Импорт/Экспорт → Справочники импорта», выбрать справочник «Пакет импорта».

Гиперссылки Выполнить экспорт и Выполнить импорт служат соответственно для экспорта и импорта данных по выбранному пакету импорта.

Свойства пакета импорта описываются в окне «Редактирование объекта из: Объекты импорта» (Рис. 5).

Invalid Link
Рисунок 5

В поле «Пакет импорта» вводится произвольное название пакета импорта.

Внимание!

Название пакета импорта должно быть уникальным.


Кнопка «Импорт/Экспорт» открывает окно «Выполнение импорта» (см. Bыполнение импорта).

Выбор файла для генерации пакета импорта

При создании пакета выдается диалоговое окно с предложением «Выбрать файл для генерации пакета импорта».

При согласии открывается диалоговое окно для выбора файла MS Excel. Далее будут автоматически заполнены Этапы импорта по названиям листов выбранного файла; будет предложено выбрать классы приемники для каждого этапа; также будет заполнены списки колонок листа по первым строкам листов. В дальнейшем для ввода этапа импорта, названия колонки можно будет использовать заполненные списки.

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

Внимание!

При создании собственного пакета импорта рекомендуется выбирать файл для генерации.


Этапы импорта

Этапы импорта разделяют импорт параметров по классам и устанавливают порядок импорта (Рис. 6).

Invalid Link
Рисунок 6

- порядок выполнения этапа импорта.

Внимание!

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


Имя листа MS Excel - название листа в файле MS Excel.

Внимание!

Имена листа чувствительны к регистру. Например, имена «Физлица» и «физлица» не являются идентичными.


Имя класса приемника - класс, в который будут импортироваться объекты на данном этапе.

Добавление нового этапа происходит из контекстного меню. При этом откроется окно выбора источника (список листов, которые содержались в файле генерации, если он был выбран при создании пакета), затем окно выбора класса приемника. Поле заполняется автоматически, при необходимости его можно изменить.

Описание этапа импорта

Описание этапов импорта служит для настройки соответствий параметров импорта. В зависимости от вида класса приемника описание этапов импорта содержит несколько закладок.

Invalid Link
Рисунок 7

Закладка «Ключ» обязательная для заполнения, показывается для всех видов справочников (Рис. 7). На ней задаются ключевые параметры класса.

Закладка «Параметры» отображается для всех видов справочников, не является обязательной для заполнения. На ней задаются дополнительные (неключевые) параметры класса.

Закладка «Ключ владельца» появляется только для элементов списков, является обязательной для заполнения. На ней задаются ключевые параметры класса-владельца списка. Например, для списка БизнесМодель.КонтактыФизЛиц классом владельцем является класс БизнесМодель.ФизическиеЛица. Владельца класса можно узнать из объектной модели, выбрав в контекстном меню Элементов списков пункт «Перейти к владельцу».

Invalid Link
Рисунок 8

Закладка «Ключ родителя» появляется только для иерархических справочников (Рис. 8). На ней задается имя колонки с признаком группы, и задаются ключевые параметры объекта-родителя для объекта импорта. Если ключ родителя не будет задан, то родителем для всех импортируемых объектов будет считаться корневой объект.

На закладке «Ключ родителя» поле Имя колонки Excel с признаком группы - это заголовок колонки, в котором будет признак группы, т.е. является ли импортируемый объект папкой или же конечным объектом, не имеющим потомков. Возможные варианты заполнения полей колонки признака группы для импорта объекта см. Пример создания пакета импорта.

Если Имя колонки с признаком группы не будет задано, то все объекты будут импортироваться как группы.

Настройка соответствий между столбцами файла и параметрами класса

Invalid Link
Рисунок 9

Параметр класса - параметр класса импорта. Выбирается по кнопке  или вводится вручную с клавиатуры (Рис. 9).

Внимание!

При вводе с клавиатуры, необходимо учитывать, что используется системное название параметра.


Пример ввода объектного параметра:

        «НазваниеОбъектногоПараметра/НазваниеПараметра».

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

Внимание!

При вводе с клавиатуры необходимо учитывать, что название чувствительно к регистру.


Пример ввода названия колонки для параметра:

        «ЗаголовокКолонки».

Добавление, редактирование и удаление параметров происходит из контекстного меню.

Название пункта Описание
Добавить параметр Открывает окно выбора параметра. Если при загрузке был выбран файл для генерации, затем откроется окно выбора колонки листа. Добавляет новую строку в список параметров.
Добавить сложный параметр Открывает окно выбора параметра, затем редактор колонки импорта, добавляет новую строку в список. Описание задания соответствий см. Принципы задания соответствий параметров.
Свойства Открывает окно «Редактор колонки импорта».
Удалить параметр Удаляет выделенную строку из списка параметров.
Таблица 2. Контекстное меню параметров описания этапа импорта

Редактирование колонки импорта

Колонка импорта - часть механизма настройки соответствий между параметром класса и колонкой листа MS Excel. В случае простого параметра колонка импорта напрямую связывает Параметр класса с Колонкой листа импорта (Рис. 2). В случае сложного параметра в колонке импорта указывается объектный параметр класса для настройки соответствий для параметров класса, которому он принадлежит (Рис. 4).

С помощью редактора колонки импорта производится настройка дополнительных параметров для сложного параметра. Открывается выбором пункта «Свойства» в контекстном меню строки списка параметров импорта (Рис. 10).

Invalid Link
Рисунок 10

В поле Название указан уникальный идентификатор колонки импорта.

Путь до корневого параметра указан:

  • для ключевых параметров в поле Ключ;
  • для неключевых параметров в поле Параметр;
  • для ключей родителей в поле Ключ родителя;
  • для ключей владельцев в поле Ключ владельца.

Чтобы добавить новый параметр, нужно установить курсор в ячейке «Параметр класса» и нажать кнопку  для выбора параметра из списка параметров класса, либо ввести с клавиатуры системное название параметра. Затем установить курсор в колонку листа и нажать кнопку  для выбора колонки из списка колонок, либо ввести название колонки вручную с учетом регистра.

Кнопка «Редактировать колонку» открывает окно «Редактор колонки импорта» для выделенного параметра. Таким образом, можно создавать сложные параметры любой степени вложенности.

Выполнение импорта

Чтобы выполнить импорт или экспорт из режима администрирования (см. Администрирование системы), нужно выбрать пункт меню «Администрирование → Импорт/Экспорт → Импорт» или соответственно «Администрирование → Импорт/Экспорт → Экспорт». При этом откроется сначала окно выбора пакета импорта, затем - диалоговое окно выбора файла для импорта или соответственно экспорта. Откроется окно «Выполнение импорта».

Invalid Link
Рисунок 11

Параметр Пакет импорта - пакет, по которому будет производиться импорт или экспорт.

Поля списка этапов импорта:

  • - определяет очередность выполнения этапа импорта;
  • Объект импорта - уникальное название этапа импорта;
  • Выбран - устанавливает активность этапа импорта;
  • Имя листа MS Excel - название листа файла, из которого происходит импорт на данном этапе;
  • Имя класса приемника - системное наименование класса, в который происходит импорт на данном этапе;
  • Ошибки критические - текст критических ошибок, возникавших в процессе прохождения этапа импорта;
  • Состояние этапа - результат прохождения этапа импорта: не выполнялся, тест не прошел, тест прошел с ошибками, успешно.

Кнопка «Включить всё» включает активность всех этапов импорта. Такая операция доступна, если активность хотя бы одного из этапов отключена. Если активность всех этапов включена, название кнопки меняется на «Выключить всё» и ее нажатие отключает активность всех этапов импорта.

Импорт файла

Файл импорта выбирается на закладке «Импорт» (Рис. 12) в графе Имя файла по кнопке  или вводом с клавиатуры.

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

Внимание!

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


Invalid Link
Рисунок 12

Кнопка «Выполнить импорт» запускает процесс импорта. Если в процессе импорта возникнут ошибки - будет выдано окно «Ошибки критические».

Внимание!

Рекомендуется производить резервное копирование базы данных перед выполнением импорта из файла.


Экспорт файла

Файл экспорта выбирается на закладке «Экспорт» (Рис. 13) в графе Имя файла по кнопке  или вводом с клавиатуры.

Invalid Link
Рисунок 13

Кнопка «Выполнить экспорт» запускает процесс экспорта. Если в процессе экспорта возникнут ошибки - будет выдано окно «Ошибки критические».

В итоговой строке отображается состояние и результат процесса выполнения импорта или экспорта.

Актуальные новости, публикации и практики для бизнес-архитекторов и аналитиков
Driven by DokuWiki