Show contents 

Ms > Ms Assembly Interfaces > IMsMetaModel > IMsMetaModel.SaveLaner

IMsMetaModel.SaveLaner

Syntax

SaveLaner(Laner: ILaner; SerieIndices: Array);

Parameters

Laner. Working area of the time series database.

SerieIndices. Indexes of the saved series represented as an array.

Description

The SaveLaner method stores a model of the series workbook in the metamodel chain.

Comments

If value of the parameter SerieIndices = Null, all series will be saved.

Example

Executing the example requires a form, a button named Button1 on the form, the TabSheetBox component and the UiErAnalyzer component named UiErAnalyzer1 that is a data source for TabSheetBox. A workbook of the time series database should be loaded to UiErAnalyzer1. Modeling container of this database must include the OBJ_METAMODEL metamodel.

Click the button to start executing of this example.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
    ActiveMetabase: IMetabase;
    ErAn: IEaxAnalyzer;
    Cont: IMetabaseObjectDescriptor;
    Ruby: IRubricator;
    Laner: ILaner;
    MModel: IMsMetaModel;
    Serie, CalcSerie: ILanerCalculateSerie;
    Ar: Array[1Of Integer;
    Series: ILanerSeries;
    tr: IMsFormulaTransform;
    OutVar, InpVar: IMsFormulaTransformVariable;
    Slice: IMsFormulaTransformSlice;
    Selector: IMsFormulaTransformSelector;
    Formula: IMsFormula;
    Determ: IMsDeterministicTransform;
    TermInfo: IMsFormulaTermInfo;
Begin
    ErAn := UiErAnalyzer1.ErAnalyzer;
    Laner := ErAn.Laner;
    Laner.BeginUpdate;
    Series := Laner.Series;
    CalcSerie := Series.Item(0As ILanerCalculateSerie;
    Serie := Series.AddCalculateSerieAsSource(CalcSerie.Source);
    Serie.Name := Serie.SourceStub.Name + " + 10";
    Serie.UseTransform := True;
    Ar[0] := Series.Count - 1;
    tr := Serie.Transform.Transform As IMsFormulaTransform;
    OutVar := tr.Outputs.Item(0);
    Slice := OutVar.Slices.Add(Null);
    Selector := tr.CreateSelector;
    Selector.Slice := Slice;
    Formula := tr.Transform(Selector);
    Formula.Kind := MsFormulaKind.Deterministic;
    Determ := Formula.Method As IMsDeterministicTransform;
    InpVar := tr.Inputs.Add(Serie.SourceStub);
    Slice := InpVar.Slices.Add(Null);
    TermInfo := tr.CreateTermInfo;
    TermInfo.Slice := Slice;
    Determ.Expression.AsString := TermInfo.TermInnerText + " + 10";
    Laner.EndUpdate;
    Ruby := Laner.RubricatorInstance.Rubricator;
    Cont := Ruby.ModelSpace;
    ActiveMetabase := MetabaseClass.Active;
    MModel := ActiveMetabase.FetchItemById("OBJ_METAMODEL", Cont.Key).Edit As IMsMetaModel;
    MModel.SaveLaner(Laner, Ar);
    (MModel As IMetabaseObject).Save;
End Sub Button1OnClick;

After executing the example a new calculated series is added to the workbook. After that the calculation model of this series is added to the chain of the OBJ_METAMODEL metamodel.

See also:

IMsMetaModel