IMsProblemCalculation.SaveZeros

Синтаксис Fore

SaveZeros: Boolean;

Синтаксис Fore.NET

SaveZeros: boolean;

Описание

Свойство SaveZeros определяет параметр «Выгружать рассчитанные нули в базу» при расчете задачи моделирования.

Комментарии

Допустимые значения:

Примечание. Свойства IMsProblemCalculation.SaveZeros и IMsModel.SaveZeros работают совместно по условию И. Например, если для модели SaveZeros установлено в True, а для задачи, рассчитывающую данную модель SaveZeros установлено в False, то после расчета задачи в базу данных сохраняются только ненулевые значения.
Данная возможность позволяет управлять сохранением нулевых значений как отдельно для каждой модели, так и для всех моделей, рассчитываемых задачей.

Пример Fore

Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором «MS», содержащего задачу моделирования с идентификатором «PROBLEML_SAVEZEROS».

Добавьте ссылки на системные сборки: Metabase, Ms.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
    Calculation: IMsProblemCalculation;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemByIdNamespace("PROBLEM_SAVEZEROS", MB.ItemById("MS").Key).Bind;
    Problem := MObj As IMsProblem;
    CalcSett := Problem.CreateCalculationSettings;
    Calculation := Problem.Calculate(CalcSett);
    Calculation.SaveZeros := False;
    Calculation.SaveData := True;
    Calculation.Run;
End Sub UserProc;

В результате выполнения примера задача будет рассчитана, в базу данных будут сохранены только ненулевые значения.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
    Calculation: IMsProblemCalculation;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemByIdNamespace["PROBLEM_SAVEZEROS", MB.ItemById["MS"].Key].Bind();
    Problem := MObj As IMsProblem;
    CalcSett := Problem.CreateCalculationSettings();
    Calculation := Problem.Calculate(CalcSett);
    Calculation.SaveZeros := False;
    Calculation.SaveData := True;
    Calculation.Run();
End Sub;

См. также:

IMsProblemCalculation