Ms > Интерфейсы сборки Ms > IMsFormulaTerm > IMsFormulaTerm.UpdateSlice
UpdateSlice(Value: IMsFormulaTransformSlice; Lag: String);
Value. Срез переменной, который необходимо обновить.
Lag. Лаг, который необходимо задать.
Метод UpdateSlice используется для обновления среза переменной и лага, на которую ссылается данный терм.
Примечание. Метод является устаревшим, используйте вместо него свойство TermInfo.
Для выполнения примера предполагается наличие в контейнере моделирования модели с идентификатором "NEW_NONLINREG". Для расчета модели используется метод нелинейной регрессии.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
Model: IMsModel;
Trans: IMsFormulaTransform;
VarTrans: IMsFormulaTransformVariable;
Tree: IMsFormulaTransformSlicesTree;
Slice: IMsFormulaTransformSlice;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
NonLinear: IMsNonLinearRegressionTransform;
TransVar: IMsFormulaTransformVariable;
TermX1: IMsFormulaTerm;
s: String;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemByIdNamespace("NEW_NONLINREG", MB.ItemById("KONT_MODEL").Key).Edit;
Model := MObj As IMsModel;
Trans := Model.Transform;
VarTrans := Trans.Outputs.Item(0);
Tree := VarTrans.SlicesTree(VarTrans);
Slice := Tree.CreateSlice(1);
Selector := Model.Transform.CreateSelector;
Selector.Slice := Slice;
Formula := Model.Transform.Transform(Selector);
Formula.Kind := MsFormulaKind.NonLinearRegression;
NonLinear := Formula.Method As IMsNonLinearRegressionTransform;
TransVar := Model.Transform.Inputs.Item(0);
TermX1 := NonLinear.Operands.Item(0);
//получение нового среза переменной
Slice := TransVar.SlicesTree(VarTrans).CreateSlice(3);
//обновление среза и лага в терме
TermX1.UpdateSlice(Slice, "-3");
MObj.Save;
End Sub Main;
После выполнения примера будет обновлен терм, ссылающийся на срез первой входной переменной модели.
См. также: