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

*API интерфейсов. Версия 7 > Документ  > Свойства *


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

Интерфейс «свойства».
Иерархия
IKompasAPIObject
IProperty
Описание:
Позволяет задавать параметры свойства. Номера системных свойств...
Примечание:
1. Интерфейс можно получить у менеджера свойств IPropertyMng.
2. После задания параметров требуется вызвать метод IProperty::Update.


## Comment - Комментарий

Тип данных: BSTR
Синтаксис Automation:
```
Comment = Object.Comment    Получить свойство (* )
Object.Comment = Comment    Установить свойство (* )
Comment = Object.GetComment()    Получить свойство (**)
Object.SetComment( Comment )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Comment( &Comment )    Получить свойство
Object.put_Comment( Comment )    Установить свойство
Свойство позволяет задавать и получать комментарий к свойству.
```


## DataType - Тип свойства

Тип данных:ksPropertyTypeEnum
Синтаксис Automation:
```
DataType = Object.DataType    Получить свойство (* )
Object.DataType = DataType    Установить свойство (* )
DataType = Object.GetDataType()    Получить свойство (**)
Object.SetDataType( DataType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DataType( &DataType )    Получить свойство
Object.put_DataType( DataType )    Установить свойство
Свойство позволяет устанавливать и получать тип свойства.
```
Примечание:
Свойство можно установить только для вновь создаваемых свойств.


## Delete - Удалить свойство

Синтаксис Automation:
```
BOOL Delete();
```
Синтаксис COM:
```
HRESULT Delete( BOOL* PRes );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## Id - Уникальный номер свойства

Тип данных: double
Синтаксис Automation:
```
Id = Object.Id    Получить свойство (* )
Id = Object.GetId()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Id( &Id )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Свойство позволяет получить уникальный номер свойства. Номера системных свойств...


## IsAngular - Свойство задано в градусах

Тип данных: BOOL
Синтаксис Automation:
```
IsAngular = Object.IsAngular    Получить свойство (* )
IsAngular = Object.GetIsAngular()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsAngular( &IsAngular )    Получить свойство
```
Примечание:
Свойство только для чтения.


## IsVariable - Свойство связано с переменной

Тип данных: BOOL
Синтаксис Automation:
```
IsVariable = Object.IsVariable    Получить свойство (* )
IsVariable = Object.GetIsVariable()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsVariable( &IsVariable )    Получить свойство
```
Примечание:
Свойство только для чтения.


## ListVal - Список значений

Тип данных: VARIANT
Синтаксис Automation:
```
ListVal = Object.ListVal    Получить свойство (* )
Object.ListVal = ListVal    Установить свойство (* )
ListVal = Object.GetListVal()    Получить свойство (**)
Object.SetListVal( ListVal )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ListVal( &ListVal )    Получить свойство
Object.put_ListVal( ListVal )    Установить свойство
Свойство позволяет задать и получить список значений свойства.
```
Примечание:
Для свойства с типом данных ksPropertyDataTypeDouble значение должно иметь тип VT_ARRAY|VT_R8.
Для свойства с типом данных ksPropertyDataTypeLong значение должно иметь тип VT_ARRAY|VT_I4.
Для свойства с типом данных ksPropertyDataTypeString значение должно иметь тип VT_ARRAY|VT_BSTR.


## MaxValue - Максимальное значение

Тип данных: VARIANT
Синтаксис Automation:
```
MaxValue = Object.MaxValue    Получить свойство (* )
MaxValue = Object.GetMaxValue()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MaxValue( &MaxValue )    Получить свойство
Свойство позволяет получить максимальное значение свойства.
```
Примечание:
Для свойства с типом данных ksPropertyDataTypeDouble значение будет иметь тип VT_R8.
Для свойства с типом данных ksPropertyDataTypeLong значение будет иметь тип VT_I4.
Свойство только для чтения.


## MinValue - Минимальное значение

Тип данных: VARIANT
Синтаксис Automation:
```
MinValue = Object.MinValue    Получить свойство (* )
MinValue = Object.GetMinValue()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_MinValue( &MinValue )    Получить свойство
Свойство позволяет получить минимальное значение свойства.
```
Примечание:
Для свойства с типом данных ksPropertyDataTypeDouble значение будет иметь тип VT_R8.
Для свойства с типом данных ksPropertyDataTypeLong значение будет иметь тип VT_I4.
Свойство доступно только для чтения.


