IValidationLevel.ComparisonValue

Синтаксис Fore

ComparisonValue: IValidationComparisonValue;

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

ComparisonValue: Prognoz.Platform.Interop.Ms.IValidationComparisonValue;

Описание

Свойство ComparisonValue возвращает параметры сравнения.

Комментарии

Значения для сравнения могут быть как абсолютными, так и процентными. Для выбора типа значения используйте свойство IValidationComparisonValue.Percentage.

Пример

Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB_VALIDATION_PARAMETERS», содержащей правило валидации с идентификатором «VALIDATION».

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

Sub UserProc;
Var
    Mb: IMetabase;
    RubrKey: Integer;
    ValidObj: IMetabaseObject;
    ValidFilter: IValidationFilter;
    Level: IValidationLevel;
    ComparisonValue: IValidationComparisonValue;
Begin
    Mb := MetabaseClass.Active;
    // Получаем правило валидации
    RubrKey := Mb.GetObjectKeyById("TSDB_VALIDATION_PARAMETERS");
    ValidObj := Mb.ItemByIdNamespace("VALIDATION", RubrKey).Edit;
    ValidFilter := ValidObj As IValidationFilter;
    // Задаем уровень динамики, к которому применяем правило
    ValidFilter.Level := DimCalendarLevel.None;
    // Указываем тип валидации
    ValidFilter.Kind := ValidationDetailsKind.Level;
    // Получаем параметры валидации «Сравнение с числом»
    Level := ValidFilter.Details As IValidationLevel;
    // Задаем параметры сравнения
    ComparisonValue := Level.ComparisonValue;
    ComparisonValue.ComparisonOperator := ValidationComparisonOperator.More;
    ComparisonValue.Percentage := False;
    ComparisonValue.Value1 := -0.3;
    // Очищаем область выполнения и фильтр валидации
    Level.SelectionTargetData.Clear;
    Level.SelectionFilter.Clear;
    // Сохраняем правило
    ValidObj.Save;
End Sub UserProc;

В результате выполнения примера будет настроено правило валидации «Сравнение с числом»: выявляются значения ряда больше «-0,3».

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    RubrKey: uinteger;
    ValidObj: IMetabaseObject;
    ValidFilter: IValidationFilter;
    Level: IValidationLevel;
    ComparisonValue: IValidationComparisonValue;
Begin
    Mb := Params.Metabase;
    // Получаем правило валидации
    RubrKey := Mb.GetObjectKeyById("TSDB_VALIDATION_PARAMETERS");
    ValidObj := Mb.ItemByIdNamespace["VALIDATION", RubrKey].Edit();
    ValidFilter := ValidObj As IValidationFilter;
    // Задаем уровень динамики, к которому применяем правило
    ValidFilter.Level := DimCalendarLevel.dclNone;
    // Указываем тип валидации
    ValidFilter.Kind := ValidationDetailsKind.vdkLevel;
    // Получаем параметры валидации «Сравнение с числом»
    Level := ValidFilter.Details As IValidationLevel;
    // Задаем параметры сравнения
    ComparisonValue := Level.ComparisonValue;
    ComparisonValue.ComparisonOperator := ValidationComparisonOperator.vcoMore;
    ComparisonValue.Percentage := False;
    ComparisonValue.Value1 := -0.3;
    // Очищаем область выполнения и фильтр валидации
    Level.SelectionTargetData.Clear();
    Level.SelectionFilter.Clear();
    // Сохраняем правило
    ValidObj.Save();
End Sub;

См. также:

IValidationLevel