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

*API интерфейсов. Версия 7 > Документ  > Свойства *


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

Интерфейс Менеджера свойств.
Иерархия
IDispatch
IPropertyMng
Описание:
Позволяет управлять свойствами.
Примечание:
Дополнительный интерфейс. Данный интерфейс можно получить у IApplication посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif).


## AddProperty - Добавить свойство

Синтаксис Automation:
```
LPDISPATCH AddProperty( VARIANT libname, VARIANT val );
```
Синтаксис COM:
```
HRESULT AddProperty( VARIANT Libname, VARIANT Val, IProperty ** ColVal );
Входные параметры:
Libname ( VARIANT)    - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY,
val( VARIANT)    - новое свойство VT_EMPY, создать по прототипу другого свойства - VT_DISPATCH.
Возвращаемое значение:
- Указатель на интерфейс свойства IProperty.
```


## GetProperties - Получить массив свойств

Синтаксис Automation:
```
VARIANT GetProperties ( VARIANT libname );
```
Синтаксис COM:
```
HRESULT GetProperties( VARIANT Libname, VARIANT * Res );
Входные параметры:
Libname ( VARIANT)    - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY.
Возвращаемое значение:
- Массив библиотек VARIANT типа VT_ARRAY    VT_DISPATCH.
```
Примечание:
Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH.


## GetProperty - Получить свойство

Синтаксис Automation:
```
LPDISPATCH GetProperty ( VARIANT libname, VARIANT index );
```
Синтаксис COM:
```
HRESULT GetProperty( VARIANT Libname, VARIANT Index, IProperty ** Res );
Входные параметры:
Libname (VARIANT)    - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY,
index(VARIANT)    - индекс в хранилище VT_I4, либо по идентификатору самого свойства - VT_R8.
Возвращаемое значение:
- Указатель на интерфейс свойства IProperty.
Номера системных свойств...
```


## GetReport - Получить интерфейс таблицы отчета по имени файла или указателю на документ

Синтаксис Automation:
```
LPDISPATCH GetReport( VARIANT Document, ksReportTypeEnum Type );
```
Синтаксис COM:
```
HRESULT GetReport( VARIANT Document, ksReportTypeEnum Type, IReport ** Result );
Возвращаемое значение:
- Указатель на интерфейс отчета IReport.
Входные параметры:
Document    - имя файла или указатель на документ.
Выходные параметры:
Type    - тип отчета.
```


## PropertyCount - Количество свойств

Тип данных: long
| PropertyCount = Object.PropertyCount(Libname) | Получить свойство (* ) |
| --- | --- |
| PropertyCount = Object.GetPropertyCount(Libname) | Получить свойство (**) |
Синтаксис COM:
```
Object.get_PropertyCount( Libname, &PropertyCount )    Получить свойство
Входные параметры:
Libname ( VARIANT)    - полный путь к библиотеке на диске VT_BSTR либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY.
```
Примечание:
Свойство только для чтения.


## RemoveProperty - Удалить свойство

Синтаксис Automation:
```
BOOL RemoveProperty ( VARIANT libname, VARIANT val );
```
Синтаксис COM:
```
HRESULT RemoveProperty( VARIANT Libname, VARIANT Val, BOOL * ColVal );
Входные параметры:
Libname ( VARIANT)    - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY,
val( VARIANT)    - по интерфейсу свойства - VT_DISPATCH, по индексу в массиве - VT_I4, по идентификатору свойства VT_R8.
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```
