Справочник элементов

Атрибут типа Справочник элементов позволяет подключить различные папки как справочники содержащихся в них элементов. Для выбранных из справочника элементов автоматически создаётся связь для перехода к связанным элементам или быстрой фильтрации по ним.

Для настройки в Pilot-myAdmin:

  • выберите нужный тип элемента или задания, для которого будет работать настройка;
  • создайте атрибут типа Справочкик элементов;
  • добавьте конфигурацию вида:

<Configuration>
    <ElementBook
        Source="[идентификатор]"
        StringFormat="{[имя атрибута]}"/>
</Configuration>

Где:

[идентификатор] — id корневого элемента справочника.

[имя атрибута] — значение атрибута для текста ссылки и заполнения поля карточки элемента.

Структура и параметры скрипта конфигурации

<Configuration>
    <ElementBook
        [параметры справочника]/>
    <AutoFill
        [параметры автозаполнения]/>
</Configuration>

Скрипт конфигурации состоит из двух разделов:

  • ElementBook — раздел конфигурации, который описывает сам справочник.
  • AutoFill — раздел конфигурации, который работает только для заданий и описывает заполнение поля атрибута в карточке задания при добавлении вложения.

Раздел ElementBook

Параметры атрибутов раздела ElementBook

Параметр Описание параметра Значения Комментарий
Source id корневого элемента структуры, множество значений которой сможет использовать атрибут. "id" Значение
Source="00000001-0001-0001-0001-000000000001" соответствует папке Начало. Такое значение Source позволит использовать все элементы базы.

StringFormat
Определяет, какой из атрибутов элемента выбран для текста ссылки и заполнения поля в карточке. "{имя атрибута}" Например, при StringFormat="{code}" текст ссылки будет содержать значение поля Шифр элемента.
AllowMultiSelect Разрешает выбор нескольких значений в диалоговом окне. "True" Выбор нескольких значений возможен (по умолчанию).
"False" Выбор ограничен одним значением.
ElementsTypes Позволяет ограничить выбор элементов, указав только нужные имена. “имя_типа_1, имя_типа_2, …” Если атрибут не указан, то в справочник можно выбрать только элементы тех типов, для которых не указаны связи.
ShowInListView Определяет, нужно ли показывать атрибут в списке элементов. "True" Атрибут виден (по умолчанию).
"False" Атрибут скрыт.
EnablePopupCommands Определяет, будет ли активен атрибут, показанный в карточке. "True" Атрибут активен (по умолчанию).
"False" Атрибут неактивен.
CreateLink Определяет будет ли создана дополнительная горизонтальная связь, отображаемая на вкладке Связи. В большинстве случаев создание дополнительной связи не требуется. "True" Связь создаётся.
"False" Связь не создаётся (по умолчанию).
AutoFill Определяет, следует ли заполнять поля атрибутов, совпадающих по имени с указанными в справочнике, значениями из справочника. "True" Поля заполняются.
"False" Поля не заполняются (по умолчанию).

Пример настройки конфигурации

Например, имеется справочник элементов, содержащий список контрагентов. Тип Контрагент имеет три атрибута: наименование организации (name), адрес организации (address) и руководитель (manager). Для заполнения карточки проекта с помощью этого справочника, создадим в типе Проект следующие атрибуты: заказчик (customer), адрес заказчика (address), контактное лицо (manager). Атрибут Заказчик (customer) дополним следующей конфигурацией:

<Configuration>

<ElementBook

Source="bca77be0-726d-4ae6-9699-ff465db5ba01"

AllowMultiSelect="false"

CreateLink="true"

StringFormat="{name}"

AutoFill="true"/>

</Configuration>

Где:

Source — идентификатор справочника контрагентов;

AllowMultiSelect — разрешает выбор только одного значения из справочника;

CreateLink — на вкладке Связи создаёт связь с элементом справочника, в данном случае карточкой контрагента;

StringFormat — заполняемое поле карточки и ссылка будут содержать значение указанного атрибута, в данном случае название организации;

AutoFill — при заполнении настроенного атрибута Заказчик (contractor) в карточке проекта поля с атрибутами Адрес заказчика (address) и Контактное лицо (manager) будут автоматически заполнены значениями атрибутов Адрес организации (address) и Руководитель (manager) из справочника.

Значение атрибута типа Справочник элементов, к которому подключен справочник, обновится автоматически при изменении значения в справочнике. Для обновления автозаполненных полей потребуется редактирование карточки.

Раздел AutoFill

Параметры атрибутов раздела AutoFill

Раздел AutoFill работает только для заданий. Конфигурация срабатывает на добавление в задание вложения.

Параметр Описание параметра Значения Комментарий
When Определяет, на какое событие срабатывает автозаполнение. "{ событие}" Необязательный параметр. Настройка работает только при добавлении вложения:
When= "AttachmentChanged".
ValueSource Определяет, откуда будет взято значение для автозаполнения. "Self" Значением атрибута будет само вложение.
"Parent" Значением атрибута будет один из родителей вложения (по умолчанию).
ParentType

(если
ValueSource ≠ "Self")

Фильтр типа родителей вложения. “имя_типа” Значение для автозаполнения будет взято у первого родителя вложения, соответствующего указанному типу.

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

<Configuration>

<ElementBook

Source="00000001-0001-0001-0001-000000000001"

StringFormat="{code}"

ElementsTypes="project"

AllowMultiSelect="false"/>

<AutoFill

When="AttachmentChanged"

ValueSource="Parent"

ParentType="project"/>

</Configuration>

При добавлении вложения в задание произойдёт автозаполнение атрибута значением, взятым у родительского проекта вложения. Конфигурация работает со всем деревом, т.к. "00000001-0001-0001-0001-000000000001" — идентификатор папки Начало. Для заполнения поля атрибута Справочник элементов используется значение поля Шифр (StringFormat="{code}"). Конфигурация позволяет выбрать один элемент типа Проект.