3.2.7. Gantt#

Раздел находится в разработке.

Статья будет изменяться и дополняться по мере реализации функционала

3.2.7.1. Глоссарий#

Временная шкала
Диаграмма Гантта

3.2.7.2. Древовидный список#

  • В основе фрейма лежит дерево

3.2.7.3. Временная шкала#

Характеристики

  • Отображает временную ленту

  • Лента имеет 2 уровня шкалы

    Note

    В Global1 временная шкала может иметь от 1 до 3 уровней

  • На каждом уровне отображаются временные отметки с подписями

  • Шкала меняется при масштабировании таймлайна

Схемы

Attention

В Global3 схемы не реализованы

Настройка

Attention

В Global3 настройка уровней шкал не реализована

  • Набор уровней шкал настраивается:

  • Схему шкал и схему форматов можно изменить с помощью скриптового свойства TbtkGantt.ScalesSchema

Масштабирование

  • При открытии диаграммы отображаемый интервал подбирается так, чтобы все элементы были видны на экране

  • При изменении отображаемого интервала подбирается наиболее оптимальная шкала из схемы шкал

3.2.7.4. Диаграмма Гантта#

3.2.7.4.1. Элемент#

Характеристики

  • Определяется в узлах дерева

  • Поддерживается наследование (копирование элементов из подузлов)

  • Элементы могут объединяться связями

  • Пользователь может взаимодействовать с элементами

Определение

Наследование

Attention

В Global3 наследование элементов не реализовано

  • Элементы узлов-потомков копируются в узел-предок, если в нём нет элементов

  • Скопированные элементы имеют стиль узла-предка из свойства Gantt.ItemStyleFieldName

  • Наследование настраивается свойством Gantt.CopyNodesToParent (по умолчанию включено)

Ограничение элемента

Attention

В Global3 перемещение и изменение границ элемента не реализованы

  • Фактическое ограничение — интервал, в котором можно перемещать и изменять размеры элемента. Определяется параметрами StartDateConstraint, StopDateConstraint

  • Визуальное ограничение — интервал, который отображается пунктиром вокруг элемента. Определяется параметрами StartDateLimit, StopDateLimit

  • Отображение визуального ограничения настраивается свойством Gantt.DrawingItemsConstraint

Пользовательское взаимодействие с элементом

  1. Перемещение

    Attention

    В Global3 перемещение элементов не реализовано

    • В рамках фактического ограничения элемента

    • Включается свойством Gantt.EnableMoving для всех элементов

    • Отключается параметром MovingEnable для отдельных элементов

  2. Изменение размеров

    Attention

    В Global3 изменение размеров элементов не реализовано

    • В рамках фактического ограничения элемента

    • Включается свойством Gantt.EnableResizing для всех элементов

    • Отключается параметром ResizingEnable для отдельных элементов

  3. Выделение

    Attention

    В Global3 не реализовано множественное выделение элементов с помощью Ctrl

    • Производится левой кнопкой мыши

    • Выделенные элементы подсвечиваются синим цветом

    • Недоступно для элементов, скопированных в предка

    • При выделении:

      • В переменную выборки IDFocusedItem# пишется ID элемента, если выделен элемент, иначе null

      • Вызывается операция OnFocusedItemChanged

  4. Выпадающее меню

    Attention

    В Global3 выпадающее меню для элементов не реализовано

    • Вызывается щелчком правой кнопкой мыши по элементу

    • Пункты меню формируются из операций-наследников операции GanttPopupMenu

  5. Двойной клик

    Attention

    В Global3 нет обработки двойного клика

    • Если существует операция OnDoubleClick, то вызывается она

    • В противном случае вызывается первая операция контекстного меню

3.2.7.4.3. Визуальное выделение дат#

Attention

В Global3 не реализовано выделение произвольных дат, можно выделить только текущую дату

Заданная дата

  • Можно выделить конкретные даты с помощью вертикальных линий

  • Подробнее о настройке вертикальных линий из скрипта: Вертикальные линии

