ParamId: String;
Свойство ParamId определяет идентификатор параметра, задающего значение атрибута.
Если идентификатор параметра не задан, то значение параметра определяет свойство ILanerMetaAttributeValue.Value.
Если заданы свойства ParamId и ILanerMetaAttributeValue.Value, то значение атрибута определяет то свойство, которое задано последним.
Для выполнения примера предполагается наличие формы, содержащей компонент LanerBox с идентификатором «LanerBox1» и компонент UiErAnalayzer с идентификатором «UiErAnalayzer1», являющийся источником данных для «LanerBox1». В «UiErAnalayzer1» должна быть загружена рабочая книга БД временных рядов, содержащая ряды и целочисленный параметр с идентификатором «COUNTRY_PARAM». В данной БД временных рядов должен присутствовать пользовательский атрибут временных рядов с идентификатором «COUNTRY».
Добавьте ссылку на системную сборку «Transform».
Sub MetaAttrVal;
Var
Eax: IEaxAnalyzer;
ParamProv: ITsParamProvider;
ParamVal: ITsModelParamValue;
Series: ILanerSerie;
AttrValList: ILanerMetaAttributeValueList;
AttrVal: ILanerMetaAttributeValue;
Laner: ILaner;
Begin
Eax := UiErAnalyzer1.ErAnalyzer;
// Получаем объект для работы с параметрами
ParamProv := Eax.ParamProvider As ITsParamProvider;
// Задаем значение параметра «COUNTRY_PARAM»
ParamVal := ParamProv.ParamValues.FindById("COUNTRY_PARAM");
ParamVal.Value := 914;
// Получаем выделенный ряд
Series := LanerBox1.SelectedSeries(0);
// Получаем коллекцию значений атрибутов ряда
AttrValList := Series.MetaAttributeValueList;
// Указываем, что значение атрибута «COUNTRY»
определяет параметр «COUNTRY_PARAM»
AttrVal := AttrValList.FindById("COUNTRY");
AttrVal.ParamId := "COUNTRY_PARAM";
// Обновляем данные
Laner := Eax.Laner;
Laner.Refresh;
End Sub MetaAttrVal;
Результат выполнения примера: для ряда, выделенного в компоненте «LanerBox1», значение атрибута «COUNTRY» будет определять параметр «COUNTRY_PARAM».
См. также: