--- 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. Свойство доступно только для чтения.