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

    Copy
    def 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

    Copy
    def 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()