Внешние атрибуты - ссылка (другие таблицы)

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Den_Is
Постоянный обитатель
Сообщения: 169
Зарегистрирован: 08 авг 2005, 20:11
Откуда: Омск

Внешние атрибуты - ссылка (другие таблицы)

Сообщение Den_Is »

Вопрос наверное простой. Необходимо добавить внешний атрибут с сылкой на каталог стран. Создаю атрибут, делаю ссылка (прочие таблицы), открывается список таблиц, в списке каталога стран нет. Клавиша F7 не отрабатывает (права админа, доступ на чтение и запись всех таблиц). Как добавить в список таблиц нужную мне таблицу?
p/s Галактика 7.12.
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение Den »

наверное, никак.
дублировать может тока через пользовательскую аналитику его.
Dmitry_Sol
Постоянный гость
Сообщения: 76
Зарегистрирован: 07 июн 2007, 12:32
Откуда: Витебск
Контактная информация:

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение 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
Den
Местный житель
Сообщения: 1844
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение Den »

точки расширения с 5го атлантиса тока кажись. Надо смотреть Галка 7,12 на каком функциклирует.
YuryN
Посетитель
Сообщения: 34
Зарегистрирован: 28 ноя 2013, 12:03
Откуда: Беларусь, Гомель

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение YuryN »

Доброго времени суток, уважаемые форумчане.

Создал внешний атрибут-ссылку на пользовательскую таблицу аналитики. Заполнил таблицу. А как достать значения?

Подскажите, какими функциями работать с этим атрибутом.
Irina_
Местный житель
Сообщения: 555
Зарегистрирован: 17 июл 2012, 11:56
Откуда: Республика Беларусь, г.Могилев

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение 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_ ) );
YuryN
Посетитель
Сообщения: 34
Зарегистрирован: 28 ноя 2013, 12:03
Откуда: Беларусь, Гомель

Re: Внешние атрибуты - ссылка (другие таблицы)

Сообщение YuryN »

Спасибо, Ирина.
Ответить