## Name - Имя свойства

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object.Name    Получить свойство (* )
Object.Name = Name    Установить свойство (* )
Name = Object.GetName()    Получить свойство (**)
Object.SetName( Name )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Name( &Name )    Получить свойство
Object.put_Name( Name )    Установить свойство
Свойство позволяет устанавливать и получать имя свойства.
```


## PropertyTypeId - Идентификатор сущности свойства

Тип данных: BSTR
Синтаксис Automation:
```
PropertyTypeId = Object.PropertyTypeId    Получить свойство (* )
Object.PropertyTypeId = PropertyTypeId    Установить свойство (* )
PropertyTypeId = Object.GetPropertyTypeId()    Получить свойство (**)
Object.SetPropertyTypeId( PropertyTypeId )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_PropertyTypeId( &PropertyTypeId )    Получить свойство
Object.put_PropertyTypeId( PropertyTypeId )    Установить свойство
Свойство позволяет устанавливать и получать идентификатор сущности свойства.
```


## ReadOnly - Доступность редактирования

Тип данных: BOOL
Синтаксис Automation:
```
ReadOnly = Object.ReadOnly    Получить свойство (* )
Object.ReadOnly = ReadOnly    Установить свойство (* )
ReadOnly = Object.GetReadOnly()    Получить свойство (**)
Object.SetReadOnly( ReadOnly )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ReadOnly( &ReadOnly )    Получить свойство
Object.put_ReadOnly( ReadOnly )    Установить свойство
Свойство позволяет включать и отключать доступность редактирования свойства.
```


## SetValueRange - Установить новые ограничения на значение

Синтаксис Automation:
```
BOOL SetValueRange( VARIANT MinVal, VARIANT MaxVal );
```
Синтаксис COM:
```
HRESULT SetValueRange( VARIANT MinVal, VARIANT MaxVal, BOOL * PVal);
Входные параметры:
MinVal    - минимальное значение,
MaxVal    - максимальное значение.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Для свойства с типом данных:
•ksPropertyDataTypeDouble значение должно иметь тип VT_R8,
•ksPropertyDataTypeLong значение должно иметь тип VT_I4,
•ksPropertyDataTypeString значение должно иметь тип VT_BSTR.


## SignificantDigitsCount - Количество значащих цифр после запятой

Тип данных:long
Синтаксис Automation:
```
SignificantDigitsCount = Object.SignificantDigitsCount    Получить свойство (* )
Object.SignificantDigitsCount = SignificantDigitsCount    Установить свойство (* )
SignificantDigitsCount = Object.GetSignificantDigitsCount()    Получить свойство (**)
Object.SetSignificantDigitsCount( SignificantDigitsCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SignificantDigitsCount( &SignificantDigitsCount )    Получить свойство
Object.put_SignificantDigitsCount( SignificantDigitsCount )    Установить свойство
Свойство позволяет устанавливать и получать количество значащих цифр после запятой.
```
Примечание:
Установить/получить свойство можно только для ksPropertyDataTypeDouble.


## SourceName - Имя источника свойства

Тип данных: BSTR
Синтаксис Automation:
```
SourceName = Object.SourceName    Получить свойство (* )
SourceName = Object.GetSourceName()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_SourceName( &SourceName )    Получить свойство
Свойство позволяет получить имя источника свойства.
```
Примечание:
Свойство только для чтения.


## UnitId - Идентификатор единицы измерения свойства

Тип данных: BSTR
Синтаксис Automation:
```
UnitId = Object.UnitId    Получить свойство (* )
Object.UnitId = UnitId    Установить свойство (* )
UnitId = Object.GetUnitId()    Получить свойство (**)
Object.SetUnitId( UnitId )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UnitId( &UnitId )    Получить свойство
Object.put_UnitId( UnitId )    Установить свойство
Свойство позволяет устанавливать и получать идентификатор единицы измерения свойства.
```


## Update - Обновить данные

Синтаксис Automation:
```
BOOL Update();
```
Синтаксис COM:
```
HRESULT Update( BOOL* PRes );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## UseListVal - Использовать список значений

Тип данных: BOOL
Синтаксис Automation:
```
UseListVal = Object.UseListVal    Получить свойство (* )
Object.UseListVal = UseListVal    Установить свойство (* )
UseListVal = Object.GetUseListVal()    Получить свойство (**)
Object.SetUseListVal( UseListVal )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_UseListVal( &UseListVal )    Получить свойство
Object.put_UseListVal( UseListVal )    Установить свойство
Свойство позволяет устанавливать и получать признак использования списка значений.
```


## ViewEdit - Выводится диалог для просмотра и редактирования свойства

Синтаксис Automation:
```
BOOL ViewEdit(OLE_HANDLE Parent, BOOL readOnly );
```
Синтаксис COM:
```
HRESULT ViewEdit( OLE_HANDLE Parent, BOOL ReadOnly, BOOL * Res );
```
Синтаксис Automation:
```
Parent    - дескриптор окна (может быть задан ноль - признак главного окна),
ReadOnly    - диалог только на чтение свойства.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
