---
title: "Интерфейс IProductDataManager"
type: interface
api: [api7]
tags: [interface, api7, iproductdatamanager]
sources:
  - iproductdatamanager.html
---

*API интерфейсов. Версия 7 > Дерево СЧИ *


## Интерфейс IProductDataManager

Менеджер Дерева СЧИ.
Иерархия:
IDispatch
IProductDataManager
Интерфейс является дополнительным к интерфейсу IKompasDocument. Данный интерфейс можно получить посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif).
КОМПАС версия v18


## AddProductObject - Добавить объект дерева СЧИ по идентификатору

Синтаксис Automation:
```
LPDISPATCH AddProductObject( IPropertyKeeper * Parent, BSTR Name, ksProductObjectTypeEnum ObjectType );
```
Синтаксис COM:
```
HRESULT AddProductObject( IPropertyKeeper * Parent, BSTR Name, ksProductObjectTypeEnum ObjectType, IPropertyKeeper * * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
Parent    - владелец информационного объекта,
Name    - имя объекта,
ObjectType    - тип объекта.
```
Примечание:
В зависимости от типа информационного объекта выбирается владелец объекта. Например, для вставок моделей и тел владелец - исполнение.


## AddReferenceData - Добавить справочные данные

Синтаксис Automation:
```
BSTR AddReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataInfo );
```
Синтаксис COM:
```
HRESULT AddReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataInfo, BSTR * Result );
Возвращаемое значение:
- идентификатор справочных данных.
Входные параметры:
ReferenceDataType    - тип справочных данных,
ReferenceDataInfo    - заголовок справочных данных.
```


## ChildObjects - Список подчиненных объектов в исполнении

Тип данных: VARIANT
Синтаксис Automation:
```
ChildObjects = Object.ChildObjects( EmbodimentObject )    Получить свойство (* )
ChildObjects = Object.GetChildObjects( EmbodimentObject )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ChildObjects( EmbodimentObject, &ChildObjects )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
КOMPAS v24


## DeleteProductObject - Удалить объект из дерева СЧИ по идентификатору

Синтаксис Automation:
```
BOOL DeleteProductObject( BSTR UniqueMetaObjectKey );
```
Синтаксис COM:
```
HRESULT DeleteProductObject( BSTR UniqueMetaObjectKey, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
UniqueMetaObjectKey    - идентификатор объекта СЧИ.
```


## DeleteReferenceData - Удалить справочные данные

Синтаксис Automation:
```
BOOL DeleteReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataId );
```
Синтаксис COM:
```
HRESULT DeleteReferenceData( BSTR ReferenceDataType, BSTR ReferenceDataId, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения.
Входные параметры:
ReferenceDataType    - тип справочных данных,
ReferenceDataId    - идентификатор справочных данных.
```


## FindProductObjectByGeometry - Найти объект дерева СЧИ по геометрии

Синтаксис Automation:
```
LPDISPATCH FindProductObjectByGeometry( IKompasAPIObject * Geometry );
```
Синтаксис COM:
```
HRESULT FindProductObjectByGeometry( IKompasAPIObject * Geometry, IPropertyKeeper * * Result );
Возвращаемое значение:
- Указатель на интерфейс IPropertyKeeper.
Входные параметры:
Geometry    - указатель на объект.
Версия КОМПАС v22
```


## Geometry - Геометрия, подключенная к информационному объекту

Тип данных: VARIANT
Синтаксис Automation:
```
Geometry = Object.Geometry( PropObject )    Получить свойство (* )
Object.Geometry( PropObject ) = Geometry    Установить свойство (* )
Geometry = Object.GetGeometry( PropObject )    Получить свойство (**)
Object.SetGeometry( PropObject, Geometry )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Geometry( PropObject, &Geometry )    Получить свойство
Object.put_Geometry( PropObject, Geometry )    Установить свойство
Входные параметры:
IPropertyKeeper * PropObject    - указатель на объект СЧИ.
```
Примечание:
Свойство возвращает переменную типа VARIANT на безопасный массив SAFEARRAY (VT_ARRAY | VT_DISPATCH).


## GetObjectLinkPropertyValue - Получить значение свойства в исполнении

Синтаксис Automation:
```
BOOL GetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource );
```
Синтаксис COM:
```
HRESULT GetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper,
EmbodimentObject    - указатель на объект исполнения в СЧИ IPropertyKeeper,
PropertyPath    - строковый идентификатор свойства.
Выходные параметры:
Value    - значение свойства,
FromSource    - значение было получено из источника.
Версия КОМПАС v23
```


## GetObjectPropertyValue - Получить значение свойства по строковому идентификатору в метаданных

Синтаксис Automation:
```
BOOL GetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource );
```
Синтаксис COM:
```
HRESULT GetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT * Value, BOOL * FromSource, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper,
PropertyPath    - строковый идентификатор свойства.
Выходные параметры:
Value    - значение свойства,
FromSource    - значение было получено из источника.
Версия КОМПАС v23
```


## MetaProductInfo - Метаданные дерева СЧИ

Тип данных: BSTR
Синтаксис Automation:
```
MetaProductInfo = Object.MetaProductInfo    Получить свойство (* )
Object.MetaProductInfo = MetaProductInfo    Установить свойство (* )
MetaProductInfo = Object.GetMetaProductInfo()    Получить свойство (**)
Object.SetMetaProductInfo( MetaProductInfo )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MetaProductInfo( &MetaProductInfo )    Получить свойство
Object.put_MetaProductInfo( MetaProductInfo )    Установить свойство
```


## ObjectAttachedDocuments - Список подключенных к объекту документов

Тип данных: VARIANT
Синтаксис Automation:
```
ObjectAttachedDocuments = Object.ObjectAttachedDocuments( PropObject )    Получить свойство (* )
Object.ObjectAttachedDocuments( PropObject ) = ObjectAttachedDocuments    Установить свойство (* )
ObjectAttachedDocuments = Object.GetObjectAttachedDocuments( PropObject )    Получить свойство (**)
Object.SetObjectAttachedDocuments( PropObject, ObjectAttachedDocuments )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectAttachedDocuments( PropObject, &ObjectAttachedDocuments )    Получить свойство
Object.put_ObjectAttachedDocuments( PropObject, ObjectAttachedDocuments )    Установить свойство
Входные параметры:
IPropertyKeeper * PropObject    - указатель на объект СЧИ.
```
Примечание:
Свойство возвращает переменную типа VARIANT на безопасный массив имен файлов, связанных с объектом СЧИ SAFEARRAY (VT_ARRAY | VT_BSTR).


## ObjectAttribute - Значение атрибута объекта дерева СЧИ

Тип данных: VARIANT
Синтаксис Automation:
```
ObjectAttribute = Object.ObjectAttribute( PropObject, PropertyPath, Attribute )    Получить свойство (* )
ObjectAttribute = Object.GetObjectAttribute( PropObject, PropertyPath, Attribute )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectAttribute( PropObject, PropertyPath, Attribute, &ObjectAttribute )    Получить свойство
Возвращаемое значение:
- Значение атрибута.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper
PropertyPath    - cтроковый идентификатор свойства,
Attribute    - cтроковый идентификатор атрибута.
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## ObjectEmbodiments - Список исполнений, в которые входит объект

