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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
 
(не показаны 3 промежуточные версии 1 участника)
Строка 1: Строка 1:
 
{{DISPLAYTITLE:Настройки форматов для элементов календарного справочника}}
 
{{DISPLAYTITLE:Настройки форматов для элементов календарного справочника}}
  
Для календарного справочника есть возможность задать наименование элементов (либо дополнительных атрибутов, через форматы).
+
Формат дат в календаре задается в поле attributesCustomText:
Допустимы следующие форматы ('''регистр важен!'''):
+
 
 +
<syntaxhighlight lang="JSON" line>
 +
{
 +
  "calendarModel": {
 +
    ...
 +
    "attributesCustomText": [
 +
      {
 +
        "attributeId": ...,
 +
        "levelFormats": [
 +
          {
 +
            "calendarLevel": ...,
 +
            "format": "..."
 +
          }
 +
        ]
 +
      }
 +
    ],
 +
  ...
 +
  }
 +
}
 +
</syntaxhighlight>
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Поле !! Описание
 +
|-
 +
| attributeId || Идентификатор атрибута, в котором необходимо изменить формат
 +
|-
 +
| calendarLevel || Уровень даты, формат которой необходимо изменить
 +
|-
 +
| format || Необходимый формат даты
 +
|}
 +
 
 +
Возможные форматы дат:
 +
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Формат !! Описание
 
! Формат !! Описание
 
|-
 
|-
| {YYYY} || Год в формате 4 цифр
+
| {YYYY} || Год в виде четырехзначного числа
|-
 
| {YY} || Последние 2 цифры года
 
 
|-
 
|-
| {HY} || Номер полугодия
+
| {YY} || Год, в диапазоне от 00 до 99
 +
|-
 +
| {HY} || Полугодие арабскими цифрами
 
|-
 
|-
| {HYR} || Номер полугодия в формате римских цифр
+
| {HYR} || Полугодие римскими цифрами
 
|-
 
|-
| {Q} || Номер квартала
+
| {Q} || Квартал арабскими цифрами
 
|-
 
|-
| {QR} || Номер квартала в формате римских цифр
+
| {QR} || Квартал римскими цифрами
 
|-
 
|-
| {MMMM} || Название месяца в именительном падеже
+
| {MMMM} || Полное название месяца
 
|-
 
|-
| {MMGN} || Название месяца в родительном падеже
+
| {MMGN} || Полное название месяца родительном падеже
 
|-
 
|-
| {MM} || Номер месяца (2х значный)
+
| {MM} || Месяц, в диапазоне от 01 до 12
 
|-
 
|-
| {M} || Номер месяца (если до 10, то будет 1 знак)
+
| {M} || Месяц, в диапазоне от 1 до 12
 
|-
 
|-
| {DDDD} || Длинное название дня недели
+
| {DDD} || День недели в сокращенном варианте ("пн")
 
|-
 
|-
| {DDD} || Сокращенное название дня недели
+
| {DDDD} || День недели в полном варианте ("понедельник")
 
|-
 
|-
| {DD} || Номер дня в 2х значном формате
+
| {DD} || День месяца, в диапазоне от 01 до 31
 
|-
 
|-
| {D} || Номер дня в формате одного символа, для номеров до 10
+
| {D} || День месяца, в диапазоне от 1 до 31
 
|}
 
|}
  
Строка 54: Строка 87:
 
|}
 
|}
  
