api.structure. Работа со структурами
Методы получения информации о структурах
-
api.structure.getAllStructures()
Получение списка всех структур объектов, зарегистрированных на сервере.
Возвращает: список кодов и названий структур List<ISDtObject>
Пример: Получить первую структуру, ее облегченный вариант, содержит только code, name
def structLight = api.structure.getAllStructures()[0] def structureTitle = structLight.name def structureCode = structLight.code
-
api.structure.getStructure(structureCode)
Получение информации о структуре.
Параметр метода:
- structureCode — код структуры. String
Возвращает информацию о структуре: код, название, описание структуры и перечисление элементов структуры. Для каждого элемента структуры указывается его код структуры, код элемента и название.
Пример: Получить полную информацию о структуре, содержит code, name, description, items
Copydef struct = api.structure.getStructure(structureCode)
structureCode = struct.code
structureTitle = struct.name
def description = struct.description
def lightItems = struct.items //это список ISDtObject, каждый элемент содержит: code, codeStructure, name
def codeStruct = lightItems[0].codeStructure
def nameItem = lightItems[0].name
def codeItem = lightItems[0].code -
api.structure.getStructure(lightStructure)
Получение подробной информации о структуре.
Параметр метода:
- lightStructure — облегченная структура, содержит только код и название. ISDtObject
Возвращает подробную информацию о структуре: код, название, описание структуры и перечисление элементов структуры. Для каждого элемента структуры указывается его код структуры, код элемента и название.
Пример: Получить полную информацию о структуре, содержит code, name, description, items
def struct = api.structure.getStructure(structLight)
-
api.structure.getStructureItem(structureCode, elementCode)
Получение подробной информации об элементе структуры.
Параметры метода:
- structureCode — код структуры. String
- elementCode — код элемента структуры. String
Возвращает информацию об элементе структуры:
- код элемента структуры;
- название элемента структуры;
- код структуры и код элемента родительского элемента;
- классы (как объектов api.metainfo.metaClass), которые указаны в параметре "Объекты";
- атрибут (как объект api.metainfo.getAttribute), который указан в параметре "Атрибут связи";
- группа атрибутов (как объект api.metainfo.getAttributeGroup), которая указана в параметре "Группа атрибутов";
- значение логического признака "Показывать объекты, вложенные во вложенные".
Пример: Получить полную информацию об элементе структуры, содержит: code, metaClasses, attributeGroup, name, parentStructureCode, attribute, parentItemCode
Copydef structItem = api.structure.getStructureItem(structureCode, lightItems[0].code)
codeItem = structItem.code
def firstMetaclassCode = structItem.metaClasses[0].code
def attrGroupCode = structItem.attributeGroup.code
def attrFqn = structItem.attribute.fqn
def parentItemCode = structItem.parentItemCode -
api.structure.getStructureItem(lightStructureElement)
Получение подробной информации об элементе структуры.
Параметр метода:
- lightStructureElement — облегченный элемент структуры, содержит только код и название. ISDtObject
Возвращает информацию об элементе структуры:
- код элемента структуры;
- название элемента структуры;
- код структуры и код элемента родительского элемента;
- классы (как объектов api.metainfo.metaClass), которые указаны в параметре "Объекты";
- атрибут (как объект api.metainfo.getAttribute), который указан в параметре "Атрибут связи";
- группа атрибутов (как объект api.metainfo.getAttributeGroup), которая указана в параметре "Группа атрибутов";
- значение логического признака "Показывать объекты, вложенные во вложенные".
Пример: Получить полную информацию об элементе структуры, содержит: code, metaClasses, attributeGroup, name, parentStructureCode, attribute, parentItemCode
def strItem = api.structure.getStructureItem(struct.items[0])
Методы получения данных по структуре
-
api.structure.getObjectParentsAndChildren(objectUuid, structureCode, limitParentAndChildren, itemCode)
Получение родителей и детей заданного объекта в указанной структуре иерархии.
Параметры метода:
- objectUuid — uuid объекта. String
- structureCode — код структуры. String
- limitParentAndChildren — ограничение на количество родительских и дочерних получаемых объектов (необязательный параметр). Integer
- itemCode — код элемента структуры (необязательный параметр). String
Возвращает список дочерних и список родительских uuid.
Пример:
def parent = api.structure.getObjectParentsAndChildren('ou$7107', 'OrgstrukturaSDvumyaRoditelyami',5).getParent()
def children = api.structure.getObjectParentsAndChildren('ou$7101', 'OrgstrukturaSDvumyaRoditelyami',5).getChildren()
-
api.structure.getObjectParentsAndChildren(objectUuid, structure, limitParentAndChildren, itemCode)
Получение родителей и детей заданного объекта в указанной структуре иерархии.
Параметры метода:
- objectUuid — uuid объекта. String
- structure — объект структура. ISDtObject
- limitParentAndChildren — ограничение на количество родительских и дочерних получаемых объектов (необязательный параметр). Integer
- itemCode — код элемента структуры (необязательный параметр). String
Возвращает список дочерних и список родительских uuid.
Пример 1:
structLight = api.structure.getAllStructures()[0]
def parent = api.structure.getObjectParentsAndChildren('ou$7107', structLight).getParent()
Пример 2:
def structLight = api.structure.getAllStructures()[0] def struct = api.structure.getStructure(structLight) def strItemLight = api.structure.getStructureItem(struct.items[0]) def parent = api.structure.getObjectParentsAndChildren('ou$7101', structLight, 5, strItemLight).getChildren()