Платформа 3V/Календарный справочник: различия между версиями

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показано 5 промежуточных версий 4 участников)
Строка 1: Строка 1:
Календарный справочник это иерархическое представление временной шкалы данных по уровням временных отрезков: день, неделя, месяц, квартал, полугодие, год.<br>
+
{{DISPLAYTITLE:Календарный справочник}}
Для начала работы с календарным справочником создайте новый календарный справочник или откройте существующий.
+
[[Файл:Календарный справочник лого единообразное.png|40px|link=Платформа 3V/Календарный справочник]]  '''Календарный справочник''' - это иерархическое представление временной шкалы данных по уровням временных отрезков: день, неделя, месяц, квартал, полугодие, год.
  
== Создание нового календарного справочника ==
+
<div class="toccolours mw-collapsible" style="width:600px; background:#FFFFFF;">
 +
<div style="color:#CC2200">[[Платформа 3V/Календарный справочник/Как настроить календарный справочник|<font style="color: #CC2200">Как настроить календарный справочник?</font>]]</div>
 +
<div class="mw-collapsible-content">
 +
<div style="width:600px;">
 +
1. [[Платформа_3V/Календарный справочник/Настройка уровней|<font style="color: #0645AD">Настроить уровни</font>]]
 +
</div>
 +
<div style="width:600px;">
 +
2. [[Платформа_3V/Календарный справочник/Настройка формата даты|<font style="color: #0645AD">Настроить формат даты</font>]]
 +
</div>
 +
<div style="width:600px;">
 +
3. [[Платформа_3V/Календарный справочник/Настройка выходных дней|<font style="color: #0645AD">Настроить выходные дни</font>]]
 +
</div>
 +
<div style="width:600px;">
 +
4. [[Платформа_3V/Календарный справочник/Настройка дней недели|<font style="color: #0645AD">Настроить дни недели</font>]]
 +
</div></div></div></div>
  
Для создания нового календарного справочника выполните одно из действий:
 
  
* нажмите на тип объектов '''Календарный справочник''' в разделе '''«Создать»''' на [[Платформа_3V/Начало работы с продуктом/Работа_с_главной_страницей|'''главной странице''']];
+
==== Для чего? ====
* выберите в раскрывающемся списке тип объектов '''Календарный справочник''' при нажатии на кнопку '''Создать''' в [[Платформа_3V/Начало работы с продуктом/Работа_с_навигатором_объектов|'''навигаторе объектов''']];
 
* нажмите кнопку '''Справочники''' в разделе '''«Календарные справочники»''' на [[Платформа_3V/Начало работы с продуктом/Описание_интерфейса|'''боковой панели''']].
 
  
После выполнения одного из действий календарный справочник будет создан в текущей открытой папке или в корневом каталоге навигатора по умолчанию и открыт для просмотра и редактирования на новой вкладке, расположенной в
+
Календарный справочник нужен для иерархического представления временной шкалы данных и взаимодействия с ней.
[[Платформа_3V/Начало работы с продуктом/Описание_интерфейса|'''наборе вкладок''']]:
+
<br><br>
 +
==== Из чего состоит? ====
  
[[Файл:Новый календарный справочник.png|400 × 200px|мини|слева|Новый календарный справочник]]<br>
+
Календарный справочник состоит из следующих частей:
<br><br><br><br><br><br><br><br>
 
Для удобного создания справочника используйте [[Платформа_3V/Справочник/Календарный_справочник#JSON календарного справочника|'''шаблон метаописания в формате JSON''']]
 
  
== Открытие существующего календарного справочника ==
+
[[Файл:Календарь структура.png|слева|700px]]<div style="clear:both;"></div>
  
Для открытия существующего календарного справочника выполните одно из действий:
+
#'''Уровень календаря''' - это уровень значения в иерархии даты. <br><br>
 
+
#'''Дата начала''' - это начальная дата периода.<br><br>
* дважды нажмите на календарный справочник в [[Платформа_3V/Начало работы с продуктом/Работа_с_навигатором_объектов|'''навигаторе объектов''']];
+
#'''Дата окончания''' - это конечная дата периода.<br><br>
* выберите справочник в разделе '''«Календарные справочники»''' на [[Платформа_3V/Начало работы с продуктом/Описание_интерфейса|'''боковой панели''']].
 
 
 
После выполнения одного из действий календарный справочник будет открыт для просмотра и редактирования на новой вкладке, расположенной в [[Платформа_3V/Начало работы с продуктом/Описание_интерфейса|'''наборе вкладок''']]:
 
 
 
[[Файл:Открытый календарный справочник.png|мини|слева|Открытый календарный справочник]]<br>
 
<br><br><br><br><br><br><br><br>
 
Для передачи прямой ссылки на открытый календарный справочник скопируйте ссылку с помощью кнопки '''Скопировать ссылку''' на боковой панели календарного справочника в правой части страницы.
 
 
 
== JSON календарного справочника ==
 
 
 
Для удобного создания справочника используйте шаблон метаописания в формате JSON:
 
 
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:800px; overflow:auto;">
 
<div style="font-weight:bold;line-height:1.6;">JSON календарного справочника</div>
 
<div class="mw-collapsible-content mw-collapsed-content">
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    "calendarLevels": [
 
      0,
 
      1,
 
      4
 
    ],
 
    "customRootName": "Всего",
 
    "calendarStartDate": {
 
      "isFixedDate": true,
 
      "fixedDate": "2016-01-01T00:00:00",
 
      "relativeOffset": 0,
 
      "calendarLevel": 1
 
    },
 
    "calendarEndDate": {
 
      "isFixedDate": true,
 
      "fixedDate": "2019-12-31T00:00:00",
 
      "relativeOffset": 2,
 
      "calendarLevel": 1
 
    },
 
    "dictionaryType": 1,
 
    "id": 0,
 
    "name": "",
 
    "code": "",
 
    "tableName": "",
 
    "sequenceName": "",
 
    "databaseId": 0,
 
    "isNew": true,
 
    "attributes": [],
 
    "indexes": []
 
  },
 
  "dictionaryStructure": {
 
    "dictionaryType": 2,
 
    "id": 0,
 
    "name": "Каледнарный справочник 2",
 
    "code": "DICT_CALENDAR_NEW",
 
    "tableName": "T_636916396666133745",
 
    "sequenceName": "",
 
    "databaseId": 0,
 
    "isNew": true,
 
    "attributes": [
 
      {
 
        "attributeLink": null,
 
        "id": 1,
 
        "name": "Идентификатор",
 
        "code": "ID",
 
        "dataType": 2,
 
        "type": 1,
 
        "isNullable": false,
 
        "hasMultipleValues": false,
 
        "isVisible": false,
 
        "isReadonly": true,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 2,
 
        "name": "Наименование",
 
        "code": "NAME",
 
        "dataType": 1,
 
        "type": 2,
 
        "isNullable": false,
 
        "hasMultipleValues": false,
 
        "isVisible": true,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 3,
 
        "name": "Порядок",
 
        "code": "ORD",
 
        "dataType": 2,
 
        "type": 3,
 
        "isNullable": true,
 
        "hasMultipleValues": false,
 
        "isVisible": false,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 4,
 
        "name": "Родитель",
 
        "code": "PARENT_ID",
 
        "dataType": 2,
 
        "type": 4,
 
        "isNullable": true,
 
        "hasMultipleValues": false,
 
        "isVisible": true,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 5,
 
        "name": "Дата начала",
 
        "code": "START_DATE",
 
        "dataType": 4,
 
        "type": 5,
 
        "isNullable": true,
 
        "hasMultipleValues": false,
 
        "isVisible": true,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 6,
 
        "name": "Дата окончания",
 
        "code": "END_DATE",
 
        "dataType": 4,
 
        "type": 6,
 
        "isNullable": true,
 
        "hasMultipleValues": false,
 
        "isVisible": true,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      },
 
      {
 
        "attributeLink": null,
 
        "id": 7,
 
        "name": "Уровень календаря",
 
        "code": "CALENDAR_LEVEL",
 
        "dataType": 2,
 
        "type": 7,
 
        "isNullable": true,
 
        "hasMultipleValues": false,
 
        "isVisible": true,
 
        "isReadonly": false,
 
        "formula": "",
 
        "tableName": "",
 
        "identIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        },
 
        "referenceIndex": {
 
          "dbIndexName": null,
 
          "code": null,
 
          "isUnique": false,
 
          "fields": []
 
        }
 
      }
 
    ],
 
    "indexes": []
 
  }
 
}
 
 
 
