Файл конфигурации импорта. Тег <attr>

Описание

Тег <attr> описывает присваивание атрибуту объекта значение из колонки источника импорта.

Вложен в <class>.

В конфигурации импорта должен быть хотя бы один тег <attr>

В теге <attr> указывается:

  • режим импорта, в котором нужно или не нужно заполнять атрибут;
  • преобразователь значения, при необходимости привести значение атрибута из источника к какому-то специальному виду (если преобразователь не указан, то он будет определен на основе метаинформации).

Параметры

  • name — код атрибута, в который надо сохранить значение.

    Тип: Строка. Обязательный

  • column — название колонки, из которой надо взять данные для присваивания.

    Используется название колонки, которое было присвоено в источнике <...-data-source> (вложенный тег <column>, параметр name).

    Если название колонки не указано, то устанавливается значение из default-value.

    Тип: Строка. Обязательный

    При импорте атрибута "Название" (title) нужно указывать конкретную колонку, в которую сохраняется значение. Возможные колонки: title, title_ru, title_en, title_client

  • default-value — значение атрибута, устанавливаемое по умолчанию в случае пустого значения из источника данных.

    Тип: Строка. Необязательный

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

    <attr name="removed" default-value="false"/>

    Пример использования default-value для атрибутов, ссылающихся на объекты, например, parent

    Copy
    <parameter name="importRootOUIdHolder">\c7\c9\ac\ea\c8\29\2c\4d\af\da\9c\be\48\21\d3\84</parameter>
    <parameter name="ouIdHolder">idHolder</parameter>
    ...
    <attr name="parent" column="parent" default-value="${importRootOUIdHolder}">
                <object-converter attr="${ouIdHolder}" required="false"/>
            </attr>
    Copy
    <parameter name="obMetaClass">objectBase$SpravAsSBS</parameter>
    ...
    <attr name="infoSystem" default-value="objectBase$2206702" > 
                <object-converter attr="UUID" metaclass="${obMetaClass}" required="true" /> 
            </attr> 
  • not-null — указывает обязательность заполнения значения атрибута.

    Возможные значения параметра:

    • true — атрибуту в обязательном порядке должно быть присвоено не пустое значение. Если значение будет пустое, то объект импортироваться не будет (ошибка импорта).
    • false — значение атрибута может быть пустым.

    Тип: Логический. Обязательный

Вложенные теги

  • <include-mode>/<exclude-mode>

    Используя вложенные теги <include-mode>/<exclude-mode>, можно указать необходимость заполнять атрибут только в определенном режиме импорта объекта (CREATE, UPDATE).

    • <include-mode> — внутри тега задается режим, в котором необходимо заполнять (изменять) атрибут.
    • <exclude-mode> — внутри тега задается режим, в котором не требуется заполнять (изменять) атрибут.

    Вложенные теги <include-mode>/<exclude-mode> указывать необязательно. Если эти теги не заданы, то по умолчанию значение атрибута будет заполнено во всех режимах импорта, где это возможно.

    Пример 1: необходимо заполнить атрибут в режиме импорта CREATE:

    <attr name="" column="" default-value="" not-null="true">
    <attr name="idHolder" column="id">
          <include-mode>CREATE</include-mode>
    </attr>
    <attr name="title" column="title" />

    Пример 2: не заполнять атрибут в режиме импорта UPDATE:

    <attr name="" column="" default-value="" not-null="true">
    <attr name="idHolder" column="id">
          <exclude-mode>UPDATE</exclude-mode>
    </attr>
    <attr name="title" column="title" />
  • <...-converter>

    • <...-converter> — позволяет указывать преобразователь значения, если требуется преобразовать значение из источника к какому-то специальному виду.

      Указывать преобразователь значения не обязательно, в этом случае преобразователь будет определен на основе метаинформации.