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

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

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

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

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

Где:

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

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

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

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

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

  • ElementBook — раздел конфигурации, который описывает сам справочник.
  • AttachmentToTaskAutoFill — раздел конфигурации, который работает только для заданий и описывает заполнение поля атрибута в карточке задания при добавлении вложения. Чтобы настройка автозаполнения сработала, нужно убедиться, что объект для справочника может быть записан в атрибут: в настройках можно ограничить объекты по типу ParentType и по ветви дерева ValueSource.

При настройке обоих разделов конфигурации атрибута Справочник элементов обращайте внимание на следующие моменты:

  1. Раздел конфигурации ElementBook содержит параметр Source, который ограничивает корневой элемент справочника. Если при добавлении вложения автозаполняемое значение будет браться из элемента справочника, который не является дочерним элементом объекта, указанного в параметре Source, такое значение не будет записано в поле карточки задания.
  2. Раздел конфигурации ElementBook содержит параметр ElementsTypes, который определяет допустимые типы элементов справочника. Если при добавлении вложения автозаполняемое значение будет не соответствовать типу, указанному в этом параметре, то такое значение не будет записано в поле карточки задания.
  3. Если в разделе конфигурации ElementBook значение параметра AllowMultiSelect установлено в false, то при добавлении вложения значение автозаполняемого атрибута будет заменятся новым. Если значение параметра установлено в true, то при добавлении вложения значение автозаполняемого атрибута будет дополнятся через запятую новыми значениями.

Раздел 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) из справочника.

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

Раздел AttachmentToTaskAutoFill

Раздел AttachmentToTaskAutoFill, начиная с версии 25.2, заменяет собой раздел AutoFill. Уже настроенные в базах данных конфигурации с AutoFill продолжат работать.

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

Например, чтобы при вложении документа, автоматически заполнялось соответствующее поле карточки задания названием проекта, к которому относится вкладываемый документ. Для автозаполнения используется пара атрибутов, у которых совпадает имя и тип. Если документ и задание содержат атрибут project типа Справочник элементов, то при вложении документа значение его атрибута project будет скопировано в одноимённый атрибут задания.

Подробно с параметрами раздела и примерами настройки можно ознакомиться в разделе Автозаполнение атрибутов заданий.