Тип данных: VARIANT
Синтаксис Automation:
```
ObjectEmbodiments = Object.ObjectEmbodiments( PropObject )    Получить свойство (* )
ObjectEmbodiments = Object.GetObjectEmbodiments( PropObject )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectEmbodiments( PropObject, &ObjectEmbodiments )    Получить свойство
Возвращаемое значение:
- Массив VT_ARRAY    VT_BSTR идентификаторов объектов исполнений в СЧИ.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper.
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## ObjectLinkAttribute - Значение атрибута объекта дерева СЧИ в заданном исполнении

Тип данных: VARIANT
Синтаксис Automation:
```
ObjectLinkAttribute = Object.ObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute )    Получить свойство (* )
ObjectLinkAttribute = Object.GetObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectLinkAttribute( PropObject, EmbodimentObject, PropertyPath, Attribute, &ObjectLinkAttribute )    Получить свойство
Возвращаемое значение:
- Значение атрибута.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper,
EmbodimentObject    - указатель на объект исполнения в СЧИ IPropertyKeeper,
PropertyPath    - cтроковый идентификатор свойства,
Attribute    - cтроковый идентификатор атрибута.
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## ObjectMetaProductInfo - Метаданные объекта дерева СЧИ

Тип данных: BSTR
Синтаксис Automation:
```
ObjectMetaProductInfo = Object.ObjectMetaProductInfo( PropObject )    Получить свойство (* )
Object.ObjectMetaProductInfo( PropObject ) = ObjectMetaProductInfo    Установить свойство (* )
ObjectMetaProductInfo = Object.GetObjectMetaProductInfo( PropObject )    Получить свойство (**)
Object.SetObjectMetaProductInfo( PropObject, ObjectMetaProductInfo )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectMetaProductInfo( PropObject, &ObjectMetaProductInfo )    Получить свойство
Object.put_ObjectMetaProductInfo( PropObject, ObjectMetaProductInfo )    Установить свойство
Входные параметры:
IPropertyKeeper * PropObject    - указатель на объект СЧИ.
```


## ObjectSpcUsed - Признаки использования в спецификации

