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

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


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

Интерфейс элемента колонки объекта спецификации.
Иерархия:
IKompasAPIObject
ISpecificationColumnItem
Описание:
Элемент колонки позволяет работать с данными колонки определенного типа. Этот тип соответствует типу колонки объекта спецификации или типу колонки атрибута для колонок типа Запись (ksValueTypeRecord). Если у колонки типа Запись тип атрибута не задан, то она состоит из одного элемента с типом Строка (ksValueTypeString).
Спецификация на текущем этапе позволяет иметь тип Запись только в одной колонке.
Примечание:
Данный интерфейс можно получить у коллекции элементов колонки объекта спецификации ISpecificationColumnItems.


## Key - Ключ

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


## Value - Значение элемента

Тип данных: VARIANT
Синтаксис Automation:
```
Value = iObject.Value    Получить свойство (* )
iObject.Value = Value    Установить свойство (* )
Value = iObject.GetValue()    Получить свойство (**)
iObject.SetValue( Value )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Value( &Value )    Получить свойство
iObject->put_Value( Value )    Установить свойство
```
Примечание:
Позволяет получить и установить значение элемента колонки объекта спецификации.
В зависимости от типа значения ValueType возвращаемое значение имеет тип:
•ksValueTypeInteger - VT_I4 (long),
•ksValueTypeFloat - VT_R8 (double),
•ksValueTypeString - VT_BSTR (строка).


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

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


## Visible - Видимость элемента

Тип данных: BOOL
Синтаксис Automation:
```
Visible = iObject.Visible    Получить свойство (* )
iObject.Visible = Visible    Установить свойство (* )
Visible = iObject.GetVisible()    Получить свойство (**)
iObject.SetVisible( Visible )    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Visible( &Visible )    Получить свойство
iObject->put_Visible( Visible )    Установить свойство
Значение свойства:
TRUE    - содержимое элемента выводится в колонке объекта спецификации,
FALSE    - содержимое элемента не выводится в колонке объекта спецификации.
```
