Параметры активации справочников

Открытие некоторых справочников Docsvision может сопровождаться установкой курсора (открытием) на заранее определённой записи справочника, что уменьшает количество переходов в интерфейсе при редактировании записи. Для установки курсора на определённый записи достаточно передать в метод CardHost.ShowCard специальный объект, содержащий параметры активации карточки.

Далее приведён пример скрипта карточки, в котором используется функциональность открытия Справочника сотрудников с установкой курсора на определённом сотруднике.

string employeeID = new Guid("00000000-0000-0000-0000-000000000000").ToString("B").ToUpperInvariant(); (1)

Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.ID; (2)

string sectionID = DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Employees.ID.ToString("B").ToUpperInvariant(); (3)

object activateParams = new object[] { sectionID, employeeID, System.Reflection.Missing.Value, System.Reflection.Missing.Value,
 System.Reflection.Missing.Value, false, false, false, 0, System.Reflection.Missing.Value, true, true, 0 }; (4)

base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, ActivateMode.Select, ActivateFlags.None, activateParams); (5)
1 Приведение идентификатора сотрудника с требуемому формату.
2 Получение идентификатора Справочника сотрудников.
3 Получение идентификатора секции (в примере, секция Сотрудники), из которой осуществляется выбор.
4 Установка параметров активации.
5 Отображение справочника.

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

Справочник сотрудников

Номер параметра Описание

0

Идентификатор секции, из которой производится выбор:
  • Сотрудники (DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Employees.Id).

  • Подразделения (DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Units.Id).

  • Роли (DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Roles.Id).

  • Группы (DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Group.Id).

  • Должности (DocsVision.BackOffice.CardLib.CardDefs.RefStaff.Positions.Id).

1

Идентификатор объекта, выбираемого при открытии справочника.

3

Массив идентификаторов выбранных объектов.

5

При true разрешается множественный выбор. Если указан false, то, например, метод SelectFromCard вернет один результат независимо от количества выбранных записей.

6

Если true, то метод возвращает идентификаторы безопасности, а не идентификаторы сотрудников, подразделений и т.д.

8

Включает ограничение на выбор:
  • 0 — Ограничения отключены.

  • 1 — Выбор разрешён только из организаций.

  • 2 — Выбор разрешён только из групп.

9

Если задействован параметр 8, то указывается идентификатор той группы или подразделения, из которого будет разрешён выбор. Остальные подразделения или группы будут скрыты.

10

Не разрешать выбор подразделений, если true.

11

Не разрешать выбор организаций, если true.

12

Режим открытия записи (см. ItemSelectionMode) приведенный к типу int.

13

Не отображать записи с флагом NotAvailable.

14

Не отображать записи с флагом NotSearchable.

Справочник контрагентов

Номер параметра Описание

0

Идентификатор секции, из которой производится выбор:

  • Сотрудники (CardLib.CardDefs.RefPartners.Employees.Id).

  • Подразделения (CardLib.CardDefs.RefPartners.Companies.Id).

  • Группы (CardLib.CardDefs.RefPartners.Groups.Id).

  • Должности (CardLib.CardDefs.RefPartners.Positions.Id).

1

Идентификатор объекта, выбираемого при открытии справочника.

3

Массив идентификаторов выбранных объектов.

5

При true разрешается множественный выбор.

8

Не разрешать выбор подразделений, если true.

9

Не разрешать выбор организаций, если true.

10

Режим открытия записи (см. ItemSelectionMode) приведенный к типу int.

Конструктор справочников

Номер параметра Описание

0

Идентификатор секции, из которой производится выбор:

  • Узлы справочника (RefBaseUniversal.ItemTypes.Id)

  • Строки справочника (RefBaseUniversal.Items.Id)

1

Идентификатор открываемой/выбираемой строки.

Может использоваться только при открытии в режиме чтения или редактирования Конструктора справочников методом CardHost.ShowCard. Должен быть указан узел (параметр 2), из которого выбирается строка.

2

Идентификатор узла из которого осуществляется выбор.

В режиме выбора строк ограничивает узел (отображается только указанный узел и его дочерние узлы), из которого могут быть выбраны строки.

Не предназначен для ограничения области выбора в режиме выбора узла.

3

Режим открытия записи (см. ItemSelectionMode) приведенный к типу int.

К примеру, чтобы выбрать строку (без открытия записи) из узла Конструктора справочников, нужно выполнить скрипт:

Guid cardID = DocsVision.BackOffice.CardLib.CardDefs.RefBaseUniversal.ID; (1)

Guid idNode = Guid.Parse("B8B58477-CCC3-4213-8190-EFC66FEF86C1"); (2)

Guid idRow = Guid.Parse("C0C164D7-2C0F-48E9-A642-3ABC8D2CEFBB"); (3)


object activateParams = new object[] { DocsVision.BackOffice.CardLib.CardDefs.RefBaseUniversal.Items.ID, idRow, idNode, (int)ItemSelectionMode.Positioning}; (4)

base.CardControl.CardHost.ShowCard(cardID, Guid.Empty, ActivateMode.ReadOnly, ActivateFlags.None, activateParams); (5)
1 Идентификатор Конструктора справочников.
2 Идентификатор узла, из которого выбирается строка.
3 Идентификатор выбираемой строки.
4 Установка параметров активации.
5 Отображение справочника с позиционированием курсора на нужной строке.

Справочник ссылок

Номер параметра Описание

0

ID секции, из которой выбираем (только типы ссылок)

1

ранее выбранный элемент

3

True, позволять выбор нескольких элементов

6

Режим открытия записи:
  • 0 — Позиционирование.

  • 1 — Редактирование.

  • 2 — Чтение.

Справочник категорий

Номер параметра Описание

1

Идентификатор объекта, выбираемого при открытии справочника.

2

При true разрешается множественный выбор.

3

Массив идентификаторов выбранных объектов.

4

Режим открытия записи (см. ItemSelectionMode) приведенный к типу int.