IPivot.CalculateDataRights

Синтаксис

CalculateDataRights: Boolean;

CalculateDataRights: boolean;

Описание

Свойство CalculateDataRights определяет, будут ли рассчитываться права доступа пользователя к ячейкам таблицы.

Комментарии

Возможные значения:

Свойство актуально для использования при построении таблицы с помощью метода IPivot.ObtainTable. Если для пользователей разграничены права доступа на ячейки таблицы, то при расчёте прав доступа можно будет определить операции, доступные конкретному пользователю над ячейками таблицы, с помощью перечисления CubeDataRights.

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

Пример

Для выполнения примера предполагается наличие формы, расположенного на ней компонента Button с наименованием «Button1», компонента TabSheetBox с наименованием «TabSheetBox1» и компонента UiErAnalyzer с наименованием «UiErAnalyzer1», являющегося источником данных для TabSheetBox (для примера на Fore.NET используйте компонент TabSheetBoxNet с наименованием «TabSheetBoxNet1» и компонент UiErAnalyzerNet с наименованием «uiErAnalyzerNet1»). В «UiErAnalyzer1» должен быть загружен экспресс-отчет. Пользователю должны быть даны права только на чтение к первой ячейке таблицы.

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

Пример будет выполняться при нажатии на кнопку, реализованную компонентом Button с наименованием «Button1».

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var 
    EaxAn: IEaxAnalyzer;
    Pivot: IPivot;
    Table: IPivotTable;
Begin
    
//Активируем компонент для получения доступа к данным
    UiErAnalyzer1.Active:= True;
    
//Определим экспресс-отчет, подключенный к компоненту
    EaxAn := UiErAnalyzer1.ErAnalyzer;
    Pivot := EaxAn.Pivot;
    
//Определим необходимость расчета прав доступа к данным 
    Pivot.CalculateDataRights := True;
    
//Построим таблицу, рассчитаем права доступа пользователя к ячейкам
    Table := Pivot.ObtainTable;
    
//Проверим права доступа пользователя к первой ячейке таблицы
    //Если у пользователя есть права только на чтение, будет выведено соответствующее сообщение
    If Table.DataRights(00) = CubeDataRights.Read Then
       WinApplication.InformationBox(
"Первая ячейка таблицы доступна только для чтения");
    
End If;
End Sub Button1OnClick;

Imports System.Windows.Forms;
Imports Prognoz.Platform.Forms.Net;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Ui;
Imports Prognoz.Platform.Interop.Tab;

Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var 
    EaxAn: IEaxAnalyzer;
    Pivot: IPivot;
    Table: IPivotTable;
    WinAppCls: WinApplicationClass = 
New WinApplicationClassClass();
Begin
    
//Активируем компонент для получения доступа к данным
    UiErAnalyzerNet1.Active:= True;
    
//Определим экспресс-отчет, подключенный к компоненту
    EaxAn := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
    Pivot := EaxAn.Pivot;
    
//Определим необходимость расчета прав доступа к данным 
    Pivot.CalculateDataRights := True;
    
//Построим таблицу, рассчитаем права доступа пользователя к ячейкам
    Table := Pivot.ObtainTable();
    
//Проверим права доступа пользователя к первой ячейке таблицы
    //Если у пользователя есть права только на чтение, будет выведено соответствующее сообщение
    If Table.DataRights[00] = CubeDataRights.cubdatrigRead Then
        WinAppCls.InformationBox(
"Первая ячейка таблицы доступна только для чтения"New IWin32WindowForeAdapter(Self));
    
End If;        
End Sub;

В результате выполнения примера на форме отобразится таблица с данными, откроется окно с сообщением о правах доступа к первой ячейке таблицы:

См. также:

IPivot | IPivot.ObtainTable | CubeDataRights