---
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).
