---
title: "Автонумерация и сортировка объектов"
type: interface
api: [api7]
domain: [2d]
tags: [interface, api7, 2d, bb3107129]
sources:
  - bb3107129.html
  - iautonumerationmanager.html
  - inumericgroup.html
  - iautosortobjectsparameters.html
---

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




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

Интерфейс Менеджер автонумерации.
Иерархия:
IDispatch
IAutoNumerationManager
Примечание:
1. Интерфейс является дополнительным к интерфейсу 2D документа IKompasDocument2D.
2. В 2D документе создается три системные группы нумерации:
•#Автосортировка.
•#Нумерация обозначений изменений.
•#Нумерация таблиц.
Дополнительно могут быть созданы пользовательские группы нумерации.
Версия: Компас v20


## AddNumericGroup - Добавить группу нумерации

Синтаксис Automation:
```
LPDISPATCH AddNumericGroup( BSTR Name );
```
Синтаксис COM:
```
HRESULT AddNumericGroup( BSTR Name, INumericGroup * * Result );
Возвращаемое значение:
- Указатель на интерфейс INumericGroup.
Входные параметры:
Name    - Имя группы.
```


## CurrentNumericGroup - Текущая группа нумерации

Тип данных: Указатель на интерфейс INumericGroup.
Синтаксис Automation:
```
CurrentNumericGroup = Object.CurrentNumericGroup    Получить свойство (* )
Object.CurrentNumericGroup = CurrentNumericGroup    Установить свойство (**)
CurrentNumericGroup = Object.GetCurrentNumericGroup()    Получить свойство (**)
Object.SetCurrentNumericGroup( CurrentNumericGroup )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_CurrentNumericGroup( &CurrentNumericGroup )    Получить свойство
Object.put_CurrentNumericGroup( CurrentNumericGroup )    Установить свойство
```


## NumericGroup - Получить группу нумерации по индексу, имени или объекту, входящему в группу

Тип данных: Указатель на интерфейс INumericGroup.
Синтаксис Automation:
```
NumericGroup= Object.NumericGroup( Index )    Получить свойство(* )
NumericGroup= Object.GetNumericGroup( Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NumericGroup ( Index, &NumericGroups)    Получить свойство
Входные параметры:
VARIANT Index    - Индекс группы в коллекции. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - имя группы.
```
Примечание:
Свойство доступно только для чтения.


## NumericGroupsCount - Количество групп нумерации

Тип данных: long
Синтаксис Automation:
```
NumericGroupsCount = Object.NumericGroupsCount    Получить свойство(* )
NumericGroupsCount = Object.GetNumericGroupsCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_NumericGroupsCount( &NumericGroupsCount )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


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

Интерфейс Группа автонумерации.
Иерархия:
IDispatch
IKompasAPIObject
INumericGroup
Примечание:
Интерфейс можно получить с помощью методов интерфейса IAutoNumerationManager.
Версия: Компас v20


## Attach - Добавить объект в группу

Синтаксис Automation:
```
BOOL Attach( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT Attach( IKompasAPIObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
```


## AutoNumerationEnable - Автоперестроение нумерации

Тип данных: BOOL
Синтаксис Automation:
```
AutoNumerationEnable = Object.AutoNumerationEnable    Получить свойство (* )
Object.AutoNumerationEnable =AutoNumerationEnable    Установить свойство (**)
AutoNumerationEnable = Object.GetAutoNumerationEnable ()    Получить свойство (**)
Object.SetAutoNumerationEnable (AutoNumerationEnable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoNumerationEnable ( &AutoNumerationEnable )    Получить свойство
Object.put_AutoNumerationEnable ( AutoNumerationEnable )    Установить свойство
```


## AutoNumerationSymbols - Набор символов

Тип данных: BSTR
Синтаксис Automation:
```
AutoNumerationSymbols = Object.AutoNumerationSymbols    Получить свойство (* )
Object.AutoNumerationSymbols = AutoNumerationSymbols    Установить свойство (**)
AutoNumerationSymbols = Object.GetAutoNumerationSymbols ()    Получить свойство (**)
Object.SetAutoNumerationSymbols ( AutoNumerationSymbols )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoNumerationSymbols ( &AutoNumerationSymbols )    Получить свойство
Object.put_AutoNumerationSymbols ( AutoNumerationSymbols )    Установить свойство
```
Примечание:
Свойство доступно для групп с буквенной нумерацией
INumericGroup::NumericGroupType = ksNumericGroupSymbols.


## Count - Количество объектов в группе

Тип данных: long
Синтаксис Automation:
```
Count = Object.Count    Получить свойство(* )
Count = Object.GetCount()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Count( &Count )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## Delete - Удалить пользовательскую группу

Синтаксис Automation:
```
BOOL Delete();
Синтаксис COM :
HRESULT Delete( BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
```


## Dettach - Исключить объект из группы

Синтаксис Automation:
```
BOOL Dettach( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT Dettach( IKompasAPIObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успешного завершения,
FALSE    - в случае неудачи.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
```


## GetNextName - Получить имя следующего объекта в группе

Синтаксис Automation:
```
BSTR GetNextName( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT GetNextName( IKompasAPIObject * Object, BSTR * Result );
Возвращаемое значение:
- Имя следующего объекта в группе.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
```
Примечание:
Метод используется для предварительного получения имени объекта перед добавлением в группу нумерации.


## GetObjectNumber - Строковый номер объекта в группе

Синтаксис Automation:
```
BSTR GetObjectNumber( LPDISPATCH Object, BOOL FullName );
```
Синтаксис COM:
```
HRESULT GetObjectNumber( IKompasAPIObject * Object, BOOL FullName, BSTR * Result );
Возвращаемое значение:
- Строковый номер объекта в группе.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
FullName    - TRUE - вернуть полное имя, FALSE - только номер.
```


## IsEnableAdd - Можно ли добавить объект в группу

Синтаксис Automation:
```
BOOL IsEnableAdd( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT IsEnableAdd( IKompasAPIObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - объект можно добавить в группу,
FALSE    - объект в группу добавить нельзя.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
```
Примечание
1. Возможно объект уже есть в группе.
2. Не для всех типов объектов есть поддержка нумерации.
•В системных группах есть фильтр по типу объектов.
•Для группы #Автосортировка разрешено добавление объектов:
•Стрелка взгляда.
•Выносной элемент.
•Линия разреза\сечения.
•Обозначение базы.
•Линия-выноска.
•Размеры.
•В настройках документа есть управление автоматическим добавлением данных объектов в группу и задана последовательность сортировки.
•В группу #Нумерация обозначений изменений разрешено добавление:
•Обозначение изменения.
•В группу #Нумерация таблиц разрешено добавление:
•Таблиц и ассоциативных таблиц отчетов.
•Для пользовательских групп доступно добавление любых из выше перечисленных объектов. Другие объекты в группу добавить нельзя.


## IsExist - Входит ли объект в группу

Синтаксис Automation:
```
BOOL IsExist( LPDISPATCH Object );
```
Синтаксис COM:
```
HRESULT IsExist( IKompasAPIObject * Object, BOOL * Result );
Возвращаемое значение:
TRUE    - объект уже есть в группе,
FALSE    - объекта нет в группе.
Входные параметры:
Object    - указатель на интерфейс объекта IKompasAPIObject,
```


## IsSystem - Признак системной группы

Тип данных: BOOL
Синтаксис Automation:
```
IsSystem = Object.IsSystem    Получить свойство(* )
IsSystem = Object.GetIsSystem()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IsSystem( &IsSystem )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
В 2D документе создается три системные группы нумерации:
•#Автосортировка,
•#Нумерация обозначений изменений,
•#Нумерация таблиц.
Дополнительно могут быть созданы пользовательские группы нумерации.


## Item - Получить объект по индексу или строковому обозначению в группе (зависит от правил нумерации)

Тип данных: Указатель на интерфейс IKompasAPIObject
Синтаксис Automation:
```
Item = Object.Item( Index )    Получить свойство(* )
Item = Object.GetItem(Index )    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Item( Index, &Item )    Получить свойство
Входные параметры:
VARIANT Index    - Индекс объекта в группе. Поддерживаются следующие типы: - VT_I4 - индекс объекта, - VT_BSTR - строковое обозначение объекта в группе.
```
Примечание:
Свойство доступно только для чтения.


## MinCharsCount - Минимальное число символов в номере, если меньше этого значения, то дополняется нулями слева

Тип данных: long
Синтаксис Automation:
```
MinCharsCount = Object.MinCharsCount    Получить свойство (* )
Object.MinCharsCount = MinCharsCount    Установить свойство (**)
MinCharsCount = Object.GetMinCharsCount ()    Получить свойство (**)
Object.SetMinCharsCount ( MinCharsCount )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_MinCharsCount ( &MinCharsCount )    Получить свойство
Object.put_MinCharsCount ( MinCharsCount )    Установить свойство
```
Примечание:
Свойство доступно для групп с числовой нумерацией
INumericGroup::NumericGroupType = ksNumericGroupNumbers.


## Name - Имя группы

Тип данных: BSTR
Синтаксис Automation:
```
Name = Object. Name    Получить свойство (* )
Object. Name = Name    Установить свойство (**)
Name = Object.Get Name ()    Получить свойство (**)
Object.Set Name ( Name )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_ Name ( & Name )    Получить свойство
Object.put_ Name ( Name )    Установить свойство
```
Примечание:
Изменение имени доступно только для пользовательских групп нумерации.


## NumericGroupType - Тип группы нумерации. Тип номера

Тип данных: из перечисления ksObj3dTypeEnum
Синтаксис Automation:
```
NumericGroupType = Object.NumericGroupType    Получить свойство (* )
Object.NumericGroupType =NumericGroupType    Установить свойство (**)
NumericGroupType = Object.GetNumericGroupType ()    Получить свойство (**)
Object.SetNumericGroupType (NumericGroupType )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_NumericGroupType ( &NumericGroupType )    Получить свойство
Object.put_NumericGroupType ( NumericGroupType )    Установить свойство
```


## Objects - Список объектов в группе

Тип данных: VARIANT
Синтаксис Automation:
```
Objects = Object.Objects    Получить свойство (* )
Object.Objects = Objects    Установить свойство (**)
Objects = Object.GetObjects ()    Получить свойство (**)
Object.SetObjects ( Objects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_Objects ( &Objects )    Получить свойство
Object.put_Objects ( Objects )    Установить свойство
Возвращается массив SAFEARRAY объектов, входящих в состав данной группы, если объектов несколько.
```


## StartIndex - Стартовый индекс. Начинать с

Тип данных: long
Синтаксис Automation:
```
StartIndex = Object.StartIndex    Получить свойство (* )
Object.StartIndex =StartIndex    Установить свойство (**)
StartIndex = Object.GetStartIndex ()    Получить свойство (**)
Object.SetStartIndex (StartIndex )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_StartIndex ( &StartIndex )    Получить свойство
Object.put_StartIndex ( StartIndex )    Установить свойство
```


## TextAfter - Текст после номера

Тип данных: BSTR
Синтаксис Automation:
```
TextAfter = Object.TextAfter    Получить свойство (* )
Object.TextAfter =TextAfter    Установить свойство (**)
TextAfter = Object.GetTextAfter ()    Получить свойство (**)
Object.SetTextAfter (TextAfter )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TextAfter ( &TextAfter )    Получить свойство
Object.put_TextAfter ( TextAfter )    Установить свойство
```


## TextBefore - Текст перед номером

Тип данных: BSTR
Синтаксис Automation:
```
TextBefore = Object.TextBefore    Получить свойство (* )
Object.TextBefore = TextBefore    Установить свойство (**)
TextBefore = Object.GetTextBefore ()    Получить свойство (**)
Object.SetTextBefore ( TextBefore )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_TextBefore ( &TextBefore )    Получить свойство
Object.put_TextBefore ( TextBefore )    Установить свойство
```


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

Интерфейс параметров автосортировки буквенных обозначений.
Иерархия:
IDispatch
IAutoSortObjectsParameters
Примечание:
Интерфейс можно получить с помощью метода IDocument2DSettings::AutoSortObjectsParameters.
Версия: Компас v20


## AutoNumerationEnable - Включить автосортировку для объектов по типу

Тип данных: BOOL
Синтаксис Automation:
```
AutoNumerationEnable = Object.AutoNumerationEnable( ObjectType )    Получить свойство (* )
Object.AutoNumerationEnable( ObjectType ) = AutoNumerationEnable    Установить свойство (* )
AutoNumerationEnable = Object.GetAutoNumerationEnable( ObjectType )    Получить свойство(**)
Object.SetAutoNumerationEnable( ObjectType, AutoNumerationEnable )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoNumerationEnable( ObjectType, &AutoNumerationEnable )    Получить свойство
Object.put_AutoNumerationEnable( ObjectType, AutoNumerationEnable )    Установить свойство
Входные параметры:
long ObjectType    - тип объекта из перечисления DrawingObjectTypeEnum.
```


## AutoNumerationObjects - Порядок сортировки

Тип данных: VARIANT
Синтаксис Automation:
```
AutoNumerationObjects = Object.AutoNumerationObjects    Получить свойство (* )
Object.AutoNumerationObjects = AutoNumerationObjects    Установить свойство (* )
AutoNumerationObjects = Object.GetAutoNumerationObjects()    Получить свойство(**)
Object.SetAutoNumerationObjects( AutoNumerationObjects )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoNumerationObjects( &AutoNumerationObjects )    Получить свойство
Object.put_AutoNumerationObjects( AutoNumerationObjects )    Установить свойство
Возвращаемое значение:
- Возвращается массив SafeArray VT_ARRAY    VT_I4 c идентификаторами типов объектов из перечисления DrawingObjectTypeEnum.
```


## AutoNumerationSymbols - Набор символов

Тип данных: BSTR
Синтаксис Automation:
```
AutoNumerationSymbols = Object.AutoNumerationSymbols    Получить свойство (* )
Object.AutoNumerationSymbols = AutoNumerationSymbols    Установить свойство (* )
AutoNumerationSymbols = Object.GetAutoNumerationSymbols()    Получить свойство(**)
Object.SetAutoNumerationSymbols( AutoNumerationSymbols )    Установить свойство (**)
```
Синтаксис COM:
```
Object.get_AutoNumerationSymbols( &AutoNumerationSymbols )    Получить свойство
Object.put_AutoNumerationSymbols( AutoNumerationSymbols )    Установить свойство
```
