SaveZeros: Boolean;
SaveZeros: boolean;
Свойство SaveZeros определяет параметр «Выгружать рассчитанные нули в базу» при расчете задачи моделирования.
Допустимые значения:
True. Значение по умолчанию. Нулевые значения, полученные при расчете задачи, будут выгружены в базу данных;
False. После расчета задачи в базу данных сохраняются только ненулевые значения.
Примечание.
Свойства IMsProblemCalculation.SaveZeros
и IMsModel.SaveZeros
работают совместно по условию И.
Например, если для модели SaveZeros
установлено в True, а для задачи,
рассчитывающую данную модель SaveZeros
установлено в False, то после
расчета задачи в базу данных сохраняются только ненулевые значения.
Данная возможность позволяет управлять сохранением нулевых значений как
отдельно для каждой модели, так и для всех моделей, рассчитываемых задачей.
Для выполнения примера в репозитории предполагается наличие контейнера моделирования с идентификатором «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.
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;
См. также: