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


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

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

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

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

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

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

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

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

Например, в Таблице 1 приведен пример файла 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

Виды данных

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Внимание!

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

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

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


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

Внимание!

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


В процессе импорта (Рис. 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.

Внимание!

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


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

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

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

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

Invalid Link
Рисунок 7. Вкладка Ключ

Вкладка Ключ обязательная для заполнения, показывается для всех видов справочников. На ней задаются ключевые параметры класса.

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

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

Invalid Link
Рисунок 8. Вкладка Ключ владельца

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

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

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

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

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

Invalid Link
Рисунок 9. Настройка соответствия между столбцами файла и параметрами класса
Внимание!

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


Пример ввода параметра:

"НазваниеОбъектногоПараметра\НазваниеПараметра"

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

Внимание!

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


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

"ЗаголовокКолонки"

Добавление, редактирование и удаление параметров происходит при помощи пунктов контекстного меню. Описание назначения его пунктов приведено в Таблице 2.

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

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

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

Настройка дополнительных параметров для сложного параметра выполняется в окне Редактор колонки импорта (Контекстное меню строки списка параметров импорта → Свойства) (Рис. 10).

Invalid Link
Рисунок 10. Окно Редактор колонки импорта

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

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

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

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

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

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

Для выполнения импорта или экспорта в меню администратора системы (см. Администрирование системы) нужно открыть справочник "Пакет импорта" для импорта (Главное меню → Администрирование → группа меню Импорт/Экспорт → Импорт) или для экспорта (Главное меню → Администрирование → группа меню Импорт/Экспорт → Экспорт). Будет открыто окно, в котором нужно будет выделить пакет импорта и нажать на кнопку Выбрать. На экран будет выведено диалоговое окно выбора файла для импорта или экспорта. После выбора файла будет открыто окно Выполнение импорта (Рис. 11).

Invalid Link
Рисунок 11. Окно Выполнение импорта

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

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

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

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

Импорт файла

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

Invalid Link
Рисунок 12. Окно Выполнение импорта, вкладка Импорт

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

Внимание!

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


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

Внимание!

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


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

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

Invalid Link
Рисунок 13. Окно Выполнение импорта, вкладка Экспорт

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

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

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