--- title: "Интерфейс IUserDataStoragesMng" type: interface api: [api7] tags: [interface, api7, iuserdatastoragesmng] sources: - iuserdatastoragesmng.html --- *API интерфейсов. Версия 7 > Документ  > Хранилища  > Интерфейс IUserDataStorage * ## Интерфейс IUserDataStoragesMng Интерфейс Менеджера пользовательских хранилищ. Иерархия: IKompasAPIObject IKompasCollection IUserDataStoragesMng Описание: Объект документа или непосредственно документ (объект NULL) может быть связан с коллекцией хранилищ. Каждое хранилище представляет собой структурированный набор данных простых типов (Variant) или также указателей на объекты документа. Менеджер пользовательских хранилищ позволяет управлять пользовательскими хранилищами объектов и их коллекциями. Хранилище может быть использовано для графических документов и документов–моделей. Примечание: Интерфейс можно получить у документа, используя метод IKompasDocument::UserDataStoragesMng. ## Add - Создать новое хранилища по объекту и добавить его в коллекцию Синтаксис Automation: ``` LPDISPATCH Add( LPDISPATCH Object ); ``` Синтаксис COM: ``` HRESULT Add( [in] IKompasAPIObject* Object, [out, retval] IUserDataStorages ** Result ); Входные параметры: Object - Указатель на интерфейс объекта IKompasAPIObject. Выходные параметры: - Указатель на интерфейс коллекции объектов хранилища IUserDataStorages. ``` Примечание: 1. Метод позволяет добавить массив хранилищ по объекту в коллекцию. Если объект NULL, то хранилище добавляется к документу. 2. Если в коллекции было создано хранилище по выбранному объекту, то метод сработает как GetItem. ## Clear - Очистить менеджер от всех коллекций Синтаксис Automation: ``` BOOL Clear(); ``` Синтаксис COM: ``` HRESULT Clear( [out, retval] VARIANT_BOOL* pVal ); Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` ## Delete - Удалить коллекцию по ссылке на объект или по индексу Синтаксис Automation: ``` BOOL Delete (const VARIANT & index ); ``` Синтаксис COM: ``` HRESULT Delete( [in] VARIANT Index, [out, retval] VARIANT_BOOL* pVal ); Входные параметры: Index - Индекс или указатель на интерфейс коллекции объектов хранилища IUserDataStorages. Возвращаемое значение: TRUE - в случае успеха, FALSE - в случае неудачи. ``` Примечание: В качестве индекса можно задать число или объект, к которому привязано хранилище (тип VT_DISPATCH) ## Item - Объект, заданный по ссылке на объект или по индексу Тип данных: указатель на интерфейс IUserDataStorages коллекции объектов хранилища. Синтаксис Automation: ``` StorageObj = iObject.Item (Index) Получить свойство (* ) StorageObj = iObject.GetItem (Index) Получить свойство (**) ``` Синтаксис COM: ``` iObject->get_Item (Index, &StorageObj) Получить свойство ``` Примечание: 1. Свойство доступно только для чтения. 2. В качестве индекса можно задать число или объект, к которому привязано хранилище (тип VT_DISPATCH).