необходимо создать объект спецификации и указать для него имя файла подключаемого документа.
С созданием объекта спецификации я справился, а вот с подключением документа – нет. function EditSpcObjDet( geom: Reference; obozn, name: string ) : Reference;
var
spcObj: Reference;
par: ksUserParam;
item: ksLtVariant;
arr: ksDynamicArray;
item_f:ksDocAttachedSpcParam;
begin
spcObj := 0;
//ввойдем в режим создания объекта спецификации
if ( spcObj <> 0 ) or ( spc.ksSpcObjectCreate( 'graphic.lyt', //имя библиотеки типов
1, // номер типа спецификации
20, 0, //номер раздела и подраздела
0,0 ) <> 0 ) then //тип атрибута
begin
par := ksUserParam( kompas.GetParamStruct(ko_UserParam) );
item := ksLtVariant( kompas.GetParamStruct(ko_LtVariant) );
arr := ksDynamicArray( kompas.GetDynamicArray(LTVARIANT_ARR) );
if ( par = nil ) or ( item = nil ) or ( arr = nil ) then
begin
Result := 0; exit;
end;
par.Init();
par.SetUserArray( arr );
item.Init();
item.strVal := obozn;
arr.ksAddArrayItem( -1, item );//Добавить элемент в массив.
//обозначение
spc.ksSpcChangeValue( 4, 1, par, STRING_ATTR_TYPE );
item.strVal := name;
arr.ksAddArrayItem( 0, item );
//наименование
spc.ksSpcChangeValue( 5, 1, par, STRING_ATTR_TYPE );
// Тут пытаюсь подключить файл
item_f := ksDocAttachedSpcParam(kompas.GetParamStruct(ko_DocAttachSpcParam));
item_f.Init();
item_f.fileName := 'E:\Мои документы\Рабочая\Прокладки 4\Библиотека шаблонов\Шаблон 6.289.010А-ХХХ\6.289.011-ХХХ.cdw';
item_f.transmit := 0;
spcObj := spc.ksSpcObjectEnd( );
if spcObj <> 0 then
begin
Result := spcObj;
exit;
end;
end;
Result := 0;
end;
Программа работает, объекты создаются, а вот файл не подключается.
Помогите, пожалуйста. Подскажите где ошибка?