DataSourceKeyDefined: Boolean;
DataSourceKeyDefined: boolean;
Свойство DataSourceKeyDefined определяет признак наличия параметра «DS_KEY».
Если свойству DataSourceKeyDefined установлено значение True, то в строке связи, описывающей редактор значения, будет присутствовать параметр «DS_KEY». Значение данного параметра определяет свойство IBindingDimCombo.DataSourceKey.
Для выполнения примера предполагается наличие в репозитории регламентного отчёта с идентификатором REPORT. В первой ячейке отчёта должен отображаться раскрывающийся список справочника.
Добавьте ссылки на системные сборки: Metabase, Report, Tab, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
Report: IPrxReport;
Tab: ITabSheet;
Style: ITabCellStyle;
BM: IBindingManager;
Binding: IBindingValue;
DimComboBinding: IBindingDimCombo;
SourceBinding: String;
Begin
// Получим текущий репозиторий
MB := MetabaseClass.Active;
// Получим регламентный отчёт
Report := MB.ItemById("REPORT").Edit As IPrxReport;
// Получим стиль первой ячейки в левом верхнем углу отчёта
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
//Style := Tab.Cell(0, 0).Style;
Style := Tab.Cell(10, 0).Style;
SourceBinding := Style.Binding;
// Выведем в консоль значения параметров строки связи
BM := New BindingManager.Create;
Binding := BM.CreateByValue(SourceBinding);
If Binding.UI = "DimCombo" Then
DimComboBinding := Binding As IBindingDimCombo;
//Проверка наличия параметра GROUP
If DimComboBinding.GroupDefined Then
Debug.WriteLine("GROUP: " + DimComboBinding.Group);
End If;
//Проверка наличия параметра SCHEMA
If DimComboBinding.SchemaDefined Then
Debug.WriteLine("SCHEMA: " + DimComboBinding.Schema);
End If;
//Проверка наличия параметра CUSTOMMULTISELECTTEXT
If DimComboBinding.CustomMultiselectTextDefined Then
Debug.WriteLine("CUSTOMMULTISELECTTEXT: " + DimComboBinding.CustomMultiselectText);
End If;
//Проверка наличия параметра LEVELATTR
If DimComboBinding.LevelAttributeDefined Then
Debug.WriteLine("LEVELATTR: " + DimComboBinding.LevelAttribute);
End If;
//Проверка наличия параметра ID
If DimComboBinding.ObjectDefined Then
Debug.WriteLine("ID: " + DimComboBinding.Object);
End If;
//Проверка наличия параметра RDS
If DimComboBinding.RdsDefined Then
Debug.WriteLine("RDS: " + DimComboBinding.Rds);
End If;
//Проверка наличия параметра SELECTIONMODE
If DimComboBinding.SelectionModeDefined Then
Debug.WriteLine("SELECTIONMODE: " + DimComboBinding.SelectionMode.ToString);
End If;
//Проверка наличия параметра VALUE
If DimComboBinding.ValueDefined Then
Debug.WriteLine("VALUE: " + DimComboBinding.Value);
End If;
//Проверка наличия параметра ATTRIBUTEVALUE
If DimComboBinding.ValueAttributeDefined Then
Debug.WriteLine("ATTRIBUTEVALUE: " + DimComboBinding.ValueAttribute);
End If;
//Проверка наличия параметра DS_KEY
If DimComboBinding.DataSourceKeyDefined Then
Debug.WriteLine("DS_KEY: " + DimComboBinding.DataSourceKey.ToString);
End If;
//Проверка наличия параметра PT_KEY
If DimComboBinding.PointKeyDefined Then
Debug.WriteLine("PT_KEY: " + DimComboBinding.PointKey.ToString);
End If;
//Проверка наличия параметра DIM_KEY
If DimComboBinding.DimensionKeyDefined Then
Debug.WriteLine("DIM_KEY: " + DimComboBinding.DimensionKey.ToString);
End If;
//Проверка наличия параметра SORTDIRECTION
If DimComboBinding.SortDirectionDefined Then
Debug.WriteLine("SORTDIRECTION: " + DimComboBinding.SortDirection.ToString);
End If;
End If;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Report: IPrxReport;
Tab: ITabSheet;
Style: ITabCellStyle;
BM: BindingManager = New BindingManagerClass();
Binding: IBindingValue;
DimComboBinding: IBindingDimCombo;
SourceBinding: String;
Begin
// Получим текущий репозиторий
MB := Params.Metabase;
// Получим регламентный отчёт
Report := MB.ItemById["REPORT"].Edit() As IPrxReport;
// Получим стиль первой ячейки в левом верхнем углу отчёта
Tab := (Report.ActiveSheet As IPrxTable).TabSheet;
Style := Tab.Cell[0, 0].Style;
SourceBinding := Style.Binding;
// Выведем в консоль значения параметров строки связи
Binding := BM.CreateByValue(SourceBinding);
If Binding.UI = "DimCombo" Then
DimComboBinding := Binding As IBindingDimCombo;
//Проверка наличия параметра GROUP
If DimComboBinding.GroupDefined Then
System.Diagnostics.Debug.WriteLine("GROUP: " + DimComboBinding.Group);
End If;
//Проверка наличия параметра SCHEMA
If DimComboBinding.SchemaDefined Then
System.Diagnostics.Debug.WriteLine("SCHEMA: " + DimComboBinding.Schema);
End If;
//Проверка наличия параметра CUSTOMMULTISELECTTEXT
If DimComboBinding.CustomMultiselectTextDefined Then
System.Diagnostics.Debug.WriteLine("CUSTOMMULTISELECTTEXT: " + DimComboBinding.CustomMultiselectText);
End If;
//Проверка наличия параметра LEVELATTR
If DimComboBinding.LevelAttributeDefined Then
System.Diagnostics.Debug.WriteLine("LEVELATTR: " + DimComboBinding.LevelAttribute);
End If;
//Проверка наличия параметра ID
If DimComboBinding.ObjectDefined Then
System.Diagnostics.Debug.WriteLine("ID: " + DimComboBinding.Object);
End If;
//Проверка наличия параметра RDS
If DimComboBinding.RdsDefined Then
System.Diagnostics.Debug.WriteLine("RDS: " + DimComboBinding.Rds);
End If;
//Проверка наличия параметра SELECTIONMODE
If DimComboBinding.SelectionModeDefined Then
System.Diagnostics.Debug.WriteLine("SELECTIONMODE: " + DimComboBinding.SelectionMode.ToString());
End If;
//Проверка наличия параметра VALUE
If DimComboBinding.ValueDefined Then
System.Diagnostics.Debug.WriteLine("VALUE: " + DimComboBinding.Value);
End If;
//Проверка наличия параметра ATTRIBUTEVALUE
If DimComboBinding.ValueAttributeDefined Then
System.Diagnostics.Debug.WriteLine("ATTRIBUTEVALUE: " + DimComboBinding.ValueAttribute);
End If;
//Проверка наличия параметра DS_KEY
If DimComboBinding.DataSourceKeyDefined Then
System.Diagnostics.Debug.WriteLine("DS_KEY: " + DimComboBinding.DataSourceKey.ToString());
End If;
//Проверка наличия параметра PT_KEY
If DimComboBinding.PointKeyDefined Then
System.Diagnostics.Debug.WriteLine("PT_KEY: " + DimComboBinding.PointKey.ToString());
End If;
//Проверка наличия параметра DIM_KEY
If DimComboBinding.DimensionKeyDefined Then
System.Diagnostics.Debug.WriteLine("DIM_KEY: " + DimComboBinding.DimensionKey.ToString());
End If;
//Проверка наличия параметра SORTDIRECTION
If DimComboBinding.SortDirectionDefined Then
System.Diagnostics.Debug.WriteLine("SORTDIRECTION: " + DimComboBinding.SortDirection.ToString());
End If;
End If;
End Sub;
После выполнения примера в консоль будут выведены значения параметров строки связи, заданной для формата первой ячейки регламентного отчёта в виде раскрывающегося списка справочника.
См. также: