Type parameters
Hierarchy
- BaseItem<OrganisationStructureData>
- ItemRef<OrganisationStructureItem>
-
OrganisationStructureItemRef
- OrganisationStructureItem
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Methods
addChild
-
Метод позволяет добавить дочерний элемент для текущего элемента.
Parameters
Returns void
fetch
-
Запрос полных данных объекта-ссылки.
Returns Promise<OrganisationStructureItem>
find
-
Метод позволяет организовать поиск на поддереве элементов, где корень — текущий элемент.
Будет возвращен первый удовлетворяющий предикату элемент или
undefined
, если таких элементов нет.Parameters
-
predicate: function
-
Parameters
Returns boolean
-
Returns OrganisationStructureItem | undefined
-
getChildren
-
Метод позволяет получить дочерние элементы для текущего элемента.
const children = someItem.getChildren();
В случае если элемент не имеет дочерних элементов, метод вернет пустой массив.
Returns OrganisationStructureItem[]
getParent
-
Метод позволяет получить родительский элемент для текущего элемента.
const parent = someItem.getParent();
В случае если элемент не имеет родителя, метод вернет значение undefined.
Returns OrganisationStructureItem | undefined
isDepartment
-
Метод возвращает
true
, если элемент является отделом, иначе —false
.const item = tree.getRoot().find(i => i.data.name === 'Менеджеры'); if (item && item.isDepartment()) { // item является отделом }
Returns boolean
isGroup
-
Метод возвращает
true
, если элемент является группой, иначе —false
.const item = tree.getRoot().find(i => i.data.name === 'Менеджеры'); if (item && item.isGroup()) { // item является группой }
Returns boolean
isPosition
-
Метод возвращает
true
, если элемент является должностью, иначе —false
.const item = tree.getRoot().find(i => i.data.name === 'Менеджеры'); if (item && item.isPosition()) { // item является должностью }
Returns boolean
moveAfter
-
Метод позволяет переместить элемент на одну позицию вправо на дереве оргструктуры.
Перемещение происходит среди дочерних элементов родителя данного элемента, т. е. на одном уровне организационной структуры. Метод влияет только на визуальное представление организационной структуры на странице ее редактирования.
someItem.moveAfter();
Returns void
moveBefore
-
Метод позволяет переместить элемент на одну позицию влево на дереве оргструктуры.
Перемещение происходит среди дочерних элементов родителя данного элемента, т.е. на одном уровне организационной структуры. Метод влияет только на визуальное представление организационной структуры на странице ее редактирования.
someItem.moveBefore();
Returns void
moveToParent
-
Метод позволяет сделать текущий элемент дочерним для заданного элемента.
Parameters
-
parent: OrganisationStructureItem
Returns void
-
normalize
-
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2.fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Далее перебираем элементы нового массива app1.data.executors.forEach( ... );
Returns void
removeChild
-
Метод позволяет удалить один или несколько дочерних элементов текущего элемента.
Parameters
Returns void
Элемент организационной структуры
Представляет собой один из элементов иерархии организационной структуры: должность, отдел или группу.
Тип не имеет конструктора. Создать новый элемент можно с помощью метода OrganisationStructure.createItem:
const item = System.organisationStructure.createItem('Директор по развитию', OrganisationStructureItemType.Position);
Добавить вновь созданный элемент в существующую организационную структуру (к заданному родителю) можно с помощью метода OrganisationStructureItem.addChild.
После внесения изменений в организационную структуру ее необходимо сохранять с помощью метода OrganisationStructure.save.
const tree = await System.organisationStructure.fetchTree(); tree.getRoot().addChild(item); const errs = await System.organisationStructure.save(tree); if (errs.length === 0) { Context.data.debug = "Успешно сохранено"; }