WriteIsActive(Segment: ICubeSegment; Value: Boolean);
Segment. Сегмент, для которого необходимо изменить признак активности.
Value. Значение активности сегмента, которое необходимо установить.
Метод WriteIsActive изменяет для указанного сегмента признак активности.
Настройки активных сегментов применяются при работе под пользователем, для которого розданы права на эти сегменты. Новые сегменты по умолчанию всегда активны. Для смены активности сегмента и исключения его из работы укажите в параметре Value значение False, для возврата активности - значение True.
Для выполнения примера в репозитории предполагается наличие стандартного куба с идентификатором STD_CUBE. К кубу подключен контейнер сегментов.
Добавьте ссылки на системные сборки: Cubes, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
Cube: IStandardCube;
SegContainer: ICubeSegmentContainer;
Segments: ICubeSegments;
Segment: ICubeSegment;
bActive: Boolean;
Begin
Mb := MetabaseClass.Active;
Cube := Mb.ItemById("STD_CUBE").Bind As IStandardCube;
// Получение контейнера сегментов куба
SegContainer := Cube.SegmentContainer;
// Список всех сегментов
Segments := SegContainer.GetAllSegments;
Segment := Segments.Item(0);
// Получение активности сегмента
bActive := SegContainer.ReadIsActive(Segment);
Debug.WriteLine("Active: " + bActive.ToString);
// Изменение активности сегмента
SegContainer.WriteIsActive(Segment, Not bActive);
End Sub UserProc;
При выполнении примера будет получен первый сегмент указанного куба. Для сегмента будет изменена активность на противоположную уже установленной.
См. также: