IsDimPinned(Source: Integer; DimKey: Integer;): Boolean;
IsDimPinned(Source: Integer; DimKey: Integer;): Boolean;
Source. Параметр, определяющий ключ источника.
DimKey. Параметр, определяющий ключ измерения в источнике.
Свойство IsDimPinned определяет признак переноса измерения между частными и фиксированными частными измерениями.
При фиксации общего измерения в источнике, оно разбивается на частные и указанное частное — фиксируется.
Если свойству присвоить значение True, то измерение будет перенесено в фиксированные частные измерения из частных.
Если свойству присвоить значение False, то измерение будет перенесено в частные измерения из фиксированных частных.
Для того чтобы проверить, куда можно перенести измерение, используйте метод IEaxAnalyzer.CanPinDim.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «Obj_1».
Добавьте ссылки на системные сборки: Pivot, Express, Metabase и Dimensions.
Sub Main;
Var
MB: IMetabase;
Expr: IEaxAnalyzer;
Pvt: IPivot;
CompoundDim: IDimInstance;
n: Boolean;
Source: ICompoundDimensionSource;
DimKey: Integer;
Begin
MB := MetabaseClass.Active;
Expr := MB.ItemById("OBJ_1").Edit As IEaxAnalyzer;
Pvt := Expr.Pivot;
//Находим частные измерения
CompoundDim := Pvt.Selection.FindById("FACTS_COMPOUND").Dimension;
//Получаем первый
источник частных измерений
Source := (CompoundDim.Dimension As ICompoundDimension).Sources.Item(0);
//Получаем ключ частного измерения
DimKey := (Source.Dimensions.Item(0) As IMetabaseObject).Key;
debug.Write("Ключ источника: ");
debug.WriteLine(Source.Key);
debug.Write("Ключ частного измерения: ");
debug.WriteLine(DimKey);
//Проверяем, может ли это измерение стать фиксированным частным,
и при возможности переносим его
n := Expr.CanPinDim(Source.Key, DimKey, True);
If n = True Then
Expr.IsDimPinned(Source.Key, DimKey) := True;
End If;
//Получаем ключ справочника
debug.Write("Ключ фиксированного частного измерения: ");
debug.WriteLine(Expr.PinDimension.ToString);
//Сохраняем экспресс-отчет
(Expr As IMetabaseObject).Save;
End Sub Main;
После выполнения примера в экспресс-отчете первое частное измерение будет перемещено в фиксированные частные измерения. В окне консоли будут выведены ключ источника, ключ частного измерения и ключ фиксированного частного измерения.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «Obj_1».
Добавьте ссылки на системные сборки: Pivot, Express, Metabase и Dimensions.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Dimensions;
...
Sub Main(Params: StartParams);
Var
MB: IMetabase;
Expr: IEaxAnalyzer;
Pvt: IPivot;
CompoundDim: IDimInstance;
n: Boolean;
Source: ICompoundDimensionSource;
DimKey: uinteger;
Begin
MB := Params.Metabase;
Expr := MB.ItemById["OBJ_1"].Edit() As IEaxAnalyzer;
Pvt := Expr.Pivot;
//Находим частные измерения
Pvt.Selection.FindById["FACTS_COMPOUND"].Dimension;
//Получаем первый
источник частных измерений
Source := (CompoundDim.Dimension As ICompoundDimension).Sources.Item[0];
//Получаем ключ частного измерения
DimKey := (Source.Dimensions.Item[0] As IMetabaseObject).Key;
System.Diagnostics.Debug.Write("Ключ источника: ");
System.Diagnostics.Debug.WriteLine(Source.Key);
System.Diagnostics.Debug.Write("Ключ частного измерения: ");
System.Diagnostics.Debug.WriteLine(DimKey);
//Проверяем, может ли это измерение стать фиксированным частным,
и при возможности переносим его
n := Expr.CanPinDim(Source.Key, DimKey, True);
If n = True Then
Expr.IsDimPinned[Source.Key, DimKey] := True;
End If;
//Получаем
ключ справочника
System.Diagnostics.Debug.Write("Ключ фиксированного частного измерения: ");
System.Diagnostics.Debug.WriteLine(Expr.PinDimension);
//Сохраняем экспресс-отчет
(Expr As IMetabaseObject).Save();
End Sub;
После выполнения примера в экспресс-отчете первое частное измерение будет перемещено в фиксированные частные измерения. В окне консоли будут выведены ключ источника, ключ частного измерения и ключ фиксированного частного измерения.
См. также: