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

*API интерфейсов. Версия 7 > Работа со спецификацией *


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

Интерфейс колонки объекта спецификации.
Иерархия:
IKompasAPIObject
ISpecificationColumn
Описание:
Колонка спецификации представляет ячейку строки объекта спецификации в таблице спецификации. Колонка содержит информацию определенного типа, который определяется типом колонки ColumnType.
Если в спецификации необходимо иметь несколько колонок с одинаковым типом, то они отличаются друг от друга номером колонки данного типа ColumnTypeNumber.
Различаются основные и дополнительные колонки объектов спецификации. Основные колонки отображаются в таблице спецификации и выводятся на печать. Дополнительные колонки содержат сведения, дополняющие информацию, включаемую в стандартный бланк. В таблице спецификации такие колонки не видны и на печать не выводятся. Примером информации в дополнительных колонках могут служить масса и стоимость объекта. В дополнительные колонки вводят и любую другую информацию об объекте (код ОКП, материал, текстовый комментарий и т.д.). Их количество и состав определяются потребностями пользователя и хранятся в стиле спецификации.
Примечание:
Данный интерфейс можно получить у коллекции колонок объекта спецификации ISpecificationColumns.


## AttributeNumber - Номер типа атрибута

Тип данных: double
Синтаксис Automation:
```
AttributeNumber = iObject.AttributeNumber    Получить свойство (* )
iObject.AttributeNumber = AttributeNumber    Установить свойство (* )
AttributeNumber = iObject.GetAttributeNumber()    Получить свойство (**)
iObject.SetAttributeNumber( AttributeNumber )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_AttributeNumber( &AttributeNumber )    Получить свойство
iObject->put_AttributeNumber( AttributeNumber )    Установить свойство
```
Примечание:
1. Используется только для колонки с типом значения ksValueTypeRecord ISpecificationColumn::ValueType.
Если требуется просто удалить тип атрибута, то в качестве значения этого свойства надо присвоить 0. В этом случае значение колонки с типом ksValueTypeRecord будет аналогично типу ksValueTypeString.
2. Изменение этого свойства вступит в силу после вызова метода ISpecificationObject::Update.


## BlockNumber - Номер блока

Тип данных: long
Синтаксис Automation:
```
BlockNumber = iObject.BlockNumber    Получить свойство (* )
BlockNumber = iObject.GetBlockNumber()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_BlockNumber( &BlockNumber )    Получить свойство
```
Примечание:
1. Определяет какому блоку исполнений соответствует данная колонка. Используется для базовых объектов групповых спецификаций.
2. Свойство доступно только для чтения.


## ColumnItems - Элементы колонки объекта спецификации

Тип данных: Указатель на интерфейс ISpecificationColumnItems коллекции элементов колонки объекта спецификации
Синтаксис Automation:
```
ColumnItems = iObject.ColumnItems    Получить свойство (* )
ColumnItems = iObject.GetColumnItems()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ColumnItems( &ColumnItems )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## ColumnName - Наименование колонки

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


## ColumnType - Тип колонки

Тип данных: из перечисления ksSpecificationColumnTypeEnum
Синтаксис Automation:
```
ColumnType = iObject.ColumnType    Получить свойство (* )
ColumnType = iObject.GetColumnType()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ColumnType( &ColumnType )    Получить свойство
```
Примечание:
1. Тип колонки определяет, какая именно информация будет храниться в этой колонке (независимо от ее названия). Тип колонки используется при автоматическом выполнении различных операций. Например:
•если тип колонки - ПОЗИЦИЯ (ksSColumnPosition), то именно в эту колонку будут заноситься номера позиций при их автоматическом перерасчете;
•если тип колонки - ЗОНА (ksSColumnZone), то именно в эту колонку будут попадать номера зон;
•если тип колонки - ФОРМАТ (ksSColumnFormat), то в нее будут переноситься обозначения форматов из штампов чертежей деталей.
При перерождении спецификации в спецификацию другого стиля (например, простой спецификации в групповую) колонки превращаются в колонки такого же типа (если он есть в стиле той спецификации, в которую перерождается исходная).
2. Свойство доступно только для чтения.


## ColumnTypeNumber - Номер колонки данного типа

Тип данных: long
Синтаксис Automation:
```
ColumnTypeNumber = iObject.ColumnTypeNumber    Получить свойство (* )
ColumnTypeNumber = iObject.GetColumnTypeNumber()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ColumnTypeNumber( &ColumnTypeNumber )    Получить свойство
```
Примечание:
1. Иногда однородная (но не одинаковая) информация должна храниться в нескольких колонках и по этой причине они имеют одинаковый тип. Например, несколько колонок групповой спецификации содержат информацию о количестве, но числа в них разные, т.к. они относятся к разным исполнениям. Чтобы отличать типы таких колонок, вместе с типом задается еще и номер, отличающий колонку этого типа от других колонок такого же типа. Если разные колонки имеют одинаковый тип, то номера колонок этого типа должны быть разными.
Обратите внимание, что во вкладке Колонки диалога настройки стиля спецификации в скобках рядом с типом колонки показан этот номер (например, КОЛИЧЕСТВО[2]). Если несколько колонок имеют одинаковый тип, то при автоматическом выполнении операций будет использоваться та из них, тип которой имеет номер 1. Например, в спецификации есть колонки с типом ЗОНА[1] и ЗОНА[2]; при автоматическом расчете номера зон будут заноситься в колонку с типом ЗОНА[1].
2. Свойство доступно только для чтения.


## CountUniteCells - Количество объединяемых с текущей ячеек

Тип данных: long
Синтаксис Automation:
```
CountUniteCells = Object.CountUniteCells    Получить свойство (* )
Object.CountUniteCells = CountUniteCells    Установить свойство (* )
CountUniteCells = Object.GetCountUniteCells()    Получить свойство (**)
Object.SetCountUniteCells( CountUniteCells )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CountUniteCells( &CountUniteCells )    Получить свойство
Object.put_CountUniteCells( CountUniteCells )    Установить свойство
```


## Number - Номер колонки, начиная с единицы

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


## Text - Текст колонки объекта спецификации

Тип данных: Указатель на интерфейс IText
Синтаксис Automation:
```
Text = Object.Text    Получить свойство (* )
Text = Object.GetText()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Text( &Text )    Получить свойство
```
Примечание:
Свойство позволяет получить и изменить текст колонки объекта спецификации.
Свойство доступно только для чтения


## ValueType - Тип значения колонки

Тип данных: из перечисления ksValueTypeEnum
Синтаксис Automation:
```
ValueType = iObject.ValueType    Получить свойство (* )
ValueType = iObject.GetValueType()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_ValueType( &ValueType )    Получить свойство
Значение свойства:
ksValueTypeInteger    - Колонка содержит целое со знаком и состоит из одного элемента,
ksValueTypeFloat    - Колонка содержит вещественное число и состоит из одного элемента,
ksValueTypeString    - Колонка содержит строку длиной 255 символов и состоит из одного элемента,
ksValueTypeRecord    - Колонка содержит запись, количество элементов в колонке определяется типом атрибута.
```
Примечание:
1. Тип ksValueTypeRecord доступен только для базовых объектов спецификации, и может быть только одна колонка данного типа. Тип атрибута для такой колонки определяется при создании базового объекта (см. AttributeNumber, ISpecificationBaseObject::AttributeNumber и ISpecificationBaseObjects::Add). Если тип атрибута 0 или объект не является базовым объектом спецификации, то данная колонка используется аналогично колонкам с типом значения ksValueTypeString.
2. Свойство доступно только для чтения.
