SaveModel: IMetabaseObjectDescriptor;
SaveModel: Prognoz.Platform.Interop.Metabase.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;
После выполнения примера вычисляемый ряд будет сохранён в виде модели, в окно консоли будет выведено её наименование.
Для выполнения примера предполагается наличие формы .NET, расположенной на ней кнопки с идентификатором «button1», компонента LanerBoxNet с идентификатором «lanerBoxNet1» и компонента UiErAnalyzerNet с идентификатором «uiErAnalyzerNet1», являющегося источником данных для «lanerBoxNet1». В «uiErAnalyzerNet1» должна быть загружена рабочая книга базы данных временных рядов. В рабочей книге должен быть создан только один вычисляемый ряд и для него должны быть заданы значения всех атрибутов.
Пример является обработчиком события Click для кнопки «button1».
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Laner;
…
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
ErAn: IEaxAnalyzer;
Laner: ILaner;
Serie: ILanerSerie;
CalculateSerie: ILanerCalculateSerie;
i: Integer;
Begin
ErAn := uiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
Laner := ErAn.Laner;
For i := 0 To Laner.Series.Count - 1 Do
Serie := Laner.Series.Item[i];
If Serie.Kind = LnSerieKind.lskCalculate Then
CalculateSerie := Serie As ILanerCalculateSerie;
CalculateSerie.SaveModel();
System.Diagnostics.Debug.WriteLine(CalculateSerie.Model.Name);
End If;
End For;
End Sub;
Результат выполнения примера Fore.NET совпадает с результатом выполнения примера Fore.
См. также: