Справочник элементов
Атрибут типа Справочник элементов позволяет подключить различные папки как справочники содержащихся в них элементов. Для выбранных из справочника элементов автоматически создаётся связь для перехода к связанным элементам или быстрой фильтрации по ним.
Для настройки в 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
(если |
Фильтр типа родителей вложения. | “имя_типа” | Значение для автозаполнения будет взято у первого родителя вложения, соответствующего указанному типу. |
Пример конфигурации с настройкой автозаполнения полей карточки задания при добавлении вложения
<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}"). Конфигурация позволяет выбрать один элемент типа Проект.