IDimensionModel.IsCalendar

Синтаксис

IsCalendar: Boolean;

Описание

Свойство IsCalendar определяет, используется ли справочник в качестве календарного.

Комментарии

Для определения справочника календарным необходимо создать первичный индекс со следующим порядком обязательных атрибутов: первый атрибут - BLOCK_TYPE, второй атрибут - START_DATE, а также NAME, ID и ORDER. Данный индекс должен быть первым в списке индексов справочника.

Для сопоставления атрибутов следует передать в свойство IDimensionModel.AsCalendar необходимый набор атрибутов и уровней.

Пример

Для выполнения примера требуется наличие табличного справочника, содержащего атрибуты:

  1. BLOCK_TYPE_REN;

  2. START_DATE_REN;

  3. NAME_REN;

  4. ID_REN;

  5. ORDER_REN.

Подключите системные сборки Metabase и Dimensions.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Dim: IDimensionModel;
    DimAsCln: IDimAsCalendar;
    sAttr: String;
    pAttr: IDimAttribute;
    eLevel: DimCalendarLevel;
    I: Integer;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById("OBJ12514").Edit;
    Dim := MObj As IDimensionModel;
    DimAsCln := Dim.AsCalendar;
        // Сопоставляем атрибуты
        For I := 0 To DimAsCln.Attrs.Count - 1 Do
            sAttr := DimAsCln.Attrs.Item(I).Id;
            pAttr := Dim.Attributes.FindById(sAttr + "_REN");
            DimAsCln.Attrs.IdAttr(sAttr) := pAttr;
            // Выводим в консоль идентификаторы атрибутов
           debug.WriteLine(DimAsCln.Attrs.Item(I).Attr.Id);
        End For;
        // Сопоставляем уровни
        For I := 0 To DimAsCln.Levels.Count - 1 Do
            eLevel := DimAsCln.Levels.Item(I).Level;
            DimAsCln.Levels.LevelKey(eLevel) := 100 + (eLevel As Integer);
            // Выводим в консоль ключи уровней
           debug.WriteLine(DimAsCln.Levels.Item(I).Key);
        End For;
    // Объявляем справочник календарным
    Dim.IsCalendar := True;
    MObj.Save;
End Sub UserProc;

В результате выполнения примера будут сопоставлены атрибуты справочника и справочник будет определен календарным.

См. также:

IDimensionModel