Выделенная дата

  • Помечается треугольником на временной шкале

  • Отображение линии включается свойством Gantt.ShowSelectedDate

  • Визуальные характеристики линии настраиваются скриптом: Выделенная дата

Текущая дата

  • Отображение линии включается свойством Gantt.ShowCurrentDate

  • Визуальные характеристики лини настраиваются скриптом: Текущая дата

3.2.7.4.4. Визуальное выделение интервала#

Осуществляется при помощи регионов.
  • Регион визуально выделяет временной интервал сверху донизу

  • Добавляется из скрипта: Регионы

3.2.7.4.5. Настройка отображения#

Настройки

  1. Отображение вертикальных полос напротив отметок нижнего уровня шкалы

    Attention

    В Global3 не реализовано данное свойство

  2. Чересстрочная раскраска

    Attention

    В Global3 не реализовано данное свойство

  3. Подсветка дней

Attention

В Global3 не реализована подсветка дней

  1. Темы интерфейса

Attention

В Global3 не реализована поддержка тем интерфейса

При отрисовке Диаграммы Гантта используются свойства темы интерфейса.

3.2.7.5. Формат задания параметров элемента#

3.2.7.5.1. Список параметров#

Полное имя

Сокр. имя

По умолчанию

Описание

CaptionWordWrap

CWW

false

Флаг отвечающий за функционал переноса слов.

ID

ID

Нет

Идентификатор элемента.

StartDate (Обязательный)

STD

Нет

Дата начала процесса (dd.mm.yyyy или dd.mm.yyyy hh:mm:ss).

StopDate (Обязательный)

SPD

Нет

Дата окончания процесса (dd.mm.yyyy или dd.mm.yyyy hh:mm:ss).

Style

ST

gisPipe

Стиль элемента (TbtkGanttItemStyle). Определяет форму элемента на диаграмме.

Color

CO

$009600 (тёмно-зелёный)

Цвет элемента (TColor).

FillStyle

Fill

bsSolid

Задаёт шаблон заливки (TBrushStyle). Подробно: TbtkGanttItem.FillStyle

Progress

P

-1

Определяет степень выполнения задачи от 0 до 100. Если прогресс не задан или отрицателен, индикатор прогресса не отрисовывается. Отображается на элементе в виде полоски в процентном соотношении от ширины элемента.

ProgressColor

PC

$0000FF (красный)

Цвет индикатора прогресса выполнения задачи.

ProgressWidth

PW

20

Ширина полосы прогресса выполнения задачи. Указывается в процентах от ширины элемента диаграммы. Не учитывается для элементов диаграммы типов gisLine, gisLineWEnd, gisSpan.

Caption

C

‘’

Текст элемента, отображаемый на диаграмме.

CaptionPos

CP

cpInside

Положение текста элемента, относительно элемента. cpLeft — слева от элемента; cpInside — на элементе; cpRight — справа от элемента.

CaptionAlignment

CA

taCenter

Выравнивание текста элемента. Флаг имеет смысл только при расположении текста на элементе. taLeftJustify — выравнивание по левому краю элемента; taCenter — выравнивание по центру; taRightJustify — выравнивание по правому краю элемента.

CaptionVertAlignment

CVA

taVCenter

Выравнивание текста элемента по вертикальной оси. taTopJustify — по верхнему краю; taVCenter — по центру; taBottomJustify — по нижнему краю.

CaptionCrop

CC

False

Флаг, указывающий, что текст элемента не должен выходить за границы элемента. Флаг имеет смысл только при расположении текста на элементе. True — обрезать текст; False — не обрезать текст (в этом случае текст может быть длиннее самого элемента).

FontName

FN

Системное имя шрифта.

FontStyle

FS

‘’

Стиль шрифта. fsBold — жирный; fsItalic — наклонный; fsUnderLine — подчёркнутый; fsStrikeOut — зачёркнутый. Значение параметра может содержать любые комбинации возможных значений, разделённые запятой ,. Пример: FontStyle=fsBold,fsItalic,fsUnderLine;.

FontSize

FSZ

10

Размер шрифта.

FontColor

FC

$000000 (чёрный)

Цвет шрифта.

Hint

H

‘’

Текст всплывающей подсказки, отображаемой при наведении курсора мыши на элемент.

Width

W

100

Ширина элемента в процентах. Задается пропорционально высоте, диапазон значения не ограничен. Например, значение ширины в 200% задает ширину равную 2*Height(pixel). Ширину следует задавать элементам, расположение которых зависит только от параметра StartDate (круг, прямоугольник и ромб). Если высота равна 100%, то установка значения параметра в 200% задаст ширину в два раза больше высоты строки, т.к. высота 100% соответствует высоте строки.

Height

HT

100

Высота элемента в процентах. Максимальное значение 100, равное высоте строки, минимальное 10.

Применяется к элементам стиля: TbtkGanttItemStyle.gisSquare, TbtkGanttItemStyle.gisPipe, TbtkGanttItemStyle.gisRectangle, TbtkGanttItemStyle.gisCircle, TbtkGanttItemStyle.gisDiamond.

Минимальная высота в пискелях для gisSquare, gisPipe,``gisRectangle`` равна 5; для gisCircle, gisDiamond - 10.

BorderStyle

BS

psSolid

Стиль границы (TPenStyle).

BorderColor

BC

$000000 (чёрный)

Цвет границы (TColor).

Center

CR

50

Задает центр фигуры по вертикали в процентах от высоты строки (0-100%), т.е., центру строки соответствует значение 50%. Использование данного параметра с параметром Height позволяет расположить несколько элементов на одной линии без их взаимного перекрытия.

MovingEnable

ME

1

Позволяет отключить возможность перемещения элемента с помощью мыши. Влияет только если свойство Gantt.EnableMoving установлено в True. 1 — перемещение элемента разрешено; 0 — перемещение элемента запрещено.

ResizingEnable

RE

1

Управляет возможностью изменения размеров элемента с помощью мыши. Влияет только если свойство Gantt.EnableResizing установлено в True. 1 — изменение размера разрешено; 0 — изменение размера запрещено.

StartDateLimit

STL

null

Визуальное ограничение на минимальное значение положения левой границы элемента (левая граница изменения размера или перемещения элемента). Ограничение отображается пунктиром в зависимости от свойства Gantt.DrawingItemsConstraint.

StopDateLimit

SPL

null

Визуальное ограничение на максимальное значение положения правой границы элемента (правая граница изменения размера или перемещения элемента). Ограничение отображается пунктиром в зависимости от свойства Gantt.DrawingItemsConstraint.

StartDateConstraint

STC

null

Фактическое ограничение на максимальное значение положения левой границы элемента (левая граница изменения размера или перемещения элемента).

StopDateConstraint

SPC

null

Фактическое ограничение на максимальное значение положения правой границы элемента (правая граница изменения размера или перемещения элемента).

3.2.7.5.2. Актуальный формат#

Формат строки#
{Параметр}={значение};{Параметр}={значение}|{Параметр}={значение};{Параметр}={значение}
  • = — разделитель имени параметра и значения;

  • ; — разделитель параметров;

  • | — разделитель элементов.

При задании параметра можно использовать его полное или сокращённое имя.

Пример задания двух процессов в одной линии#
ID=1215170001; Std=10.11.2006; Spd=14.11.2006; Style=gisPipe; Color=$008000;
Progress=0; ProgressColor=$800000;
Caption=Субпроцесс № 1-3-1; CaptionPos=cpInside; CaptionAlignment=taRightJustify; CVA=taVCenter; CaptionCrop=True;
FontName=Arial; FontStyle=; FontSize=8; FontColor=$0000FF;
Hint=Всплывающая подсказка для элемента;
Center=25; Height=50;
|ID=1215170002; Std=12.11.2006; Spd=16.11.2006; Style=gisPipe; Color=$FF8E00;
Progress=0;ProgressColor=$80046D;
Caption=Субпроцесс № 1-3-1; CaptionPos=cpInside; CaptionAlignment=taRightJustify; CVA=taVCenter; CaptionCrop=True;
FontName=Arial; FontStyle=; FontSize=8; FontColor=$0000FF;
Hint=Всплывающая подсказка для элемента;
Center=75; Height=50;

3.2.7.5.3. Устаревший формат#

Warning

Формат оставлен для совместимости. Использовать его не рекомендуется.

Формат строки#
ID;StartDate;StopDate;Style;Color;Caption;FontColor|ID;StartDate;StopDate;Style;Color;Caption;FontColor
  • ; — разделитель параметров;

  • | — разделитель элементов.

Параметры передаются в фиксированном порядке, имя параметра не указывается.

Первые три параметра являются обязательными.

Даты задаются в формате dd.mm.yyyy hh:mm:ss.

Пример#
1212319001; 01.11.2006 12:11:00; 02.11.2006 12:11:00; gisLineWEnd; $008000; Текст; $FF0000 |
1212390001; 05.11.2006 12:11:00; 06.11.2006 12:11:00; gisLineWEnd; $008000; Текст2; $0000FF

3.2.7.7. Формат задания схем таймлайна#

Attention

В Global3 схемы не реализованы

3.2.7.7.1. YAML-документ#

Поле
  • Представляется в виде ключа и значения в формате ключ: значение

  • Ключ регистрозависимый

  • Значение регистронезависимое

  • Текстовые значения можно заключать в кавычки, двойные " или одинарные '

Список
  • Как правило содержит однотипные элементы

  • Все пункты списка находятся на одном уровне вложенности и предваряются дефисом -

Вложенность
  • Уровень вложенности увеличивается парой пробелов

  • Если на той же строке после ключа не указано значение, то значением считаются последующие строки с большим уровнем вложенности

Комментарий
  • Комментарий начинается с # и продолжается до конца строки

Пример
- timeline_time_units_format_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
    level_top:
      tuYear:
        formats:
        - "yyyy 'год'"
        - "yyyy 'г'"
        - "yyyy"
        align: Left

3.2.7.7.2. Файл схем временной шкалы#

Пример файла#
- timeline_time_units_format_schema:
    <Схема форматов единиц измерения времени>
- timeline_scales_schema:
    <Схема шкал таймлайна>

See also

Установить для таймлайна файл схем временной шкалы можно с помощью свойства TbtkGantt.ScalesSchema

3.2.7.7.3. Схема форматов единиц значения времени#

Характеристики
  • Записывается в YAML-формате

  • Описывает форматы отображения единиц измерения времени на всех возможных уровнях шкалы

Задание форматов
  • Уровни описываются от верхнего к нижнему (level_top, level_middle, level_bottom)

  • Описание единицы времени состоит из списка форматов formats и выравнивания надписи align

  • Можно задать индивидуальное описание единицы времени каждого уровня

  • Форматы задаются в соответствии с форматом даты “Бизнес Технологии”

  • Форматы должны быть упорядочены от наиболее длинной к наиболее короткой форме записи единицы времени

Наследование
  • Описания единиц времени наследуются от верхних уровней к нижним: если формат или выравнивание не задано, оно копируется из вышестоящего уровня

Значения по умолчанию
  • Значение формата по умолчанию: dd.mm.yy HH:mm

  • Значения выравнивания по умолчанию:

    • Для уровней level_top, level_middleLeft

    • Для уровня level_bottomCenter

Пример схемы форматов с пояснениями#
- timeline_time_units_format_schema: # Название схемы форматов

    # Общая информация о схеме
    meta:
      version: <версия> # Версия. Например, 1.0
      locale: <локаль>  # Локаль. Например, 'ru_RU'

    # Информация о верхнем уровне
    level_top:
      <tuЕдиницаВремени1>: # Описание форматов единицы времени 1 на верхнем уровне
        formats: # Форматы указываются списком:
        - <Format1_1>
        - <Format1_2>
        align: <Align1TopLevel> # Выравнивание надписи на интервале. Возможные значения: Above, Left, Center, Right
      <tuЕдиницаВремени2>: # Описание форматов единицы времени 2 на верхнем уровне
        <Описание>
      <...>

    # Информация о среднем уровне
    level_middle:
      <tuЕдиницаВремени1>: # Описание форматов единицы времени 1 на среднем уровне
        formats:
        - <Format1_3>
        align: <Align1MiddleLevel>
      <...>

    # Информация о нижнем уровне
    level_bottom: {} # Уровень не содержит элементов, все описания форматов будут скопированы из вышестоящего уровня level_middle

3.2.7.7.4. Схема шкал#

Характеристики
Пример схемы шкал с пояснениями#
- timeline_scales_schema: # Название схемы форматов

    # Общая информация
    meta:
      version: <версия> # Версия. Например, 1.0
      locale: <локаль>  # Локаль. Например, 'ru_RU'
      levels: <уровни>  # Число уровней шкалы. Например, slcMiddleBottomTop

    # Список шкал
    # Каждая шкала содержит число пунктов, соответствующих числу уровней шкалы. Пункты описывают заданные уровни от верхнего к нижнему
    scales:
    # Шкала 1: на верхнем уровне отметки ставятся каждый день, на среднем каждый час, на нижнем каждую минуту
    - - time_unit: tuDay
      - time_unit: tuHour
      - time_unit: tuMinute

    # Шкала 2: идентична шкале 1, но отметки на нижнем уровне ставятся с интервалом в 10 минут
    - - time_unit: tuDay
      - time_unit: tuHour
      - time_unit: tuMinute
        interval: 10

    # Шкала 3: на верхнем уровне отметки раз в месяц, на среднем раз в неделю, на нижнем раз в день.
    - - time_unit: tuMonth
      - time_unit: tuWeek
      - time_unit: tuDay
        format: 'ddd;ddd_shortness=1;' # Формат, заданный напрямую

3.2.7.7.5. Результирующая схема шкал#

Результирующая схема шкал получается путём комбинации схемы шкал со схемой форматов.

Каждая шкала из схемы шкал копируется в результирующую схему несколько раз, чтобы содержать каждое возможное значение формата единицы времени на каждом из своих уровней.

Значение формата единицы времени в любом уровне шкалы можно задать напрямую при его описании в схеме шкал. Если же оно не задано, то возможные форматы берутся из схемы форматов для данной единицы измерения времени на данном уровне шкалы. При этом шкала копируется несколько раз, так, чтобы содержать каждое из возможных значений формата.

See also

Пример построения результирующей схемы шкал

Считать результирующую схему можно с помощью свойства TbtkGantt.ScalesSchema

3.2.7.7.6. Схема активной шкалы#

Характеристики
  • Записывается в YAML-формате

  • Описывает активную шкалу после открытия фрейма

  • Может не совпадать с какой-либо шкалой из схемы шкал

Пример схемы активной шкалы#
- timeline_scale_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
      levels: slcMiddleBottomTop
    scale:
    - time_unit: tuWeek
      format: dd.MMM.yyyy
    - time_unit: tuDay
      format: ddd dd.MMM.yyyy
    - time_unit: tuHour
      format: HH:mm

3.2.7.8. Примеры#

3.2.7.8.1. Запросы и методы#

В примере используется класс с коллекцией. Класс содержит данные с древовидной структурой, в коллекции хранятся даты начала и окончания процессов.