</syntaxhighlight>
 
</div></div>
 
 
 
== Редактирование календарного справочника ==
 
 
 
Для редактирования календарного справочника:
 
 
 
# Откройте метаописание календарного справочника с помощью кнопки '''JSON''' на боковой панели календарного справочника в правой части страницы. Метаописание объекта формируется в формате JSON. После выполнения действий будет открыт раздел «'''JSON'''»:
 
 
 
[[Файл:json календарного справочника.png|мини|слева|JSON календарного справочника]]<br>
 
<br><br><br><br><br><br><br><br>
 
# Измените необходимые параметры календарного справочника в коде метаописания или создайте новую структуру JSON для построения календарного справочника.
 
# Нажмите кнопку '''Сохранить''' изменения.
 
 
 
После выполнения действий календарный справочник будет отредактирован в соответствии с заданными параметрами, описание элементов справочника или измененная структура будет отображена в таблице календарного справочника.<br>
 
Для обновления метаописания календарного справочника нажмите кнопку '''Обновить'''.
 
 
 
== Операции над календарным справочником ==
 
 
 
В [[Платформа_3V/Справочник/Календарный_справочник#Открытие существующего календарного справочника|'''открытом календарном справочнике''']] доступно обновление и сохранение данных календарного справочника.<br>
 
<br>
 
Для сохранения календарного справочника при изменении нажмите кнопку '''Сохранить''' на панели инструментов.<br>
 
<br>
 
Для обновления данных календарного справочника нажмите кнопку '''Обновить''' на панели инструментов.<br>
 
<br>
 
Для календарного справочника выполняется работа с иерархиями, настройка оформления календарного справочника и экспорт аналогично простому справочнику. Перейдите к разделам: [[Платформа_3V/Справочник/Работа_с_иерархиями_справочника|'''Работа с иерархиями справочника''']], [[Платформа_3V/Справочник/Настройка_оформления_справочника|'''Настройка оформления справочника''']], [[Платформа_3V/Справочник/Экспорт_справочника|'''Экспорт справочника''']].
 
 
 
== Настройки календарного справочника ==
 
=== Уровни ===
 
 
 
Уровни календаря задаются в поле calendarLevels:
 
 
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    "calendarLevels": [
 
    ...
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>
 
 
 
Возможны два формата для задачи уровней:
 
{| class="wikitable"
 
|-
 
! Уровень !! Числовой формат !! Текстовый формат
 
|-
 
| Всего || 0 || Root
 
|-
 
| Год || 1 || Year
 
|-
 
| Полугодие || 2 || HalfYear
 
|-
 
| Квартал || 3 || Quarter
 
|-
 
| Месяц || 4 || Month
 
|-
 
| День || 6 || Day
 
|}
 
 
 
Примеры:
 
 
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    "calendarLevels": [
 
      0,
 
      1,
 
      4
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>
 
 
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    "calendarLevels": [
 
      "Root",
 
      "Year",
 
      "Month"
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>
 
 
 
=== Форматы даты ===
 
 
 
Формат дат в календаре задается в поле attributesCustomText:
 
 
 
<syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    ...
 
    "attributesCustomText": [
 
      {
 
        "attributeId": ...,
 
        "levelFormats": [
 
          {
 
            "calendarLevel": ...,
 
            "format": "..."
 
          }
 
        ]
 
      }
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>
 
 
 
{| class="wikitable"
 
|-
 
! Поле !! Описание
 
|-
 
| attributeId || Идентификатор атрибута, в котором необходимо изменить формат
 
|-
 
| calendarLevel || Уровень даты, формат которой необходимо изменить
 
|-
 
| format || Необходимый формат даты
 
|}
 
 
 
Возможные форматы дат:
 
 
 
{| class="wikitable"
 
|-
 
! Формат !! Описание
 
|-
 
| {YYYY} || Год в виде четырехзначного числа
 
|-
 
| {YY} || Год, в диапазоне от 00 до 99
 
|-
 
| {HY} || Полугодие арабскими цифрами
 
|-
 
| {HYR} || Полугодие римскими цифрами
 
|-
 
| {Q} || Квартал арабскими цифрами
 
|-
 
| {QR} || Квартал римскими цифрами
 
|-
 
| {MMMM} || Полное название месяца
 
|-
 
| {MMGN} || Полное название месяца родительном падеже
 
|-
 
| {MM} || Месяц, в диапазоне от 01 до 12
 
|-
 
| {M} || Месяц, в диапазоне от 1 до 12
 
|-
 
| {DDDD} || День недели в сокращенном варианте ("пн")
 
|-
 
| {DDD} || День недели в полном варианте ("понедельник")
 
|-
 
| {DD} || День месяца, в диапазоне от 01 до 31
 
|-
 
| {D} || День месяца, в диапазоне от 1 до 31
 
|}
 
 
 
По умолчанию используются следующие форматы:
 
{| class="wikitable"
 
|-
 
! Уровень !! Формат по умолчанию
 
|-
 
| Root || Всего
 
|-
 
| Year || {YYYY}
 
|-
 
| HalfYear || {HY} полугодие {YYYY}
 
|-
 
| Quarter || {Q} квартал {YYYY}
 
|-
 
| Month || {MMMM} {YYYY}
 
|-
 
| Day || {D} {MMGN} {YYYY}
 
|}
 
 
 
{| class="wikitable"
 
|-
 
! Примеры !! Результаты
 
|-
 
| <syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    ...
 
    "attributesCustomText": [
 
      {
 
        "attributeId": 2,
 
        "levelFormats": [
 
          {
 
            "calendarLevel": "Day",
 
            "format": "{D} {MMGN}"
 
          }
 
        ]
 
      }
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>|| [[Файл:Пример формата даты 1.png|мини|центр]]
 
|-
 
| <syntaxhighlight lang="JSON" line>
 
{
 
  "calendarModel": {
 
    ...
 
    "attributesCustomText": [
 
      {
 
        "attributeId": 2,
 
        "levelFormats": [
 
          {
 
            "calendarLevel": 0,
 
            "format": "Пользовательское наименование"
 
          },
 
          {
 
            "calendarLevel": 1,
 
            "format": "{YYYY} год"
 
          },
 
          {
 
            "calendarLevel": 2,
 
            "format": "{QR} квартал {YYYY} год"
 
          }
 
        ]
 
      }
 
    ],
 
  ...
 
  }
 
}
 
</syntaxhighlight>||
 
[[Файл:Пример формата даты 2.png|мини|центр]]
 
|}
 

Текущая версия на 14:58, 18 января 2022

Календарный справочник лого единообразное.png Календарный справочник - это иерархическое представление временной шкалы данных по уровням временных отрезков: день, неделя, месяц, квартал, полугодие, год.


Для чего?

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

Из чего состоит?

Календарный справочник состоит из следующих частей:

Календарь структура.png
  1. Уровень календаря - это уровень значения в иерархии даты.

  2. Дата начала - это начальная дата периода.

  3. Дата окончания - это конечная дата периода.