SaveModel: IMetabaseObjectDescriptor;
Метод SaveModel сохраняет вычисляемый ряд в виде модели.
Если используется СУБД MSSQL и база данных временных рядов использует отдельную БД для хранения данных, то для корректного выполнения метода требуется соблюдение одного из следующих условий:
БД для хранения данных и БД, используемого репозитория НСИ, должны располагаться в одном репозитории;
в БД для хранения данных и в БД, используемого репозитория НСИ, должны быть отключены роли приложения.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента LanerBox с идентификатором «LanerBox1» и компонента UiErAnalyzer с идентификатором «UiErAnalyzer1», являющегося источником данных для «LanerBox1». В «UiErAnalyzer1» должна быть загружена рабочая книга базы данных временных рядов. В рабочей книге должен быть создан только один вычисляемый ряд и для него должны быть заданы значения всех атрибутов.
Добавьте ссылку на системную сборку «Metabase».
Пример является обработчиком события OnClick для кнопки «Button1».
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
ErAn: IEaxAnalyzer;
Laner: ILaner;
Serie: ILanerSerie;
CalculateSerie: ILanerCalculateSerie;
i: Integer;
Begin
ErAn := UiErAnalyzer1.ErAnalyzer;
Laner := ErAn.Laner;
For i := 0 To Laner.Series.Count - 1 Do
Serie := Laner.Series.Item(i);
If Serie.Kind = LnSerieKind.Calculate Then
CalculateSerie := Serie As ILanerCalculateSerie;
CalculateSerie.SaveModel;
Debug.WriteLine(CalculateSerie.Model.Name);
End If;
End For;
End Sub Button1OnClick;
После выполнения примера вычисляемый ряд будет сохранён в виде модели, в окно консоли будет выведено её наименование.
См. также: