Execute(Selection: IDimSelectionSet; ScenarioDimIndex: Index; EmptyMatrix: Boolean): IVariableStubExecuteResult;
Execute(Selection: Prognoz.Platform.Interop.Dimensions.IDimSelectionSet; ScenarioDimIndex: Index; EmptyMatrix: Boolean): Prognoz.Platform.Interop.Cubes.IVariableStubExecuteResult;
Selection. Отметка измерений источника, по которой нужно загрузить данные.
ScenarioDimIndex. Индекс сценарного справочника.
EmptyMatrix. Признак того, выгружать ли результаты в матрицу.
Метод Execute осуществляет загрузку данных из источника.
Метод загружает данные из источника в соответствии с отметкой, указанной в параметре Selection. Если значение данного параметра Null, то будут загружены все данные.
Если в параметре EmptyMatrix передаётся значение False, то матрица с результирующими данными будет доступна в свойстве IVariableStubExecuteResult.Matrix. Если в параметре EmptyMatrix передается значение True, то данные не загружаются, а в свойстве IVariableStubExecuteResult.Matrix будет доступна пустая матрица, структура которой соответствует структуре источника. Полученная матрица может быть использована для изменения данных. Для сохранения изменений используйте метод IVariableStubExecuteResult.Save.
Параметр ScenarioDimIndex используется, если осуществляется работа с переменной моделирования. Если в качестве значения параметра передается значение «-1», то поиск сценарного справочника в структуре переменной осуществляется автоматически.
Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «Model_Space». В данном контейнере присутствует переменная с идентификатором «Variable».
Sub UserProc;
Var
MB: IMetabase;
Variable: IVariableStub;
Result: IVariableStubExecuteResult;
Mat: IMatrix;
Ite: IMatrixIterator;
Begin
MB := MetabaseClass.Active;
Variable := MB.ItemByIdNamespace("Variable", MB.GetObjectKeyById("Model_Space")).Bind As IVariableStub;
Result := Variable.Execute(Null, -1, False);
Mat := Result.Matrix;
Ite := Mat.CreateIterator;
Ite.Move(IteratorDirection.First);
While Ite.Valid Do
Debug.WriteLine(Ite.Value);
Ite.Move(IteratorDirection.Next);
End While;
End Sub UserProc;
После выполнения примера в окно консоли будут выведены данные переменной моделирования.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Matrix;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Variable: IVariableStub;
Result: IVariableStubExecuteResult;
Mat: IMatrix;
Ite: IMatrixIterator;
Begin
MB := Params.Metabase;
Variable := MB.ItemByIdNamespace["Variable", MB.GetObjectKeyById("Model_Space")].Bind() As IVariableStub;
Result := Variable.Execute(Null, -1, False);
Mat := Result.Matrix;
Ite := Mat.CreateIterator();
Ite.Move(IteratorDirection.itdFirst);
While Ite.Valid Do
System.Diagnostics.Debug.WriteLine(Ite.Value);
Ite.Move(IteratorDirection.itdNext);
End While;
End Sub;
См. также: