ItemDefined(Index: Integer): Boolean;
ItemDefined[Index: Integer]: Boolean;
Index. Номер параметра.
Свойство ItemDefined определяет признак наличия параметра с указанными номером в строке связи.
Если свойству ItemDefined установлено значение True, то в строке связи, описывающей редактор значения, будет присутствовать параметр с указанным номером. Значение данного параметра определяет свойство Item.
Sub DimComboParamInfo(SourceBinding: String);
Var
BM: IBindingManager;
Binding: IBindingValue;
DimComboBinding: IBindingDimCombo;
Params: IBindingObjectParamValues;
i: Integer;
Begin
BM := New BindingManager.Create;
Binding := BM.CreateByValue(SourceBinding);
If Binding.UI = "DimCombo" Then
DimComboBinding := Binding As IBindingDimCombo;
Params := DimComboBinding.ParamValues;
If Params.Count > 0 Then
//Проверка наличия параметра YEAR_START, который создается в календарном справочнике
If Params.ValueDefined("PARAMID_YEAR_START") Then
Debug.WriteLine("YEAR_START: " + Params.Value("PARAMID_YEAR_START"));
End If;
//Проверка наличия параметра YEAR_FINISH, который создается в календарном справочнике
If Params.ValueDefined("PARAMID_YEAR_FINISH") Then
Debug.WriteLine("YEAR_FINISH: " + Params.Value("PARAMID_YEAR_FINISH"));
End If;
//Проверка параметров по номерам
For i := 1 To Params.Count Do
If Params.ItemDefined(i) Then
Debug.WriteLine("Параметр №" + i.ToString + ". Значение: " + Params.Item(i));
End If;
End For;
End If;
End If;
End Sub DimComboParamInfo;
Данная функция осуществляет проверку строки связи, передаваемой в качестве входного параметра SourceBinding. Если строка связи соответствует редактору в виде раскрывающегося списка справочника и имеет в тексте значения параметров, передаваемые для открытия справочника, то эти значения будут выведены в консоль среды разработки.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.ForeSystem;
Sub DimComboParamInfo(SourceBinding: String);
Var
BM: BindingManager = New BindingManagerClass();
Binding: IBindingValue;
DimComboBinding: IBindingDimCombo;
Params: IBindingObjectParamValues;
i: Integer;
Begin
Binding := BM.CreateByValue(SourceBinding);
If Binding.UI = "DimCombo" Then
DimComboBinding := Binding As IBindingDimCombo;
Params := DimComboBinding.ParamValues;
If Params.Count > 0 Then
//Проверка наличия параметра YEAR_START, который создается в календарном справочнике
If Params.ValueDefined["PARAMID_YEAR_START"] Then
System.Diagnostics.Debug.WriteLine("YEAR_START: " + Params.Value["PARAMID_YEAR_START"]);
End If;
//Проверка наличия параметра YEAR_FINISH, который создается в календарном справочнике
If Params.ValueDefined["PARAMID_YEAR_FINISH"] Then
System.Diagnostics.Debug.WriteLine("YEAR_FINISH: " + Params.Value["PARAMID_YEAR_FINISH"]);
End If;
//Проверка параметров по номерам
For i := 1 To Params.Count Do
If Params.ItemDefined[i] Then
System.Diagnostics.Debug.WriteLine("Параметр №" + i.ToString() + ". Значение: " + Params.Item[i]);
End If;
End For;
End If;
End If;
End Sub;
См. также: