---
title: "Атрибуты"
type: interface
api: [api7]
tags: [interface, api7, attribute]
sources:
  - attribute.html
  - iattrtypemng.html
  - iattribute.html
  - iattributetype.html
  - icolumninfo.html
---

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




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

Менеджер типов атрибутов.
Иерархия:
IKompasAPIObject
IAttrTypeMng
Примечание:
1. Интерфейс позволяет создавать, получать и просматривать типы атрибутов.
2. Интерфейс является дополнительным к интерфейсу приложения IApplication.


## ChoiceAttrTypes - Открыть диалог для просмотра в библиотеке атрибутов списка типов атрибутов и выбора нужного типа

Синтаксис Automation:
```
LPDISPATCH ChoiceAttrTypes( OLE_HANDLE HWnd,
VARIANT Libname );
```
Синтаксис COM:
```
HRESULT ChoiceAttrTypes( OLE_HANDLE HWnd,
VARIANT Libname,
IAttributeType ** Result );
Входные параметры:
HWnd    - дескриптор главного окна системы КОМПАС, который можно получить с помощью функции GetHWindow,
Libname    - имя библиотеки типов атрибутов.
Возвращаемое значение:
Указатель на интерфейс выбранного в диалоге типа атрибута IAttributeType.
```
Примечание:
Метод позволяет открыть диалог просмотра типов атрибутов в библиотеке.


## CreateAttrType - Создать тип атрибута в заданной библиотеке

Синтаксис Automation:
```
LPDISPATCH CreateAttrType( VARIANT Libname );
```
Синтаксис COM:
```
HRESULT CreateAttrType( VARIANT Libname,
IAttributeType ** Result );
Входные параметры:
Libname    - имя библиотеки типов атрибутов.
Возвращаемое значение:
- указатель на интерфейс типа атрибута IAttributeType.
```
Примечание:
Метод позволяет создать тип атрибута в библиотеке Libname.


## GetAttrType - Получить тип атрибута из заданной библиотеки

Синтаксис Automation:
```
LPDISPATCH GetAttrType( double AttrID,
VARIANT Libname );
```
Синтаксис COM:
```
HRESULT GetAttrType( double AttrID,
VARIANT Libname,
IAttributeType ** Result );
Входные параметры:
AttrID    - уникальный номер типа атрибута,
Libname    - имя библиотеки типов атрибутов.
Возвращаемое значение:
- указатель на интерфейс типа атрибута IAttributeType.
```
Примечание:
Метод позволяет получить тип атрибута из библиотеки Libname.


## GetAttrTypes - Возвращает массив типов атрибутов, находящихся в заданной библиотеке типов

Синтаксис Automation:
```
VARIANT GetAttrTypes( VARIANT Libname );
```
Синтаксис COM:
```
HRESULT GetAttrTypes( VARIANT Libname,
VARIANT * Result );
Входные параметры:
Libname    - имя библиотеки типов атрибутов.
Возвращаемое значение:
- массив SAFEARRAY типа VT_ARRAY    VT_DISPATCH указателей на интерфейсы типов атрибутов, находящихся в заданной библиотеке.
```
Примечание:
Метод позволяет получить массив типов атрибутов из заданной библиотеки. Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


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

Интерфейс атрибута.
Иерархия:
IKompasAPIObject
IAttribute
Примечание:
1. Интерфейс позволяет осуществлять работу с атрибутом.
2. Интерфейс можно получить с помощью метода IKompasDocument1::CreateAttr.


## AddRow - Добавить строку к табличному атрибуту неопределенной длины