Тип данных: BOOL
Синтаксис Automation:
```
ObjectSpcUsed = Object.ObjectSpcUsed( PropObject, SpcUsed )    Получить свойство (* )
Object.ObjectSpcUsed( PropObject, SpcUsed ) = ObjectSpcUsed    Установить свойство (* )
ObjectSpcUsed = Object.GetObjectSpcUsed( PropObject, SpcUsed )    Получить свойство (**)
Object.SetObjectSpcUsed( PropObject, SpcUsed, ObjectSpcUsed )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ObjectSpcUsed( PropObject, SpcUsed, &ObjectSpcUsed )    Получить свойство
Object.put_ObjectSpcUsed( PropObject, SpcUsed, ObjectSpcUsed )    Установить свойство
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper
SpcUsed    - признаки использования в спецификации из перечисления ksSpcUsedTypeEnum.
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## ProductObject - Получить объект дерева СЧИ по идентификатору

Тип данных: Указатель на интерфейс IPropertyKeeper
Синтаксис Automation:
```
ProductObject = Object.ProductObject( UniqueMetaObjectKey )    Получить свойство (* )
ProductObject = Object.GetProductObject( UniqueMetaObjectKey )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ProductObject( UniqueMetaObjectKey, &ProductObject )    Получить свойство
Входные параметры:
BSTR UniqueMetaObjectKey    - уникальный идентификатор объекта.
```
Примечание:
Свойство доступно только для чтения.


## ProductObjects - Получить массив объектов дерева СЧИ

Тип данных: VARIANT
Синтаксис Automation:
```
ProductObjects = Object.ProductObjects( Filter )    Получить свойство (* )
ProductObjects = Object.GetProductObjects( Filter )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ProductObjects( Filter, &ProductObjects )    Получить свойство
Входные параметры:
long Filter    - фильтр по типам объектов.
```
Примечание:
Свойство доступно только для чтения.
Фильтр формируется из комбинации нужных типов объектов из перечисления ksProductObjectTypeEnum.


## ReferenceData - Справочные данные свойств

Тип данных: BSTR
Синтаксис Automation:
```
ReferenceData = Object.ReferenceData    Получить свойство (* )
Object.ReferenceData = ReferenceData    Установить свойство (* )
ReferenceData = Object.GetReferenceData()    Получить свойство (**)
Object.SetReferenceData( ReferenceData )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReferenceData( &ReferenceData )    Получить свойство
Object.put_ReferenceData( ReferenceData )    Установить свойство
```


## ReferenceDataIds - Идентификаторы справочных данных

Тип данных: VARIANT
Синтаксис Automation:
```
ReferenceDataIds = Object.ReferenceDataIds( ReferenceDataType )    Получить свойство (* )
ReferenceDataIds = Object.GetReferenceDataIds( ReferenceDataType )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ReferenceDataIds( ReferenceDataType, &ReferenceDataIds )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Свойство возвращает переменную типа VARIANT на безопасный массив идентификаторов справочных данных SAFEARRAY (VT_ARRAY | VT_BSTR).


## ReferenceDataInfo - Справочные данные свойства

Тип данных: BSTR
Синтаксис Automation:
```
ReferenceDataInfo = Object.ReferenceDataInfo( ReferenceDataType, ReferenceDataId )    Получить свойство (* )
Object.ReferenceDataInfo( ReferenceDataType, ReferenceDataId ) = ReferenceDataInfo    Установить свойство (* )
ReferenceDataInfo = Object.GetReferenceDataInfo( ReferenceDataType, ReferenceDataId )    Получить свойство (**)
Object.SetReferenceDataInfo( ReferenceDataType, ReferenceDataId, ReferenceDataInfo )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReferenceDataInfo( ReferenceDataType, ReferenceDataId, &ReferenceDataInfo )    Получить свойство
Object.put_ReferenceDataInfo( ReferenceDataType, ReferenceDataId, ReferenceDataInfo )    Установить свойство
Входные параметры:
BSTR ReferenceDataType    - тип справочных данных,
BSTR ReferenceDataId    - идентификатор справочных данных.
```


## SetObjectLinkPropertyValue - Установить значение свойства в исполнении

Синтаксис Automation:
```
BOOL SetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT Value );
```
Синтаксис COM:
```
HRESULT SetObjectLinkPropertyValue( IPropertyKeeper * PropObject, IPropertyKeeper * EmbodimentObject, BSTR PropertyPath, VARIANT Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper,
EmbodimentObject    - указатель на объект исполнения в СЧИ IPropertyKeeper,
PropertyPath    - строковый идентификатор свойства,
Value    - значение свойства.
Версия КОМПАС v23
```


## SetObjectPropertyValue - Установить значение свойства по строковому идентификатору в метаданных

Синтаксис Automation:
```
BOOL SetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT Value );
```
Синтаксис COM:
```
HRESULT SetObjectPropertyValue( IPropertyKeeper * PropObject, BSTR PropertyPath, VARIANT Value, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
PropObject    - указатель на объект СЧИ IPropertyKeeper,
PropertyPath    - строковый идентификатор свойства,
Value    - значение свойства.
Версия КОМПАС v23
```
