IMsProblemCalculation.TreatNullsAsZeros

Синтаксис

TreatNullsAsZeros: Boolean;

Описание

Свойство TreatNullsAsZeros определяет признак замены пустых значений нулями при расчёте задачи моделирования.

Комментарии

Пустое значение - это Null.

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

После расчёта задачи моделирования свойству устанавливается значение False.

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

Пример

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

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

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Problem: IMsProblem;
    CalcSett: IMsProblemCalculationSettings;
    Calculation: IMsProblemCalculation;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemByIdNamespace("PROBLEM", MB.ItemById("MS").Key).Edit;
    Problem := MObj As IMsProblem;
    CalcSett := Problem.CreateCalculationSettings;
    Calculation := Problem.Calculate(CalcSett);
    Calculation.TreatNullsAsZeros := True;
    Calculation.SaveHistory := True;
    Calculation.Run;
    MObj.Save;
End Sub UserProc;

История расчёта задачи, произведённого в процессе выполнения примера с заменой пустых значений нулями, сохранится в контейнере моделирования. При расчёте некорректной задачи история расчёта задачи сохранена не будет.

См. также:

IMsProblemCalculation