IBindingDimCombo.DataSourceKeyDefined

DataSourceKeyDefined: Boolean;

DataSourceKeyDefined: boolean;

Описание

Свойство DataSourceKeyDefined определяет признак наличия параметра «DS_KEY».

Комментарии

Если свойству DataSourceKeyDefined установлено значение True, то в строке связи, описывающей редактор значения, будет присутствовать параметр «DS_KEY». Значение данного параметра определяет свойство IBindingDimCombo.DataSourceKey.

Пример Fore

Для выполнения примера предполагается наличие в репозитории регламентного отчёта с идентификатором 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(100).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[
00].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;

После выполнения примера в консоль будут выведены значения параметров строки связи, заданной для формата первой ячейки регламентного отчёта в виде раскрывающегося списка справочника.

См. также:

IBindingDimCombo