e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
671 lines
44 KiB
Markdown
671 lines
44 KiB
Markdown
---
|
||
title: "Интерфейс работы с атрибутами (ksAttributeObject)"
|
||
type: interface
|
||
api: [api7]
|
||
tags: [interface, api7, ksattributeobject]
|
||
sources:
|
||
- ksattributeobject.html
|
||
---
|
||
|
||
*API интерфейсов. Версия 5 > Интерфейсы работы с атрибутами *
|
||
|
||
|
||
## Интерфейс работы с атрибутами (ksAttributeObject)
|
||
|
||
Интерфейс для работы с атрибутами.
|
||
Примечание:
|
||
Указатель на интерфейс можно получить при помощи метода KompasObject::GetAttributeObject.
|
||
Смотрите также KompasObject
|
||
|
||
|
||
## ksAddAttrRow - Добавить строку к табличному атрибуту неопределенной длины
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksAddAttrRow.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksAddAttrRow (reference pAttr,
|
||
long rowNumb,
|
||
LPDISPATCH flagVisible,
|
||
LPDISPATCH value,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки,
|
||
flagVisible - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
|
||
value - указатель на интерфейс ksUserParam, откуда копируются данные,
|
||
password - пароль атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
Смотрите также ksLtVariant
|
||
Примечание.
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, ksDynamicArray.
|
||
3. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.
|
||
```
|
||
|
||
|
||
## ksChoiceAttr - Вывести диалог для просмотра атрибутов объекта и выбора нужного атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ChoiceAttr.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksChoiceAttr (reference pObj);
|
||
Входной параметр:
|
||
pObj - указатель на объект, к которому подключены атрибуты.
|
||
Возвращаемое значение:
|
||
указатель на атрибут - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Указатель на объект reference pObj может быть получен следующими способами:
|
||
•с помощью свойства reference интерфейса соответствующего объекта,
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateIterator, ksIterator::ksMoveIterator.
|
||
|
||
|
||
## ksChoiceAttr3D - Просмотреть атрибуты объекта документа-модели
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksChoiceAttr3D.
|
||
Синтаксис Automation:
|
||
```
|
||
ksAttribute3D * ksChoiceAttr3D (LPDISPATCH pObj);
|
||
Входные параметры:
|
||
pObj - указатель на объект.
|
||
Возвращаемое значение:
|
||
Указатель на интерфейс атрибута ksAttribute3D - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ksChoiceAttrTypes - Выбрать указанный пользователем в диалоге тип атрибута из библиотеки или документа
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ChoiceAttrTypes.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksChoiceAttrTypes (BSTR libName);
|
||
Входной параметр:
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется из текущего документа.
|
||
Возвращаемое значение:
|
||
уникальный номер типа атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Диалог "привязан" к главному окну.
|
||
|
||
|
||
## ksCreateAttr - Создать атрибут по номеру типа атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCreateAttr.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksCreateAttr (reference pObj,
|
||
LPDISPATCH attr,
|
||
double attrID,
|
||
BSTR libName);
|
||
Входные параметры:
|
||
pObj - указатель на объект (группа, вид, отдельный объект), атрибут которого создается. Если pObj = 0, то создается атрибут документа,
|
||
attr - указатель на интерфейс параметров атрибута ksAttributeParam,
|
||
attrID - уникальный номер типа атрибута,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется из текущего документа.
|
||
Возвращаемое значение:
|
||
указатель на атрибут - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
Примечание.
|
||
1. Указатель на объект reference pObj может быть получен следующими способами:
|
||
•с помощью свойства reference интерфейса соответствующего объекта,
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
2. Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_Attribute с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeParam.
|
||
3. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
|
||
```
|
||
|
||
|
||
## ksCreateAttr3D - Cоздать атрибут по номеру типа атрибута из библиотеки
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCreateAttr3D.
|
||
Синтаксис Automation:
|
||
```
|
||
ksAttribute3D* ksCreateAttr3D (LPDISPATCH pObj,
|
||
LPDISPATCH attr,
|
||
double attrID,
|
||
BSTR libname);
|
||
Входные параметры:
|
||
pObj - указатель на объект для которого создается атрибут,
|
||
attr - указатель на интерфейс параметров атрибута ksAttributeParam,
|
||
attrID - уникальный номер типа атрибута,
|
||
libname - имя библиотеки атрибутов если libname = NULL - тип атрибута берется в документе.
|
||
Возвращаемое значение:
|
||
Указатель на интерфейс атрибута ksAttribute3D - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Атрибут можно добавить ко всем объектам дерева построений, кроме компонентов, сопряжений, группы сопряжений.
|
||
2. Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_Attribute с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeParam.
|
||
3. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
|
||
|
||
|
||
## ksCreateAttr3DEx - Cоздать атрибут по номеру типа атрибута из библиотеки libname
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCreateAttr3DEx.
|
||
Синтаксис Automation:
|
||
```
|
||
ksAttribute3D * ksCreateAttr3DEx (LPDISPATCH pObj,
|
||
LPDISPATCH pSourcePart,
|
||
LPDISPATCH attr,
|
||
double attrID,
|
||
BSTR libname);
|
||
Входные параметры:
|
||
pObj - указатель на объект для которого создается атрибут,
|
||
sourcePart - указатель на интерфейс вставки детали IPart,
|
||
attr - указатель на структуру параметров атрибута ksAttribute,
|
||
attrID - уникальный номер типа атрибута,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута берется в документе.
|
||
Возвращаемое значение:
|
||
Указатель на атрибут IAttribute3D - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Если libname = NULL - тип атрибута берется в документе.
|
||
2. pObj - может быть равен:
|
||
•NULL или указателю на интерфейс 3d документа IDocument3D - создается атрибут у документа,
|
||
•указателю на интерфейс коллекции объектов дерева IFeatureCollection - атрибут групповой,
|
||
•указателю на интерфейс объекта дерева IFeature - атрибут у определенного объекта.
|
||
3. Атрибут можно добавить ко всем объектам дерева построений, кроме верхнего компонентов, сопряжений, группы сопряжений.
|
||
4. sourcePart - может быть:
|
||
•NULL - атрибут будет создан в текущем документе,
|
||
•указателю на интерфейс детали или подсборки вставленной в сборку IPart - атрибут будет создан в документе-источнике,
|
||
•если sourcePart == pObj создается атрибут документа в источнике.
|
||
|
||
|
||
## ksCreateAttrType - Создать тип атрибута в библиотеке
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksCreateAttrType.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksCreateAttrType (LPDISPATCH attrType,
|
||
BSTR libName);
|
||
Входные параметры:
|
||
attrType - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута создается в текущем документе.
|
||
Возвращаемое значение:
|
||
уникальный номер типа атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Параметры атрибута должны быть заданы с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType с последующим наполнением массива с помощью свойств и методов интерфейса ksAttributeTypeParam.
|
||
|
||
|
||
## ksDeleteAttr - Удалить атрибут
|
||
|
||
Аналог данного метода при использовании API экспортных функций - DeleteAttr.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDeleteAttr (reference pObj,
|
||
reference pAttr,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pObj - указатель на объект, к которому подключен атрибут. Если pObj = 0 - атрибут текущего документа,
|
||
pAttr - указатель на удаляемый атрибут,
|
||
password - пароль атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечание:
|
||
1. Указатель на объект reference pObj может быть получен следующими способами:
|
||
•с помощью свойства reference интерфейса соответствующего объекта,
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateIterator, ksIterator::ksMoveIterator.
|
||
2. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksDeleteAttr3D - Удалить атрибут объекта 3D документа
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDeleteAttr3D.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDeleteAttr3D (LPDISPATCH pObj, ksAttribute3D *pAttr, BSTR password);
|
||
Входные параметры:
|
||
pObj - указатель на объект, у которого удаляется атрибут,
|
||
pAttr - указатель на атрибут,
|
||
password - пароль.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ksDeleteAttrRow - Удалить строку табличного атрибута неопределенной длины
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksDeleteAttrRow.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDeleteAttrRow (reference pAttr,
|
||
long rowNumb,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки,
|
||
password - пароль атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечание:
|
||
Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksDeleteAttrType - Удалить тип атрибута из библиотеки
|
||
|
||
Аналог данного метода при использовании API экспортных функций - DeleteAttrType.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksDeleteAttrType (double attrID,
|
||
BSTR libName,
|
||
BSTR password);
|
||
Входные параметры:
|
||
attrID - уникальный номер типа,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута удаляется из текущего документа,
|
||
password - пароль типа атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo.
|
||
|
||
|
||
## ksGetAttrColumnInfo - Получить информацию о столбце атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - GetAttrColumnInfo.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrColumnInfo (reference pAttr,
|
||
long columnNumb,
|
||
LPDISPATCH columnInfo);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
columnNumb - номер колонки.
|
||
Выходной параметр:
|
||
columnInfo - указатель на интерфейс параметров столбца табличного атрибута ksColumnInfoParam.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksGetAttrKeysInfo - Получить информацию о ключах атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - GetAttrKeysInfo.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrKeysInfo (reference pAttr,
|
||
long* key1,
|
||
long* key2,
|
||
long* key3,
|
||
long* key4,
|
||
double* attrID);
|
||
Входной параметр:
|
||
pAttr - указатель на атрибут.
|
||
Выходные параметры:
|
||
key1, key2, key3, key4 - ключи атрибута,
|
||
attrID - уникальный номер типа атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksGetAttrRow - Получить строку атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetAttrRow.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrRow (reference pAttr,
|
||
long rowNumb,
|
||
LPDISPATCH flagVisible,
|
||
LPDISPATCH columnKeys,
|
||
LPDISPATCH value);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки.
|
||
Выходной параметр:
|
||
value - указатель на интерфейс ksUserParam, куда копируются данные.
|
||
flagVisible - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
|
||
columnKeys - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи строки.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
Смотрите также:ksLtVariant
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant.
|
||
3. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam.
|
||
4. Для получения размера данных строки атрибута может быть использован метод ksAttributeObject::ksGetSizeAttrRow.
|
||
|
||
|
||
## ksGetAttrTabInfo - Получить информацию о количестве строк и столбцов атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - GetAttrTabInfo.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrTabInfo (long pAttr,
|
||
long* rowsCount,
|
||
long* columnsCount);
|
||
Входной параметр:
|
||
pAttr - указатель на атрибут.
|
||
Выходные параметры:
|
||
rowsCount - количество строк атрибута,
|
||
columnsCount - количество столбцов атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksGetAttrType - Получить описание типа табличного атрибута из библиотеки или текущего документа
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetAttrType.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrType (double attrID,
|
||
BSTR libName,
|
||
LPDISPATCH attrType);
|
||
Входной параметр:
|
||
attrID - уникальный номер типа атрибута,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута из текущего документа.
|
||
Выходной параметр:
|
||
attrType - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
|
||
2. Перед использованием указатель attrType должен быть получен с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType.
|
||
|
||
|
||
## ksGetAttrValue - Получить значение ячейки из таблицы атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetAttrValue.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetAttrValue (reference pAttr,
|
||
long rowNumb,
|
||
long columnNumb,
|
||
LPDISPATCH flagVisible,
|
||
LPDISPATCH columnKeys,
|
||
LPDISPATCH value);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки,
|
||
columnNumb - номер колонки.
|
||
Выходной параметр:
|
||
value - указатель на интерфейс ksUserParam, куда копируется значение ячейки,
|
||
flagVisible - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек,
|
||
columnKeys - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи полей колонки.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
Смотрите также:ksLtVariant
|
||
```
|
||
Примечание
|
||
1. Для нетабличного атрибута номер колонки равен нулю.
|
||
2. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
3. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant.
|
||
4. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam.
|
||
5. Для получения размера данных ячейки атрибута может быть использован метод ksAttributeObject::ksGetSizeAttrValue.
|
||
|
||
|
||
## ksGetLibraryAttrTypesArray - Получить указатель на динамический массив типов атрибутов типа LIBRARY_ATTR_TYPE_ARR, находящихся в заданной библиотеке типов - ksDynamicArray
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetLibraryAttrTypesArray.
|
||
Синтаксис Automation:
|
||
```
|
||
LPDISPATCH ksGetLibraryAttrTypesArray (BSTR libName);
|
||
Входной параметр:
|
||
libName - имя библиотеки типов атрибутов. Если libname = NULL, то типы атрибутов из текущего документа.
|
||
Возвращаемое значение:
|
||
указатель на интерфейс массива ksDynamicArray типа LIBRARY_ATTR_TYPE_ARR - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
|
||
|
||
## ksGetSizeAttrRow - Получить размер данных строки атрибутов
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrRow.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetSizeAttrRow (reference pAttr,
|
||
long* count);
|
||
Входной параметр:
|
||
pAttr - указатель на атрибут.
|
||
Выходной параметр:
|
||
count - число ячеек с учетом записей.
|
||
Возвращаемое значение:
|
||
длина строки атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. При использовании данного метода, не использующего Unicode, размер данных строкового типа будет рассчитываться для unicode строк, как для ANSI строк.
|
||
|
||
|
||
## ksGetSizeAttrRowW - Получить размер данных строки атрибутов (Unicode)
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrRowW.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetSizeAttrRowW (reference pAttr,
|
||
long* count);
|
||
Входной параметр:
|
||
pAttr - указатель на атрибут.
|
||
Выходной параметр:
|
||
count - число ячеек с учетом записей.
|
||
Возвращаемое значение:
|
||
длина строки атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. При использовании метода ksAttributeObject::ksGetSizeAttrRow, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.
|
||
|
||
|
||
## ksGetSizeAttrValue - Получить размер данных ячейки
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrValue
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetSizeAttrValue (reference pAttr,
|
||
long columnNumb,
|
||
long* count);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
columnNumb - номер колонки.
|
||
Выходной параметр:
|
||
count - число ячеек с учетом записей.
|
||
Возвращаемое значение:
|
||
длина строки ячейки атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. При использовании данного метода, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.
|
||
|
||
|
||
## ksGetSizeAttrValueW - Получить размер данных ячейки (Unicode)
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksGetSizeAttrValueW
|
||
Синтаксис Automation:
|
||
```
|
||
long ksGetSizeAttrValueW (reference pAttr,
|
||
long columnNumb,
|
||
long* count);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
columnNumb - номер колонки.
|
||
Выходной параметр:
|
||
Count - число ячеек с учетом записей.
|
||
Возвращаемое значение:
|
||
длина строки ячейки атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. При использовании метода ksAttributeObject::ksGetSizeAttrValue, не использующего Unicode, размер данных строкового типа будет расcчитываться для unicode строк, как для ANSI строк.
|
||
|
||
|
||
## ksSetAttrRow - Установить данные строки в таблице атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksSetAttrRow.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksSetAttrRow (reference pAttr,
|
||
long rowNumb,
|
||
LPDISPATCH flagVisible,
|
||
LPDISPATCH сolumnKeys,
|
||
LPDISPATCH value,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки,
|
||
flagVisible - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек строки,
|
||
columnKeys - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи строки,
|
||
value - указатель на интерфейс ksUserParam, откуда копируются данные,
|
||
password - пароль атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
Смотрите также:ksLtVariant
|
||
```
|
||
Примечание:
|
||
1. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
2. Указатель flagVisible может быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, ksDynamicArray.
|
||
3. Указатель value может быть получен от интерфейса KompasObject с помощью метода ompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.
|
||
|
||
|
||
## ksSetAttrType - Изменить тип атрибута в библиотеке или текущем документе
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksSetAttrType.
|
||
Синтаксис Automation:
|
||
```
|
||
double ksSetAttrType (double attrID,
|
||
BSTR libName,
|
||
LPDISPATCH attrType,
|
||
BSTR password);
|
||
Входные параметры:
|
||
attrID - уникальный номер типа атрибута,
|
||
libName - имя библиотеки типов атрибутов, если libname = NULL, то тип атрибута изменяется в текущем документе,
|
||
attrType - указатель на интерфейс параметров типа табличного атрибута ksAttributeTypeParam,
|
||
password - пароль типа атрибута.
|
||
Возвращаемое значение:
|
||
уникальный номер типа атрибута - в случае удачного завершения,
|
||
0 - в случае неудачи.
|
||
```
|
||
Примечание:
|
||
1. Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута типа должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
|
||
2. Перед использованием указатель attrType должен быть получен с помощью метода KompasObject::GetParamStruct с параметром ko_AttributeType с последующим наполнением параметрами с помощью свойств и методов интерфейса ksAttributeTypeParam.
|
||
|
||
|
||
## ksSetAttrValue - Установить значение ячейки в таблице атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ksSetAttrValue.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksSetAttrValue (reference pAttr,
|
||
long rowNumb,
|
||
long columnNumb,
|
||
LPDISPATCH
|
||
flagVisible,
|
||
LPDISPATCH columnKeys,
|
||
LPDISPATCH value,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
rowNumb - номер строки,
|
||
columnNumb - номер колонки,
|
||
flagVisible - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего флаги видимости ячеек,
|
||
columnKeys - указатель на интерфейс динамического массива типа LTVARIANT_ARR ksDynamicArray, указывающего ключи полей колонки,
|
||
value - указатель на интерфейс ksUserParam, откуда копируется значение ячейки,
|
||
password - пароль атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
Смотрите также:ksLtVariant
|
||
```
|
||
Примечание:
|
||
1. Для нетабличного атрибута номер колонки равен нулю.
|
||
2. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
3. Перед использованием указатель flagVisible должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_LtVariant, методов интерфейса ksLtVariant, интерфейса ksDynamicArray, метода ksDynamicArray::ksSetArrayItem, ksDynamicArray::ksAddArrayItem.
|
||
4. Перед использованием указатель value должен быть получен от интерфейса KompasObject с помощью метода KompasObject::GetParamStruct с параметром ko_UserParam с последующим наполнением массива с помощью методов интерфейса ksUserParam, ksLtVariant, ksDynamicArray.
|
||
|
||
|
||
## ksViewEditAttr - Вывести диалог для просмотра или редактирования атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ViewEditAttr.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksViewEditAttr (reference pAttr,
|
||
long type,
|
||
BSTR password);
|
||
Входные параметры:
|
||
pAttr - указатель на атрибут,
|
||
type - режим работы: - 1 - режим просмотра, 2 - режим редактирования
|
||
password - пароль типа атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечание:
|
||
1. Диалог "привязан" к главному окну.
|
||
2. Указатель на атрибут reference pAttr может быть получен следующими способами:
|
||
•с помощью интерфейса итератора ksIterator и методов ksIterator::ksCreateAttrIterator, ksIterator::ksMoveAttrIterator,
|
||
•с помощью методов создания атрибутов ksAttributeObject::ksCreateAttr или выбора атрибутов ksAttributeObject::ksChoiceAttr.
|
||
|
||
|
||
## ksViewEditAttrType - Вывести диалог для просмотра или редактирования типа атрибута
|
||
|
||
Аналог данного метода при использовании API экспортных функций - ViewEditAttrType.
|
||
Синтаксис Automation:
|
||
```
|
||
long ksViewEditAttrType (BSTR libName,
|
||
long type,
|
||
double attrID,
|
||
BSTR password);
|
||
Входные параметры:
|
||
libName - имя библиотеки типов атрибутов. Если libname = NULL, типы атрибутов берутся из текущего документа,
|
||
type - режим работы: 1 - режим просмотра, 2 - режим редактирования,
|
||
attrId - уникальный номер типа атрибута,
|
||
password - пароль типа атрибута.
|
||
Возвращаемое значение:
|
||
1 - в случае удачного завершения.
|
||
```
|
||
Примечание:
|
||
Уникальный номер типа атрибута attrID может быть получен от интерфейса ksLibraryAttrTypeParam с помощью свойства ksLibraryAttrTypeParam::typeid или от интерфейса ksAttributeObject с помощью метода ksAttributeObject::ksGetAttrKeysInfo. Тип атрибута должен быть предварительно создан, например, с помощью метода ksAttributeObject::ksCreateAttrType.
|