Синтаксис Automation:
```
BOOL AddRow( BSTR Password,
long RowNumb );
```
Синтаксис COM:
```
HRESULT AddRow( BSTR Password,
long RowNumb,
BOOL * Result );
Входные параметры:
Password    - пароль,
RowNumb    - номер строки, после которой нужно вставить строку.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет добавить строку в таблицу атрибута.


## AttributeType - Получить тип атрибута

Тип данных: указатель на интерфейс типа атрибута IAttributeType.
Синтаксис Automation:
```
AttributeType = iObject.AttributeType ( Index );    Получить свойство (* )
AttributeType = iObject.GetAttributeType( Index );    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AttributeType( Index, &AttributeType )    Получить свойство
```
Примечание:
1. Свойство позволяет получить указатель на интерфейс типа атрибута.
2. Свойство доступно только для чтения.


## ColumnKey - Получить ключи колонок

Тип данных: VARIANT типа VT_ARRAY | VT_I4
Синтаксис Automation:
```
ColumnKey = Object.ColumnKey    Получить свойство (* )
ColumnKey = Object.GetColumnKey()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnKey( &ColumnKey )    Получить свойство
```
Примечание:
1. Свойство позволяет получать значения ключей колонок атрибута.
2. Для задания значений ключей колонок следует использовать метод IAttribute::SetColumnKey.
3. Свойство доступно только для чтения.


## ColumnsCount - Получить количество столбцов в таблице атрибута

Тип данных: long
Синтаксис Automation:
```
ColumnsCount = Object.ColumnsCount    Получить свойство (* )
ColumnsCount = Object.GetColumnsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnsCount( &ColumnsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество столбцов в таблице атрибута.
2. Свойство доступно только для чтения.


## Delete - Удалить атрибут

Синтаксис Automation:
```
BOOL Delete( BSTR Password,
VARIANT Objects );
```
Синтаксис COM:
```
HRESULT Delete( BSTR Password,
VARIANT Objects
BOOL * Result );
Входные параметры:
Password    - пароль,
Objects    - массив SAFEARRAY типа VT_ARRAY    VT_DISPATCH объектов, у которых надо удалить атрибут.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить атрибут у объектов.


## DeleteRow - Удалить строку табличного атрибута неопределенной длины

Синтаксис Automation:
```
BOOL DeleteRow( BSTR Password,
long RowNumb );
```
Синтаксис COM:
```
HRESULT DeleteRow( BSTR Password,
long RowNumb,
BOOL * Result );
Входные параметры:
Password    - пароль,
RowNumb    - номер удаляемой строки.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить строку из таблицы атрибута.


## FlagVisible - Получить значения видимости колонок в виде массива SAFEARRAY VT_ARRAY | VT_BOOL

Тип данных: VARIANT типа VT_ARRAY | VT_BOOL
Синтаксис Automation:
```
FlagVisible = Object.FlagVisible    Получить свойство (* )
FlagVisible = Object.GetFlagVisible()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_FlagVisible( &FlagVisible )    Получить свойство
```
Примечание:
1. Свойство позволяет получать значения видимости колонок атрибута.
2. Для задания значений видимости колонок следует использовать метод IAttribute::SetFlagVisible.
3. Свойство доступно только для чтения.


## GetKeysInfo - Выдать информацию о ключах атрибута

Синтаксис Automation:
```
BOOL GetKeysInfo( long* Key1,
long* Key2,
long* Key3,
long* Key4,
double* Numb );
```
Синтаксис COM:
```
HRESULT GetKeysInfo( long* Key1,
long* Key2,
long* Key3,
long* Key4,
double* Numb,
BOOL * Result );
Выходные параметры:
Key1, Key2, Key3, Key4    - ключи атрибута,
Numb    - уникальный номер атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить информацию о ключах атрибута.


## Objects - Объекты, прикрепленные к атрибуту в виде массива SAFEARRAY DISPATCH - VT_ARRAY | VT_DISPATCH

Тип данных:VARIANT типа VT_ARRAY | VT_DISPATCH
Синтаксис Automation:
```
Objects = Object.Objects    Получить свойство (* )
Object.Objects = Objects    Установить свойство (* )
Objects = Object.GetObjects()    Получить свойство (**)
Object.SetObjects( Objects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Objects( &Objects )    Получить свойство,
Object.put_Objects( Objects )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать массив объектов, прикрепленных к атрибуту.


## RecordFlagVisible - Получить значения видимости колонок внутри записи в виде массива SAFEARRAY VT_ARRAY | VT_BOOL

Тип данных: VARIANT типа VT_ARRAY | VT_BOOL
Синтаксис Automation:
```
RecordFlagVisible = Object.RecordFlagVisible( ColumnNumb )    Получить свойство (* )
RecordFlagVisible = Object.GetRecordFlagVisible( ColumnNumb )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnsCount( ColumnNumb, &ColumnsCount )    Получить свойство
Входные параметры:
ColumnNumb    - номер колонки записи.
```
Примечание:
1. Свойство позволяет получить значения видимости колонок внутри записи.
2. Установить значения видимости колонок записи можно с помощью метода IAttribute::SetRecordFlagVisible.
3. Свойство доступно только для чтения.


## RowsCount - Получить количество строк в таблице атрибута

Тип данных: long
Синтаксис Automation:
```
RowsCount = Object.RowsCount    Получить свойство (* )
RowsCount = Object.GetRowsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RowsCount( &RowsCount )    Получить свойство
```
Примечание:
1. Свойство позволяет получить количество строк в таблице атрибута.
2. Свойство доступно только для чтения.


## SetColumnKey - Установить ключи колонок

Синтаксис Automation:
```
BOOL SetColumnKey( BSTR Password,
VARIANT Keys );
```
Синтаксис COM:
```
HRESULT SetColumnKey( BSTR Password,
VARIANT Keys,
BOOL *Result );
Входные параметры:
Password    - пароль,
Keys    - массив SAFEARRAY типа VT_ARRAY    VT_I4 значений ключей колонок атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить ключи колонок атрибута.


## SetFlagVisible - Установить значения видимости колонок в виде массива SAFEARRAY VT_ARRAY | VT_BOOL

Синтаксис Automation:
```
BOOL SetFlagVisible( BSTR Password,
VARIANT Values );
```
Синтаксис COM:
```
HRESULT SetFlagVisible( BSTR Password,
VARIANT Values,
BOOL *Result );
Входные параметры:
Password    - пароль,
Values    - массив SAFEARRAY типа VT_ARRAY    VT_BOOL значений видимости колонок атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить значения видимости колонок атрибута.


## SetKeysInfo - Установить информацию о ключах атрибута

Синтаксис Automation:
```
BOOL SetKeysInfo( BSTR Password,
long Key1,
long Key2,
long Key3,
long Key4 );
```
Синтаксис COM:
```
HRESULT SetKeysInfo( BSTR Password,
long Key1,
long Key2,
long Key3,
long Key4,
BOOL * Result );
Входные параметры:
Password    - пароль,
Key1, Key2, Key3, Key4    - ключи атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет задать ключи атрибута.


## SetPassword - Установить новый пароль на изменение данных атрибута

Синтаксис Automation:
```
BOOL SetPassword( BSTR OldPassword,
BSTR NewPassword );
```
Синтаксис COM:
```
HRESULT SetPassword( BSTR OldPassword,
BSTR NewPassword,
BOOL * Result );
Входные параметры:
OldPassword    - старый пароль,
NewPassword    - новый пароль.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить новый пароль на изменение данных атрибута.


## SetRecordFlagVisible - Установить значения видимости колонок внутри записи в виде массива SAFEARRAY VT_ARRAY | VT_BOOL

Синтаксис Automation:
```
BOOL SetRecordFlagVisible( BSTR Password,
long ColumnNumb,
VARIANT Values );
```
Синтаксис COM:
```
HRESULT SetRecordFlagVisible( BSTR Password,
long ColumnNumb,
VARIANT Values,
BOOL * Result );
Входные параметры:
Password    - пароль,
ColumnNumb    - номер колонки записи,
Values    - массив SAFEARRAY типа VT_ARRAY    VT_BOOL значений видимости колонок записи.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить значения видимости колонок записи.


## SetValue - Установить значение ячейки

Синтаксис Automation:
```
BOOL SetValue( BSTR Password,
long RowNumb,
long ColumnNumb,
VARIANT Value );
```
Синтаксис COM:
```
HRESULT SetValue( BSTR Password,
long RowNumb,
long ColumnNumb,
VARIANT Value,
BOOL* Result );
Входные параметры:
Password    - пароль,
RowNumb    - номер строки атрибута,
ColumnNumb    - номер столбца атрибута,
Value    - значение ячейки атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить значение ячейки атрибута.


## SetValues - Установить значения всех ячеек таблицы атрибута

Синтаксис Automation:
```
BOOL SetValues( BSTR Password,
VARIANT Values );
```
Синтаксис COM:
```
HRESULT SetValues( BSTR Password,
VARIANT Values,
BOOL *Result );
Входные параметры:
Password    - пароль,
Values    - массив SAFEARRAY типа VT_ARRAY    VT_VARIANT значений ячеек атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить значения всех ячеек таблицы атрибута.


## Value - Значение ячейки из таблицы атрибута

Тип данных: VARIANT
Синтаксис Automation:
```
Value = Object.Value( RowNumb, ColumnNumb )    Получить свойство (* )
Value = Object.GetValue( RowNumb, ColumnNumb )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Value( RowNumb, ColumnNumb, &Value )    Получить свойство
Входные параметры:
RowNumb (long)    - номер строки атрибута,
ColumnNumb (long)    - номер столбца атрибута.
```
Примечание:
1. Свойство позволяет получать значение ячейки атрибута.
2. Для задания значения ячейки следует использовать метод IAttribute::SetValue.
3. Свойство доступно только для чтения.


## Values - Получить значения всех ячеек из таблицы атрибута

Тип данных: VARIANT типа VT_ARRAY | VT_VARIANT
Синтаксис Automation:
```
Values = Object.Values    Получить свойство (* )
Values = Object.GetValues()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Values( &Values )    Получить свойство
```
Примечание:
1. Свойство позволяет значения всех ячеек из таблицы атрибута.
2. Свойство доступно только для чтения.


## ViewEdit - Открыть диалог для просмотра и редактирования атрибута

Синтаксис Automation:
```
BOOL ViewEdit( OLE_HANDLE Parent,
BSTR Password,
BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT ViewEdit( OLE_HANDLE Parent,
BSTR Password,
BOOL ReadOnly,
BOOL *Result );
Выходные параметры:
Parent    - дескриптор главного окна системы КОМПАС, который можно получить с помощью функции GetHWindow,
Password    - пароль,
ReadOnly    - TRUE - открыть диалог для просмотра - FALSE - открыть диалог для редактирования.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет открыть диалог для просмотра и редактирования атрибута.


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

Интерфейс параметров типа атрибута.
Иерархия:
IKompasAPIObject
IAttributeType
Примечание:
1. Интерфейс позволяет задавать параметры типа атрибута.
2. Интерфейс можно получить следующими способами:
•у менеджера типа атрибутов с помощью методов IAttrTypeMng::CreateAttrType, IAttrTypeMng::GetAttrType, IAttrTypeMng::ChoiceAttrTypes,
•у атрибута с помощью свойства IAttribute::AttributeType.


## AddColumn - Добавить колонку

Синтаксис Automation:
```
LPDISPATCH AddColumn( long Index,
long Type,
BSTR Name );
```
Синтаксис COM:
```
HRESULT AddColumn( long Index,
ksValueTypeEnum Type,
BSTR Name,
IColumnInfo** Result );
Входные параметры:
Index    - индекс колонки, после которой нужно добавить колонку,
Type    - тип значений колонки,
Name    - название колонки.
Возвращаемое значение:
Указатель на интерфейс IColumnInfo.
```
Примечание:
Метод позволяет добавить колонку к типу атрибута.


## AttrType - Тип данных

Тип данных: из перечисления ksAttributeTypeEnum
Синтаксис Automation:
```
AttrType = Object.AttrType    Получить свойство (* )
Object.AttrType = AttrType    Установить свойство (* )
AttrType = Object.GetAttrType()    Получить свойство (**)
Object.SetAttrType( AttrType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AttrType( &AttrType )    Получить свойство,
Object.put_AttrType( AttrType )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать тип данных для типа атрибута.


## ColumnInfo - Получить информацию о столбце атрибута

Тип данных: указатель на интерфейс параметров столбца атрибута IColumnInfo
Синтаксис Automation:
```
ColumnInfo = Object.ColumnInfo ( Index )    Получить свойство (* )
ColumnInfo = Object.GetColumnInfo( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ColumnInfo( Index, &ColumnInfo )    Получить свойство
Входные параметры:
Index (VARIANT)    - индекс столбца.
```
Примечание:
1. Свойство позволяет получать интерфейс параметров столбца атрибута.
2. Свойство доступно только для чтения.


## ColumnsCount - Получить количество колонок табличного атрибута

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


## Delete - Удалить объект

Синтаксис Automation:
```
BOOL Delete (BSTR Password);
```
Синтаксис COM:
```
HRESULT Delete( BSTR Password,
BOOL * Result );
Входные параметры:
Password    - пароль.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет удалить тип атрибута.


## FileName - Имя библиотеки типов атрибутов

Тип данных: BSTR
Синтаксис Automation:
```
FileName = Object.FileName    Получить свойство (* )
FileName = Object.GetFileName()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_FileName( &FileName )    Получить свойство,
Object.put_RowsCount( RowsCount )    Установить свойство.
```
Примечание:
1. Свойство позволяет получить имя библиотеки типов атрибутов.
2. Свойство доступно только для чтения.


## GetKeysInfo - Получить информацию о ключах атрибута

Синтаксис Automation:
```
BOOL GetKeysInfo( long* Key1,
long* Key2,
long* Key3,
long* Key4);
```
Синтаксис COM:
```
HRESULT GetKeysInfo( long* Key1,
long* Key2,
long* Key3,
long* Key4,
BOOL* Result );
Выходные параметры:
Key1, Key2, Key3, Key4    - ключи атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет получить информацию о ключах атрибута.


## RowsCount - Количество строк в таблице

Тип данных: long
Синтаксис Automation:
```
RowsCount = Object.RowsCount    Получить свойство (* )
Object.RowsCount = RowsCount    Установить свойство (* )
RowsCount = Object.GetRowsCount()    Получить свойство (**)
Object.SetRowsCount( RowsCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_RowsCount( &RowsCount )    Получить свойство,
Object.put_RowsCount( RowsCount )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать количество строк в таблице.


## SetKeysInfo - Установить информацию о ключах атрибута

Синтаксис Automation:
```
BOOL SetKeysInfo( long Key1,
long Key2,
long Key3,
long Key4 );
```
Синтаксис COM:
```
HRESULT SetKeysInfo( long Key1,
long Key2,
long Key3,
long Key4,
BOOL * Result );
Входные параметры:
Key1, Key2, Key3, Key4    - ключи атрибута.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить информацию о ключах атрибута.


## SetPassword - Установить новый пароль на изменение данных атрибута

Синтаксис Automation:
```
BOOL SetPassword( BSTR OldPassword,
BSTR NewPassword );
```
Синтаксис COM:
```
HRESULT SetPassword( BSTR OldPassword,
BSTR NewPassword,
BOOL * Result );
Входные параметры:
OldPassword    - старый пароль,
NewPassword    - новый пароль.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет установить новый пароль на изменение данных атрибута.


## TypeName - Название типа атрибута

Тип данных: BSTR
Синтаксис Automation:
```
TypeName = Object.TypeName    Получить свойство (* )
Object.TypeName = TypeName    Установить свойство (* )
TypeName = Object.GetTypeName()    Получить свойство (**)
Object.SetTypeName( TypeName )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TypeName( &TypeName )    Получить свойство,
Object.put_TypeName( TypeName )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать название типа атрибута.


## UniqueNumb - Уникальный номер типа

Тип данных: double.
Синтаксис Automation:
```
UniqueNumb = Object.UniqueNumb    Получить свойство (* )
UniqueNumb = Object.GetUniqueNumb()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_UniqueNumb( &UniqueNumb )    Получить свойство
```
Примечание:
1. Свойство позволяет получать уникальный номер типа атрибута.
2. Свойство доступно только для чтения.


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

Синтаксис Automation:
```
BOOL Update( BSTR Password );
```
Синтаксис COM:
```
HRESULT Update( BSTR Password,
BOOL * Result );
Входные параметры:
Password    - пароль.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет обновить данные в типе атрибута.


## ViewEdit - Открыть диалог для просмотра и редактирования типа атрибута

Синтаксис Automation:
```
BOOL ViewEdit( OLE_HANDLE Parent,
BSTR Password,
BOOL ReadOnly );
```
Синтаксис COM:
```
HRESULT ViewEdit( OLE_HANDLE Parent,
BSTR Password,
BOOL ReadOnly,
BOOL *Result );
Выходные параметры:
Parent    - дескриптор главного окна системы КОМПАС, который можно получить с помощью функции GetHWindow,
Password    - пароль,
ReadOnly    - TRUE - открыть диалог для просмотра, - FALSE - открыть диалог для редактирования.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет открыть диалог для просмотра и редактирования типа атрибута.


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

Интерфейс параметров столбца табличного атрибута.
Иерархия:
IKompasAPIObject
IColumnInfo
Примечание:
1. Интерфейс позволяет задавать параметры столбца табличного атрибута.
2. Интерфейс можно получить следующими способами:
•у интерфейса типа атрибута с помощью свойства IAttributeType::ColumnInfo и метода IAttributeType::AddColumn.
•для столбца записи - с помощью свойства IColumnInfo::RecordColumnInfo и метода IColumnInfo::AddRecordColumn.


## AddRecordColumn - Добавить колонку

Синтаксис Automation:
```
LPDISPATCH AddRecordColumn( long Index,
long Type,
BSTR Name );
```
Синтаксис COM:
```
HRESULT AddRecordColumn( long Index,
ksValueTypeEnum Type,
BSTR Name,
IColumnInfo** Result );
Входные параметры:
Index    - индекс колонки, после которой нужно добавить колонку,
Type    - тип значений колонки,
Name    - название колонки.
Возвращаемое значение:
указатель на интерфейс IColumnInfo.
```
Примечание:
Метод позволяет добавить колонку к записи.


## Caption - Заголовок столбца

Тип данных: BSTR
Синтаксис Automation:
```
Caption = Object.Caption    Получить свойство (* )
Object.Caption = Caption    Установить свойство (* )
Caption = Object.GetCaption()    Получить свойство (**)
Object.SetCaption( Caption )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Caption( &Caption )    Получить свойство,
Object.put_Caption( Caption )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать заголовок столбца атрибута.


## ColType - Тип данных столбца

Тип данных: из перечисления ksValueTypeEnum
Синтаксис Automation:
```
ColType = Object.ColType    Получить свойство (* )
Object.ColType = ColType    Установить свойство (* )
ColType = Object.GetColType()    Получить свойство (**)
Object.SetColType( ColType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ColType( &ColType )    Получить свойство,
Object.put_ColType( ColType )    Установить свойство.
```
Примечание:
1. Свойство позволяет устанавливать и получать тип данных столбца атрибута.
2. При выборе типа ksValueTypeString длина строки задается свойством IColumnInfo::Range (1…4000).


## DefValue - Значение по умолчанию

Тип данных: VARIANT
Синтаксис Automation:
```
DefValue = Object.DefValue    Получить свойство (* )
Object.DefValue = DefValue    Установить свойство (* )
DefValue = Object.GetDefValue()    Получить свойство (**)
Object.SetDefValue( DefValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_DefValue( &DefValue )    Получить свойство,
Object.put_DefValue( DefValue )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать умолчательное значение колонки атрибута.


## Delete - Удалить объект

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


## Key - Ключ колонки

Тип данных:long.
Синтаксис Automation:
```
Key = Object.Key    Получить свойство (* )
Object.Key = Key    Установить свойство (* )
Key = Object.GetKey()    Получить свойство (**)
Object.SetKey( Key )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Key( &Key )    Получить свойство,
Object.put_Key( Key )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать ключ столбца атрибута.


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

Тип данных: BOOL
Синтаксис Automation:
```
ListValue = Object.ListValue    Получить свойство (* )
Object.ListValue = ListValue    Установить свойство (* )
ListValue = Object.GetListValue()    Получить свойство (**)
Object.SetListValue( ListValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ListValue( &ListValue )    Получить свойство,
Object.put_ListValue( ListValue )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать признак использования списка значений.


## Range - Диапазон значений

Тип данных: VARIANT
Синтаксис Automation:
```
Range = Object.Range    Получить свойство (* )
Object.Range = Range    Установить свойство (* )
Range = Object.GetRange()    Получить свойство (**)
Object.SetRange( Range )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Range( &Range )    Получить свойство,
Object.put_Range( Range )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать диапазон значений столбца атрибута.


## RecordColumnInfo - Получить информацию о столбце атрибута

Тип данных: указатель на интерфейс IColumnInfo
Синтаксис Automation:
```
RecordColumnInfo = Object.RecordColumnInfo    Получить свойство (* )
RecordColumnInfo = Object.GetRecordColumnInfo()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_RecordColumnInfo( &RecordColumnInfo )    Получить свойство
```
Примечание:
1. Свойство позволяет получать информацию о столбце записи.
2. Свойство доступно только для чтения.


## RecordColumnsCount - Получить количество столбцов записи

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


## SortListValue - Учитывать порядок размещения значений при сортировке

Тип данных: BOOL
Синтаксис Automation:
```
SortListValue = Object.SortListValue    Получить свойство (* )
Object.SortListValue = SortListValue    Установить свойство (* )
SortListValue = Object.GetSortListValue()    Получить свойство (**)
Object.SetSortListValue( SortListValue )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_SortListValue( &SortListValue )    Получить свойство,
Object.put_SortListValue( SortListValue )    Установить свойство.
```
Примечание:
Свойство позволяет устанавливать и получать признак учета порядка значений при сортировке.
