Определение связей между разделами

В отличие от рядового пользователя, администратор Docsvision может расширить список доступных для вывода в представлении полей, указывая при его создании связи между разделами карточек.

На рисунке ниже представлено диалоговое окно Настройка элементов представления, открытое администратором Docsvision. Кроме поля Колонки представления, имеющегося в окне, открытом рядовым пользователем, здесь расположено поле Присоединенные разделы, в котором можно присоединить к ведущему разделу карточки некоторый другой раздел этой же или другой карточки.

Окно "Настройка элементов представления"
Рисунок 1. Окно "Настройка элементов представления", открытое администратором Docsvision

Элементы, источник данных которых хранится в ведущем разделе и не является ссылочным полем (на рисунке это элементы колонок Название, Дата регистрации и Содержание), определяются так же, как это описано в пункте Настройка данных представления.

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

По кнопке Добавить, расположенной справа от поля Присоединенные разделы, открывается диалог настройки дополнительных разделов, необходимых для отображения данных в представлении.

Окно "Присоединенный раздел"
Рисунок 2. Окно "Присоединенный раздел"

В полях окна Присоединенный раздел прежде всего указывается Оригинальный раздел — тот раздел, поле которого будет использоваться в качестве ключа для связи с другим разделом. Оригинальный раздел выбирается в окне Выбор раздела, открывающемся по кнопке Три точки справа от поля. По умолчанию в качестве оригинального всегда доступен ведущий раздел. Кроме того, доступны и все разделы, присоединенные к ведущему (ранее, при создании этого же представления).

Окно "Выбор раздела"
Рисунок 3. Окно "Выбор раздела"

После указания оригинального раздела указывается Оригинальное поле, данные из которого являются ссылкой к присоединяемому разделу. После этого поля Присоединяемый раздел и Присоединяемое поле заполняются автоматически теми значениями, которые соответствуют настраиваемой связи. Поле Псевдоним заполняется предлагаемым названием присоединяемого раздела, но при необходимости значения этих полей пользователь может изменить.

Среди полей, доступных в списках Оригинальное поле и Присоединяемое поле, всегда есть системные поля:

  • InstanceID — идентификатор карточки.

  • ParentRowID — идентификатор родительской строки.

  • ParentTreeRowID — идентификатор родительской строки в дереве.

  • RowID — идентификатор строки карточки.

  • SysRowTimestamp — служебное поле.

При присоединении к оригинальному разделу другого раздела этой же карточки в полях Оригинальное поле и Присоединяемое поле должен быть выбран пункт InstanceID.

Поля Присоединяемый раздел и Присоединяемое поле имеет смысл заполнять вручную в том случае, когда к ведущему разделу нужно присоединить не секцию какой-либо карточки, а таблицу базы данных Docsvision и её поле (например, таким способом можно вывести в представлении все ссылки из входящих документов). При таком присоединении необходимо обратить внимание на следующую особенность: если тип поля, по которому происходит соединение, не uniqueidentifier, после создания представления нужно:

  1. Выгрузить представление в файл XML.

  2. Изменить выгруженный файл, указав в секции JoinDef у параметра DestFieldType (тип поля), его фактическое значение.

    Например:
    <JoinDef Alias="UserJoin_1" SourceAlias="Main" SourceField="AccountName" DestField="AccountName" TableName="dvsys_users" DestFieldType="unistring"/> (1)
    1 Возможные типы полей: Int, Bool, DateTime, UniqueId, String, Unistring, Float, Decimal, Binary.
  3. Импортировать представление из изменённого файла.

    После создания присоединенного раздела данные из него могут быть указаны в качестве элемента представления:
    1. Вернитесь к полю Колонки представления.

    2. Выделите нужную строчку.

    3. Двойным щелчком мыши откройте окно Настройка данных колонки.

    4. В этом окне в качестве Типа данных укажите Поле раздела.

    5. По кнопке поля Элемент, откройте окно Выбор раздела.

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

На рисунке представлен пример выбора поля для настройки элемента представления, отображающегося в колонке Вид. В качестве раздела укажите присоединенный раздел DocumentTypes_1 (название псевдонима по умолчанию; псевдоним виден в списке доступных разделов). Далее в этом разделе выбирается нужное поле (в данном случае — Название вида документа).

Окно "Выбор раздела"
Рисунок 4. Окно "Выбор раздела"
Флаги окна "Присоединенный раздел" позволяют выводить в представлении данные иерархии:
  • Раскрывать иерархию присоединяемого раздела — основной флаг, при установке которого становятся доступными остальные флаги секции.

  • При установленном флаге Присоединять родительские элементы иерархии иерархия будет раскрыта в сторону родительских элементов, при снятом — в сторону дочерних.

  • Флаг Выводить только корневой родительский элемент позволяет вывести в представлении только корневой элемент иерархии, минуя все промежуточные. Например, для элемента Сотрудник в представлении будет выведен элемент Организация без элемента Подразделение.

  • Счетчик, активизирующийся при установленном флаге Ограничивать вывод иерархии уровнем, позволяет указать уровень выводимых в представление узлов иерархии относительно текущего элемента.

В поле Условие на основной раздел представления окна Настройка элементов представления определяются условия вывода данных ведущего (основного) раздела карточки в представлении. Задаются эти условия так же, как и условия присоединения раздела.