Источники данных

Для проведения импорта требуются: источник данных (внешняя система или файл) и файл конфигурации импорта.

Виды источников данных для импорта

Источники данных для импорта и синхронизации:

  • внешние системы: sql, ldap, cassandra;
  • файлы в формате csv, xls, xlsx, xml.

Все параметры источника данных описываются в файле конфигурации импорта в тэге <*-data-source> (где "*" — возможные типы источника данных). В одной конфигурации импорта может быть описан один или несколько источников данных.

Сопоставление атрибутов объекта в системе SMP и во внешнем источнике данных также производится в файле конфигурации импорта в теге <attr>.

Общие требования к источникам данных для корректного проведения процедуры импорта:

  • Файл, являющийся источником для импорта данных, не должен содержать пустых строк между строками импортируемых данных.
  • Во внешнем источнике должны быть указаны поля, соответствующие обязательным атрибутам объектов системы SMP, например, "Идентификатор", "Название".

    Колонка, идентификатор которой указан как id-column, должна быть заполнена для всех импортируемых объектов.

  • Для создания иерархии вложенных объектов следует указывать родительский объект "parent". Допускается значение parent=null, если отдел создается в корне, см. Связь типа "Вложение".

Наличие большого количества пустых строк в файле-источнике импорта (например, xlsx) приводит к замедлению процесса загрузки данных, т.к. процедура удаления данных строк является длительной операцией.

Выбор файла–источника данных для импорта

Файл, являющийся источником данных для импорта:

  • указывается в файле конфигурации импорта;
  • запрашивается у пользователя на форме "Запуск импорта".

Источник импорта указан в конфигурации

Чтобы явно указать файл–источник данных для импорта (csv, xml, xls, xlsx) в файле конфигурации импорта, в тэге <*-data-source> (атрибут file-name) укажите полный путь, имя файла, расширение файла:

file-name="file:C:\path\to\file.csv"

Источник импорта запрашивается у пользователя

Чтобы файл–источник данных для импорта запрашивался у пользователя при запуске импорта, выполните следующие настройки в файле конфигурации импорта:

  1. В тэге <gui-parameter> определите параметр для загрузки файла на форме "Запуск импорта":

    <gui-parameter name="uploadedFile" type="FILE" title="Файл для импорта в формате csv, xml, xls" />

  2. В тэге <*-data-source> (атрибут file-name) укажите имя gui-parametr.

    Пример. Импортируемый файл запрашивается gui-parametr с именем uploadedFile.

    <csv-data-source file-name="$uploadedFile" with-header="true" url-timeout="60">
    <column name="id" src-key="@id"/>
    </csv-data-source> 

Примеры файла–источника данных для импорта

Примеры файла–источника данных для импорта:

  1. Файл для импорта сотрудников в формате csv:

    Внешний идентификатор для импорта;Фамилия;Имя;Отчество;Отдел;Должность;Адрес электронной почты;мобильный телефон;городской телефон;внутренний телефон;домашний телефон;логин
    CN001;Иванова;Ирина;Витальевна;OU002;Бухгалтер;iivanova@service.com; 880020003600;;131;;iivanova
    CN002;Сергеев;Константин;Игоревич;OU003;Руководитель отдела;ksergeev@service.com;;;201;;ksergeev
    CN003;Бучельников;Николай;Иванович;OU003;Специалист;nbuchelnikov@service.com;;;201;;nbuchelnikov
    CN004;Гулина;Алена;Евгеньевна;OU005;Бухгалтер;agulina@region.com;;;132;;agulina
    CN005;Калашников;Евгений;Валентинович;OU005;Руководитель филиала;;;;440;;ekalashnikov
  2. Файл для импорта отделов в формате xml:

    <Items>
    <OU id="itm1">
    <Removed value="true">
    <RemovalDate>2011-01-01 12:23:00</RemovalDate>
    </Removed>
    </OU>
    <OU id="itm2">
    <Removed value="false" />
    </OU>
    </Items>

Особенности синхронизации с внешними системами (sql, ldap):