Страница 1 из 1

Аттрибут(ссылка) - на классификатор

Добавлено: 15 янв 2010, 12:54
Алексей
Есть внешний классификатор на таблицу katsopr.
Нужно как-то сослаться из таблицы basedoc на этот же самый классификатор.

Я попробовал создать атрибут(ссылка) - но в нем можно ссылаться либо на пользовательскую аналитику, либо на таблицы. В таблицах таблицы классификаторов нет. В аналитике тоже.
Дублировать классификатор как-то не хочется, т.к. он очень объемный и вести два таких классификатора не вижу смысла.

Может есть какой-то другой способ? Или писать в ТП и ПиР ?

Добавлено: 15 янв 2010, 12:58
galover
Как вариант создать пользовательскую аналитику и перевести (программно) классификатор KatSopr-а на атрибут с ссылкой на эту пользовательскую аналитику

Добавлено: 15 янв 2010, 13:05
Алексей
была мысля. потом придется при изменении и добавлении делать это в двух местах. не хотелось бы.

Добавлено: 15 янв 2010, 13:20
galover
в смысле в 2-х местах? Место будет одно, от вашего старого классификатора нужно будет вообще отказаться и оставить только пользовательскую аналитику

Добавлено: 15 янв 2010, 14:51
edward_K
Посмотрите вот на это - это дабавление таблиц в окно с выбором ссылка - таблица. Таблу нужно добавлять типа ExClassVal - ну и ссотв.выбор. Удобней конечно пользоваться аналитикой - может нужно задуматься чтобы вн.клас. перенести туда?

Код: Выделить всё

Handler with replace Gal_CreateAttrRefTableMy on extensionPoint  epCreateAttrRefTable (AttrRef : ObjGetAttrTable) [10] // было 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 
   coSpecMTR,coNORMSFO,1504..1507,coStErr :
   { var ifc : CreateAttrRef_GalMy;
     Result := not ifc.PickValueRef (_coTable, _cAttrVal);
     Result := False ;
     
   }
   else Result:=true ;
   end ;
}


// ObjCreateAttrRefPlugin - вызвается интерфейсом GetAttrTable для создания ссылок на таблицы не являющиеся аналитикой.
// CreateAttrRef_Gal  реализация объектного интерфейса ObjCreateAttrRefPlugin, чтобы дополнить список ссылок.

#doc
Создание атрибутов типа ссылка (не аналитика)           
#end
//========================================
Interface CreateAttrRef_GalMy;
....
//  AttrRef ссылка на интерфейс GetAttrTable
Public Procedure AddAttrRefTable (AttrRef : ObjGetAttrTable);
{
  AttrRef.AddTable (coSpecMTR);
  AttrRef.AddTable (coNORMSFO);
   AttrRef.AddTable (1504); //ПП_Статус_налогового_лица
  AttrRef.AddTable (1505); //ПП_Код_бюджетной_классификации
  AttrRef.AddTable (coSterr); //ПП_ОКАТО
  AttrRef.AddTable (1506); //ПП_Основание_налогового_платежа
    AttrRef.AddTable (1507); //ПП_Тип_налогового_платежа

}

//  Реализация интерфейса вызова для таблицы
Public  Function PickValueRef (_coTable: word; _cAttrVal: comp): boolean;
....

Добавлено: 18 янв 2010, 11:20
Алексей
спасибо.
долго думали и пришли к выводу о необходимости переноса классификатор в пользовательскую аналитику.
для меня то проблем нет, просто по другому направлению в галактике уже написано много вещей, который не дадут одномоментно отказаться от классификатора.

решили пока оставить и то и то и постепенно все программные разработки перевести на пользовательскую аналитику.
а добавление новых записей осуществлять программно в оба места.