Запрос для режима, когда в одном узле может быть только один элемент.#
select
 t.*,
 Decode(bisRoot, 1, utl_raw.CAST_TO_BINARY_INTEGER('80'),
 Decode(bHasChild, 0, utl_raw.CAST_TO_BINARY_INTEGER('8000'),
 utl_raw.CAST_TO_BINARY_INTEGER('800000'))) as nItemColor,
 Decode(bisRoot, 1, 'gisPipe', Decode(bHasChild, 0, 'gisLineWEnd', 'gisSpan')) as sItemStyle
 from (
 select
 t.ID,
 t.idParent, GanttExtAPI.GetidParent_HL(t.idParent) as idParent_HL,
 t.sCAPTION,
 t.idClass,
 gc.id as idItem,
 gc.dDateBegin,
 gc.dDateEnd,
 GanttextcollectAPI.GetLinks(gc.id) sLinks,
 (Select nvl(max(1),0)
 from GanttExt
 where idParent = t.id) bHasChild,
 Decode(t.idParent, null, 1, 0) bisRoot,
 'Текст' as sItemText
 from GanttExt t, Ganttextcollect gc
 where t.id = gc.IDGanttExt(+)
 ) t
Запрос для режима, когда в одном узле могут быть несколько элементов.#
select
 t.*,
 Decode(bisRoot, 1, utl_raw.CAST_TO_BINARY_INTEGER('80'),
 Decode(bHasChild, 0, utl_raw.CAST_TO_BINARY_INTEGER('8000'),
 utl_raw.CAST_TO_BINARY_INTEGER('800000'))) as nItemColor,
 Decode(bisRoot, 1, 'gisPipe', Decode(bHasChild, 0, 'gisLineWEnd', 'gisSpan')) as sItemStyle,
 GanttextcollectAPI.GetItemsAsString(t.id, bisRoot, bHasChild) sItemsData
 from (
 select
 t.ID,
 t.idParent, GanttExtAPI.GetidParent_HL(t.idParent) as idParent_HL,
 t.sCAPTION,
 t.idClass,
 ''as sLinks'',
 (Select
 nvl(max(1),0)
 from GanttExt
 where idParent = t.id) bHasChild,
 Decode(t.idParent, null, 1, 0) bisRoot
 from GanttExt t
 ) t
Функции API типов, использованных в запросе.#
static function GetItemsAsString(idpLine in number, bpHasChild in number, bpIsRoot in number) return varchar2 as
  res varchar2 (4000);
  tempRes varchar2 (4000);
 begin
   res :=;
   *for cr in
   (select gc.* from ganttextcollect gc
   where gc.IDGanttExt = idpLine)
   loop
     tempRes := to_char(cr.id) || ';' || to_char(cr.ddatebegin, 'dd.mm.yyyy hh:mm:ss') || ';' || to_char(cr.ddateend, 'dd.mm.yyyy hh:mm:ss');
     if bpisRoot = 1 then
      tempRes := tempRes || '; gisPipe;$8000';
     else
       beginif bpHasChild = 0 then
        tempRes := tempRes || ';gisLineWEnd;$80*';
       else
        tempRes := tempRes || ';gisSpan;$800000';
       end if;
       end;
     end if;

     tempRes := tempRes || ';Текст';
     if res is null then
      res := tempRes;
     else res := res || ' | ' ||tempRes;
     end if;
    end loop;
   return res;
  end;

static function GetLinks(idpSelf in number) return varchar2 as
  res varchar2 (4000);
begin
  if idpSelf is not null then
    res := to_char(idpSelf)|| ';' || '1212324001'; /*для примера здесь прописан идентификатор объекта, в реальном случае здесь будет более сложная логика*/
  else
    res := ;
  end if;
end;

3.2.7.8.2. Схема форматов#

