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

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


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

Интерфейс коллекции описаний спецификации у документа.
Иерархия:
IKompasAPIObject
IKompasCollection
ISpecificationDescriptions
Примечание:
1. Для документа-спецификации возможно только одно описание, и оно есть всегда (т.е. добавлять и удалять нельзя).
2. В текстовом документе описаний нет.
3. Для остальных документов (чертеж, фрагмент, деталь и сборка) описаний может быть сколько угодно, в том числе и ни одного.
4. При добавлении нового описания оно становится текущим.
5. Данный интерфейс может быть получен следующими способами:
•от интерфейса документа IKompasDocument с помощью свойства IKompasDocument::SpecificationDescriptions,
•от интерфейса чертежа IDrawingDocument с помощью свойства IDrawingDocument::ChangeListDescriptions.


## Active - Текущее описание

Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации
Синтаксис Automation:
```
Description = iObject.Active    Получить свойство (* )
Description = iObject.GetActive()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Active (&Description)    Получить свойство
```
Примечание:
1. Если в документе нет описаний спецификаций, возвращается NULL.
2. Свойство доступно только для чтения.


## ActiveFromLibStyle - Текущее описание, соответствующее библиотечному стилю

Тип данных: Указатель на интерфейс ISpecificationDescription
Синтаксис Automation:
```
ActiveFromLibStyle = Object.ActiveFromLibStyle    Получить свойство (* )
ActiveFromLibStyle = Object.GetActiveFromLibStyle()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ActiveFromLibStyle( &ActiveFromLibStyle )    Получить свойство
Возвращаемое значение:
\    - если текущее описание соответствует своему описанию-источнику в библиотеке, то просто возвращается оно же,
- если текущее описание не соответствует своему описанию-источнику в библиотеке, то возвращается новое описание, созданное по описанию-источнику и сделанное текущим,
- если текущего описания нет или для текущего описания не найдено описание-источник (не найдена библиотека-источник), то возвращается NULL.
```
Примечание:
Свойство доступно только для чтения.


## Add - Добавить новое описание спецификации в документ и в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add (BSTR LayoutName,
long StyleID,
BSTR SpcName,
ISpecificationDescription);
```
Синтаксис COM:
```
HRESULT Add ([in] BSTR LayoutName,
[in] long StyleID,
[in] BSTR SpcName,
[out, retval] ISpecificationDescription** Result);
Входные параметры:
LayoutName    - имя библиотеки стилей,
StyleID    - номер стиля в библиотеке стилей,
SpcName    - имя документа спецификации, связанного с описанием спецификации в документе.
Возвращаемое значение:
- Указатель на интерфейс ISpecificationDescription описания спецификации.
```
Примечание:
К одному документу могут быть добавлены описания спецификации только разных стилей. Если LayoutName и StyleID не заданы, то добавляется описание спецификации по умолчанию, если оно не было создано ранее.


## Description - Описание спецификации по имени файла библиотеки оформлений и номеру стиля в библиотеке

Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации
Синтаксис Automation:
```
Description = iObject.Description (LayoutName, StyleID)    Получить свойство (* )
Description = iObject.GetDescription (LayoutName, StyleID)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Description (LayoutName, StyleID, &Description)    Получить свойство
Входные параметры:
LayoutName    - имя файла библиотеки оформлений,
StyleID    - номер стиля в библиотеке оформлений.
```
Примечание:
Свойство доступно только для чтения.


## IsSlaveActive - Активно ли окно редактирования описания спецификации

Тип данных: из перечисления ksSlaveActiveEnum
Синтаксис Automation:
```
IsSlaveActive = Object.IsSlaveActive    Получить свойство (* )
IsSlaveActive = Object.GetIsSlaveActive()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsSlaveActive( &IsSlaveActive )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
КOMPAS v24


## Item - Описание спецификации, заданное по индексу

Тип данных: Указатель на интерфейс ISpecificationDescription описания спецификации
Синтаксис Automation:
```
Description = iObject.Item (Index)    Получить свойство (* )
Description = iObject.GetItem (Index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Item (Index, &Description)    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
