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

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


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

Интерфейс коллекции вспомогательных объектов спецификации.
Иерархия:
IKompasAPIObject
IKompasCollection
ISpecificationCommentObjects
Описание:
Позволяет получить список вспомогательных объектов спецификации.
Примечание:
1. Управляет массивом интерфейсов ISpecificationCommentObject.
2. Коллекция позволяет создать новые вспомогательные объекты спецификации. Для создания нового вспомогательного объекта спецификации используется метод Add. После вызова метода Add объект будет добавлен в коллекцию, но в документе не появится.
3. Для отображения объекта в документе нужно задать его параметры и вызвать метод ISpecificationObject::Update.
4. Методы Attach и Detach работают только для коллекции, взятой у базового объекта СП.
5. Данный интерфейс можно получить от интерфейса описания спецификации ISpecificationDescription с помощью свойства ISpecificationDescription::CommentObjects и от интерфейса базового объекта спецификации ISpecificationBaseObject с помощью свойства ISpecificationBaseObject_CommentObjects.


## Add - Добавить новый вспомогательный объект спецификации в коллекцию

Синтаксис Automation:
```
LPDISPATCH Add (long Section);
```
Синтаксис COM:
```
HRESULT Add ([in] long Section,
[out, retval] ISpecificationCommentObject** Result );
Входные параметры:
Section    - номер раздела.
Возвращаемое значение:
- Указатель на интерфейс ISpecificationCommentObject вспомогательного объекта спецификации.
```
Примечание:
После вызова метода Add объект будет добавлен в коллекцию, но в документе не появится. Для отображения объекта в документе нужно задать его параметры и вызвать метод ISpecificationObject::Update.


## AddWithParam - Добавить новый объект спецификации в коллекцию

Синтаксис Automation:
```
LPDISPATCH AddWithParam( ISpecificationObjectCreateParam * Param, ISpecificationBaseObject * ParentObject );
```
Синтаксис COM:
```
HRESULT AddWithParam( ISpecificationObjectCreateParam * Param, ISpecificationBaseObject * ParentObject, ISpecificationCommentObject * * Result );
Возвращаемое значение:
- Указатель на интерфейс ISpecificationCommentObject вспомогательного объекта спецификации.
Входные параметры:
Param    - Указатель на интерфейс расширенных параметров создания объекта спецификации ISpecificationObjectCreateParam.
ParentObject    - Указатель на базовый объект спецификации ISpecificationBaseObject, для которого добавляется комментарий.
Версия: Компас v20
```


## Attach - Добавить вспомогательный объект спецификации в коллекцию прикрепленных объектов (Для базового объекта)

Синтаксис Automation:
```
BOOL Attach( LPDISPATCH spcObj );
```
Синтаксис COM:
```
HRESULT Attach ([in]ISpecificationCommentObject* spcObj,
[out, retval] BOOL* PRes);
Входные параметры:
spcObj    - указатель на интерфейс прикрепляемого вспомогательного объекта спецификации.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод работает только для коллекции взятой у базового объекта СП.


## CopySpecificationObject - Копирование объекта спецификации

Синтаксис Automation:
```
LPDISPATCH CopySpecificationObject( ISpecificationCommentObject * SpcObj );
```
Синтаксис COM:
```
HRESULT CopySpecificationObject( ISpecificationCommentObject * SpcObj, ISpecificationCommentObject * * Result );
Возвращаемое значение:
- Указатель на интерфейс скопированного объекта.
Входные параметры:
spcObj    - копируемый объект.
```


## Detach - Удалить вспомогательный объект спецификации из коллекции прикрепленных объектов (Для базового объекта)

Синтаксис Automation:
```
BOOL Detach (LPDISPATCH spcObj);
```
Синтаксис COM:
```
HRESULT Detach ([in]ISpecificationCommentObject* spcObj,
[out, retval] BOOL* PRes);
Входные параметры:
spcObj    - указатель на интерфейс прикрепляемого вспомогательного объекта спецификации.
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод работает только для коллекции взятой у базового объекта СП.


## Item - Вспомогательный объект спецификации, заданный по индексу, по уникальному идентификатору или по уникальному номеру

Тип данных: Указатель на интерфейс ISpecificationCommentObject объекта спецификации.
Синтаксис Automation:
```
spcObj = iObject.Item (Index)    Получить свойство (* )
spcObj = iObject.GetItem (Index)    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Item (Index, &spcObj)    Получить свойство
```
Примечание:
1. С помощью данного свойства можно получить вспомогательный объект спецификации, заданный по индексу, по уникальному идентификатору IKompasAPIObject::Reference или уникальному номеру ISpecificationObject::UniqueNumber.
2. Свойство доступно только для чтения.