Схема форматов по умолчанию#
- timeline_time_units_format_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
    level_top:
      tuYear:
        formats:
        - yyyy 'год'
        - yyyy 'г'
        - yyyy
        align: Left
      tuHalfYear:
        formats:
        - Q'-е полугодие,' yyyy
        - "'П-'Q, yyyy"
        align: Left
      tuQuarter:
        formats:
        - "'Кв. 'q yyyy"
        align: Left
      tuMonth:
        formats:
        - MMMM yyyy
        - MMM yyyy
        align: Left
      tuDecade:
        formats:
        #- "'Декада' D yyyy"
        - dd MMM yyyy
        align: Left
      tuWeek:
        formats:
        #- "'Нед.'ww yyyy"
        - dd MMM yyyy
        align: Left
      tuDay:
        formats:
        - ddd dd MMM "'"yy
        align: Left
      tuHour:
        formats:
        #- HH
        #- HH час
        - HH 'час' ddd dd.MM
        align: Left
      tuMinute:
        formats:
        #- mm
        - hh:mm ddd dd.MM
        align: Left
      tuSecond:
        formats:
        #- ss
        - hh:mm:ss
    level_middle: {}
    level_bottom:
      tuYear:
        align: Center
      tuHalfYear:
        formats:
        - "'П'Q"
        align: Center
      tuQuarter:
        formats:
        - "'К'q"
        align: Center
      tuMonth:
        formats:
        - MMM
        align: Center
      tuDecade:
        align: Center
      tuWeek:
        #formats:
        #- ww
        align: Center
      tuDay:
        formats:
        - ddd
        align: Center
      tuHour:
        formats:
        - HH
        align: Center
      tuMinute:
        formats:
        - mm
        align: Center
      tuSecond:
        formats:
        - ss
        align: Center

3.2.7.8.3. Схема шкал#

Схема шкал по умолчанию#
- timeline_scales_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
      levels: slcMiddleBottomTop
    scales:
    - - time_unit: tuDay
      - time_unit: tuHour
      - time_unit: tuMinute

    - - time_unit: tuDay
      - time_unit: tuHour
      - time_unit: tuMinute
        interval: 5

    - - time_unit: tuDay
      - time_unit: tuHour
      - time_unit: tuMinute
        interval: 15

    - - time_unit: tuWeek
      - time_unit: tuDay
      - time_unit: tuHour

    - - time_unit: tuWeek
      - time_unit: tuDay
      - time_unit: tuHour
        interval: 2

    - - time_unit: tuWeek
      - time_unit: tuDay
      - time_unit: tuHour
        interval: 6

    - - time_unit: tuWeek
      - time_unit: tuDay
      - time_unit: tuHour
        interval: 12

    - - time_unit: tuMonth
      - time_unit: tuWeek
      - time_unit: tuDay
        format: 'ddd;ddd_shortness=1;'

    - - time_unit: tuQuarter
      - time_unit: tuMonth
      - time_unit: tuDay

    - - time_unit: tuQuarter
      - time_unit: tuMonth
      - time_unit: tuDay
        format: dd
        interval: 2

    - - time_unit: tuQuarter
      - time_unit: tuMonth
      - time_unit: tuDay
        format: dd
        interval: 3

    - - time_unit: tuQuarter
      - time_unit: tuMonth
      - time_unit: tuDay
        format: dd
        interval: 7

    - - time_unit: tuYear
      - time_unit: tuMonth
      - time_unit: tuDay
        format: dd
        interval: 7

    - - time_unit: tuYear
      - time_unit: tuQuarter
      - time_unit: tuMonth

    - - time_unit: tuYear
      - time_unit: tuHalfYear
      - time_unit: tuMonth

    - - time_unit: tuYear
        interval: 10
      - time_unit: tuYear
      - time_unit: tuHalfYear

3.2.7.8.4. Результирующая схема шкал#

Схема форматов#
- timeline_time_units_format_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
    level_top:
      tuYear:
        formats:
        - yyyy 'год'
        - yyyy 'г'
        - yyyy
        align: Left
      tuMonth:
        formats:
        - MMMM
        - MMM yy
        align: Right
Схема шкал#
- timeline_scales_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
      levels: slcMiddle
    scales:
    - - time_unit: tuYear
    - - time_unit: tuMonth
        format: MMM
Результирующая схема#
- timeline_calculated_scales_schema:
    meta:
      version: 1.0
      locale: 'ru_RU'
      levels: slcMiddle
    scales:
    - - time_unit: tuYear
        format: yyyy 'год'
    - - time_unit: tuYear
        format: yyyy 'г'
    - - time_unit: tuYear
        format: yyyy
    - - time_unit: tuMonth
        format: MMM