--- title: "Интерфейс IPropertyKeeper" type: interface api: [api7] tags: [interface, api7, ipropertykeeper] sources: - ipropertykeeper.html --- *API интерфейсов. Версия 7 > Документ  > Свойства * ## Интерфейс IPropertyKeeper Интерфейс получения/редактирования значения свойств Иерархия: IDispatch IPropertyKeeper Описание: Позволяет получать и редактировать значения свойств объектов. Примечание: Дополнительный интерфейс. Данный интерфейс можно получить у IPart7, IBody7, IEmbodiment, IMacroObject, IInsertionObject или IKompasDocument2D посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif). •IPropertyKeeper - свойства •IPropertyKeeper - методы ## GetComplexPropertyValue - Получить значение составного свойства Синтаксис Automation: ``` BSTR GetComplexPropertyValue( IProperty * Property, BOOL * FromSource ); ``` Синтаксис COM: ``` HRESULT GetComplexPropertyValue( IProperty * Property, BOOL * FromSource, BSTR * Result ); Возвращаемое значение: TRUE - в случае успешного завершения. Входные параметры: Property - интерфейс свойства. Выходные параметры: FromSource - признак получения значения свойства из источника. ``` ## GetPropertyAdditionalStorage - Получить дополнительные данные, связанные со свойством Синтаксис Automation: ``` LPDISPATCH GetPropertyAdditionalStorage( IProperty * Property, BOOL Create, BOOL * FromSource ); ``` Синтаксис COM: ``` HRESULT GetPropertyAdditionalStorage( IProperty * Property, BOOL Create, BOOL * FromSource, IUserDataStorage ** Result ); Возвращаемое значение: указатель на интерфейс пользовательского хранилища с дополнительными данными для свойства. Входные параметры: Property - указатель на интерфейс свойства, Create - создавать хранилище, если оно отсутствует. Выходные параметры: FromSource - хранилище было получено из источника. ``` Примечание: При первом изменении значения свойства дополнительные данные очищаются автоматически. ## GetPropertyValue - Получить значение свойства Синтаксис Automation: ``` BOOL GetPropertyValue( LPDISPATCH Property, VARIANT * Value, BOOL BaseUnit, BOOL * FromSource ); ``` Синтаксис COM: ``` HRESULT GetPropertyValue(IProperty* Property, VARIANT * Value, BOOL BaseUnit, BOOL * FromSource, BOOL * Result ); Входные параметры: Property - интерфейс свойства, BaseUnit - TRUE - значение в базовых единицах измерения (СИ), - FALSE - в настроенных единицах измерения, Выходные параметры: FromSource - хранилище было получено из источника, Value - значение свойства. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## GetUserDataStoragesManager - Менеджер для работы с пользовательским хранилищем данных Синтаксис Automation: ``` LPDISPATCH GetUserDataStoragesManager( BOOL FromSource ); ``` Синтаксис COM: ``` HRESULT GetUserDataStoragesManager( BOOL FromSource, IUserDataStoragesMng** PVal); Входные параметры: FromSource - TRUE вернуть менеджер из файла источника объекта, - FALSE - вернуть менеджер из файла владельца объекта. Возвращаемое значение: - Указатель на интерфейс менеджера пользовательских данных IUserDataStoragesMng, ``` ## InsertHypertextReference - Добавить ссылку в свойство Синтаксис Automation: ``` BOOL InsertHypertextReference( IProperty * Property, IKompasAPIObject * Object, ksHypertextTypeEnum Type, BOOL Brackets, long TextLineIndex, long Precision, double PropertyId; ``` Синтаксис COM: ``` HRESULT InsertHypertextReference( IProperty * Property, IKompasAPIObject * Object, ksHypertextTypeEnum Type, BOOL Brackets, long TextLineIndex, long Precision, double PropertyId, BOOL * Result ); Входные параметры: Property - свойство, в которое добавляется ссылка, Object - объект, на свойство или текст которого ссылаемся, Type - тип ссылки, Brackets - добавлять скобки, TextLineIndex - индекс строки в тексте объекта, Precision - количество знаков после запятой, PropertyId - идентификатор свойства, на которое ссылаемся. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## IsComplexPropertyValue - Признак комплексного значения свойства Синтаксис Automation: ``` BOOL IsComplexPropertyValue( IProperty * Property ); ``` Синтаксис COM: ``` HRESULT IsComplexPropertyValue( IProperty * Property, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения. Входные параметры: Property - интерфейс свойства. ``` ## Properties - Метаданные объекта Тип данных: BSTR Синтаксис Automation: ``` Properties = Object.Properties Получить свойство (* ) Object.Properties = Properties Установить свойство (* ) Properties = Object.GetProperties() Получить свойство (**) Object.SetProperties( Properties ) Установить свойство (**) ``` Синтаксис COM: ``` Object.get_Properties( &Properties ) Получить свойство Object.put_Properties( Properties ) Установить свойство ``` ## SetComplexPropertyValue - Установить значение составного свойства Синтаксис Automation: ``` BOOL SetComplexPropertyValue( IProperty * Property, BSTR Value ); ``` Синтаксис COM: ``` HRESULT SetComplexPropertyValue( IProperty * Property, BSTR Value, BOOL * Result ); Возвращаемое значение: TRUE - в случае успешного завершения. Входные параметры: Property - интерфейс свойства, Value - xml-строка с описанием структуры значения составного свойства. ``` ## SetPropertyValue - Установить значение свойства Синтаксис Automation: ``` BOOL SetPropertyValue( LPDISPATCH Property, VARIANT Value, BOOL BaseUnit ); ``` Синтаксис COM: ``` HRESULT SetPropertyValue(IProperty* Property, VARIANT Value, BOOL BaseUnit, BOOL * Result ); Входные параметры: Property - интерфейс свойства, Value - значение свойства, BaseUnit -TRUE - значение в базовых единицах измерения (СИ), - FALSE в настроенных единицах измерения. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ``` ## UniqueMetaObjectKey - Уникальный идентификатор объекта Тип данных: BSTR Синтаксис Automation: ``` UniqueMetaObjectKey = Object.UniqueMetaObjectKey Получить свойство(* ) UniqueMetaObjectKey = Object.GetUniqueMetaObjectKey() Получить свойство (**) ``` Синтаксис COM: ``` Object.get_UniqueMetaObjectKey( &UniqueMetaObjectKey ) Получить свойство ``` Примечание: Свойство доступно только для чтения.