Страница 1 из 1
Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 29 сен 2014, 16:32
Den_Is
Вопрос наверное простой. Необходимо добавить внешний атрибут с сылкой на каталог стран. Создаю атрибут, делаю ссылка (прочие таблицы), открывается список таблиц, в списке каталога стран нет. Клавиша F7 не отрабатывает (права админа, доступ на чтение и запись всех таблиц). Как добавить в список таблиц нужную мне таблицу?
p/s Галактика 7.12.
Re: Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 29 сен 2014, 17:22
Den
наверное, никак.
дублировать может тока через пользовательскую аналитику его.
Re: Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 29 сен 2014, 19:20
Dmitry_Sol
Вопрос конечно не в этой теме, а больше относится к программированию.
Но решаемый. Вот этот код добавляет каталог стран в список Прочих таблиц в аттрибутах.
Код: Выделить всё
#include GetAttrTable.vih
const
coState : Word =1458;
end;
#ifdef ComponentVersion
#component "C_EXTCLASS"
#endif
VipInterface CreateAttrRef_GalMy implements ObjCreateAttrRefPlugin licensed (FREE);
//------------------------------------------------------------------------------
Handler with replace Gal_CreateAttrRefTableMy on extensionPoint epCreateAttrRefTable (AttrRef : ObjGetAttrTable) [10] // i??< 11
Action
{
Result := true;
var ifc : CreateAttrRef_GalMy;
ifc.AddAttrRefTable (AttrRef);
}
//------------------------------------------------------------------------------
Handler with replace Gal_PickTableRefMy on extensionPoint epPickTableRef (_coTable: word; _cAttrVal: comp) [10]
Action
{
case _coTable of
coState :
{ var ifc : CreateAttrRef_GalMy;
Result := not ifc.PickValueRef (_coTable, _cAttrVal);
Result := False ;
}
else Result:=true ;
end ;
}
Interface CreateAttrRef_GalMy;
Create view
From
AttrVal
,Persons
,IeHead
,HozOper
;
Public Procedure AddAttrRefTable (AttrRef : ObjGetAttrTable);
{
AttrRef.AddTable(coState);
}
Public Function PickValueRef (_coTable: word; _cAttrVal: comp): boolean;
var
cStatePick: Comp;
begin
PickValueRef := false;
if (getFirst AttrVal where ((_cAttrVal == AttrVal.nRec)) <> tsOk)
Exit;
case _coTable of
coState :
{
cStatePick := AttrVal.vComp;
RunInterFace(L_KATORG::GETSTATE,cStatePick);
if (getFirst KatState where ((cStatePick == KatState.nRec)) = tsOk)
{
AttrVal.vComp := KatState.nRec;
AttrVal.vString := KatState.Name;
PickValueRef :=true;
}
}
else // Если нет интерфейса выбора
{
PickValueRef:=false;
message ('Для таблицы с кодом ' + string(_coTable) + ' нет интерфейса выбора.');
}
end; // case
if PickValueRef
{
var err : word;
err := Update current AttrVal
if err <> 0
{
Message ('Ошибка N ' + string(err) + ' обновления записи в таблице AttrVal.');
exit;
}
}
end;
end.
Правда не уверен, что это будет работать на 7.12
Re: Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 29 сен 2014, 19:49
Den
точки расширения с 5го атлантиса тока кажись. Надо смотреть Галка 7,12 на каком функциклирует.
Re: Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 25 окт 2024, 14:38
YuryN
Доброго времени суток, уважаемые форумчане.
Создал внешний атрибут-ссылку на пользовательскую таблицу аналитики. Заполнил таблицу. А как достать значения?
Подскажите, какими функциями работать с этим атрибутом.
Re: Внешние атрибуты - ссылка (другие таблицы)
Добавлено: 25 окт 2024, 16:40
Irina_
Здравствуйте.
Я делаю, например, так. Если кроме наименования мне надо еще что-то, например код:
Код: Выделить всё
#include ExtAttrClassInfo.vih
Var
var1 : iExtAttrClassInfo;
crec_, cAttr_ : Comp;
sVA, sName, sCode_ : String;
…
sVA:= 'Имя ВА'; //наим-е ВА
cAttr_:= var1.ExtAttr_ID( coMoveOs, sVA ); // Nrec ВА к табл.MoveOs
sName:= '';
sCode_:= '';
If var1.ExtAttr_ValueExistsID( coMoveOs, MoveOs.Nrec, cAttr_ )
{
crec_:= var1.coGetAttrID( coMoveOs, MoveOs.Nrec, cAttr_ );
If ( GetFirst SpKau Where (( crec_ == SpKau.Nrec )) = tsOk )
{
sName:= SpKau.Name;
sCode_:= SpKau.Code;
}
}
Если нужно только наименование, то, думаю, подойдет:
Код: Выделить всё
sName:= If( ( var1.ExtAttr_ValueExistsID ( coMoveOs, MoveOs.Nrec, cAttr_ ) = False ), '', var1.sGetAttrID( coMoveOs, MoveOs.Nrec, cAttr_ ) );