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