Если формат для какого то уровне не переопределен - он будет браться из форматов по умолчанию.
+
{| class="wikitable"
Данные настройки задаются в календарном справочнике в разделе '''attributesCustomText'''. Пример:
+
|-
<syntaxhighlight lang="JSON" line>
+
! Примеры !! Результаты
 +
|-
 +
| <syntaxhighlight lang="JSON" line>
 
{
 
{
   "attributesCustomText": [
+
   "calendarModel": {
 +
    ...
 +
    "attributesCustomText": [
 
       {
 
       {
         "attributeId": 21,
+
         "attributeId": 2,
 
         "levelFormats": [
 
         "levelFormats": [
 
           {
 
           {
 
             "calendarLevel": "Day",
 
             "calendarLevel": "Day",
             "format": "{DDD}"
+
             "format": "{D} {MMGN}"
 
           }
 
           }
 
         ]
 
         ]
       },
+
       }
 +
    ],
 +
  ...
 +
  }
 +
}
 +
</syntaxhighlight>|| [[Файл:Пример формата даты 1.png|мини|центр]]
 +
|-
 +
| <syntaxhighlight lang="JSON" line>
 +
{
 +
  "calendarModel": {
 +
    ...
 +
    "attributesCustomText": [
 
       {
 
       {
         "attributeId": 22,
+
         "attributeId": 2,
 
         "levelFormats": [
 
         "levelFormats": [
 
           {
 
           {
             "calendarLevel": "Day",
+
             "calendarLevel": 0,
             "format": "{DDDD}"
+
            "format": "Пользовательское наименование"
 +
          },
 +
          {
 +
            "calendarLevel": 1,
 +
             "format": "{YYYY} год"
 
           },
 
           },
 
           {
 
           {
             "calendarLevel": "Month",
+
             "calendarLevel": 2,
             "format": ""
+
             "format": "{QR} квартал {YYYY} год"
 
           }
 
           }
 
         ]
 
         ]
 
       }
 
       }
     ]
+
     ],
 +
  ...
 +
  }
 
}
 
}
</syntaxhighlight>
+
</syntaxhighlight>||
 +
[[Файл:Пример формата даты 2.png|мини|центр]]
 +
|}

Текущая версия на 12:00, 12 октября 2021


Формат дат в календаре задается в поле attributesCustomText:

 1 {
 2   "calendarModel": {
 3     ...
 4     "attributesCustomText": [
 5       {
 6         "attributeId": ...,
 7         "levelFormats": [
 8           {
 9             "calendarLevel": ...,
10             "format": "..."
11           }
12         ]
13       }
14     ],
15   ...
16   }
17 }
Поле Описание
attributeId Идентификатор атрибута, в котором необходимо изменить формат
calendarLevel Уровень даты, формат которой необходимо изменить
format Необходимый формат даты

Возможные форматы дат:

Формат Описание
{YYYY} Год в виде четырехзначного числа
{YY} Год, в диапазоне от 00 до 99
{HY} Полугодие арабскими цифрами
{HYR} Полугодие римскими цифрами
{Q} Квартал арабскими цифрами
{QR} Квартал римскими цифрами
{MMMM} Полное название месяца
{MMGN} Полное название месяца родительном падеже
{MM} Месяц, в диапазоне от 01 до 12
{M} Месяц, в диапазоне от 1 до 12
{DDD} День недели в сокращенном варианте ("пн")
{DDDD} День недели в полном варианте ("понедельник")
{DD} День месяца, в диапазоне от 01 до 31
{D} День месяца, в диапазоне от 1 до 31

По умолчанию используются следующие форматы:

Уровень Формат по умолчанию
Root Всего
Year {YYYY}
HalfYear {HY} полугодие {YYYY}
Quarter {Q} квартал {YYYY}
Month {MMMM} {YYYY}
Day {D} {MMGN} {YYYY}
Примеры Результаты
 1 {
 2   "calendarModel": {
 3     ...
 4     "attributesCustomText": [
 5       {
 6         "attributeId": 2,
 7         "levelFormats": [
 8           {
 9             "calendarLevel": "Day",
10             "format": "{D} {MMGN}"
11           }
12         ]
13       }
14     ],
15   ...
16   }
17 }
Пример формата даты 1.png
 1 {
 2   "calendarModel": {
 3     ...
 4     "attributesCustomText": [
 5       {
 6         "attributeId": 2,
 7         "levelFormats": [
 8           {
 9             "calendarLevel": 0,
10             "format": "Пользовательское наименование"
11           },
12           {
13             "calendarLevel": 1,
14             "format": "{YYYY} год"
15           },
16           {
17             "calendarLevel": 2,
18             "format": "{QR} квартал {YYYY} год"
19           }
20         ]
21       }
22     ],
23   ...
24   }
25 }
Пример формата даты 2.png