Трансформация отметки операнда

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Для каждого операнда CalculationFormulaOperandDto формулы методики CalculationFormulaDto можно задать трансформацию отметки операнда.

 1  
 2 {
 3   ...
 4   "formulas": [
 5     {
 6       ...
 7       "operands": [
 8         {
 9           ...
10           "dictionarySelectionTransformations": [
11             {
12               ...
13               "selectionTransformations": [
14                 ...
15               ]
16             }
17           ],
18           ...
19         }
20       ...
21       ],
22       ...
23       "discriminator": "CalculationFormulaDto"
24     }
25   ],
26   ...
27 }

Трансформация отметки смещением по иерархии (HierarchyShiftTransformationDto)

1  
2 {
3   "shift": -1,
4   "discriminator": "HierarchyShiftTransformationDto"
5 }
Свойство Описание
Shift Показатель смещения индекса отметки

Трансформация отметки по дочерним элементам (ChildTransformationDto)

1  
2 {
3   "deepLevel": 2,
4   "position": 12,
5   "discriminator": "ChildTransformationDto"
6 }
Свойство Описание
DeepLevel Уровень глубины трансформации по дочерним элементам
Position Индекс позиции элемента относительно всех элементов по уровню DeepLevel

Трансформация отметки по родительским элементам (ParentTransformationDto)

1  
2 {
3   "deepLevel": 1,
4   "discriminator": "ParentTransformationDto"
5 }
Свойство Описание
DeepLevel Уровень глубины трансформации по родителю

Трансформация отметки по уровню (LevelTransformationDto)

Поддерживается только для календарных справочников.

1  
2 {
3   "levelId": 1,
4   "position": 1,
5   "discriminator": "LevelTransformationDto"
6 }
Свойство Описание
LevelId Идентификатор уровня.
Если LevelId меньше уровня текущего элемента отметки, то будет получен родительский элемент с уровнем LevelId.
Если LevelId больше уровня текущего элемента отметки, то будет получен дочерний элемент с уровнем LevelId и позиции Position.
Position Индекс позиции элемента относительно уровня, на который перешли с помощью LevelId.
Position обязательно должна быть задана, если LevelId больше уровня текущих элементов отметки.

Трансформация отметки смещением по уровню (LevelShiftTransformationDto)

1  
2 {
3   "shift": -1,
4   "discriminator": "LevelShiftTransformationDto"
5 }
Свойство Описание
Shift Показатель смещения индекса отметки.

Примеры

Все примеры трансформаций будут рассмотрены на отметке календарного справочника.

Наименование Уровень
Всего 0
-2016 год 1
---Полугодие 1 2016 3
----Январь 2016 4
----Февраль 2016 4
-2017 год 1
---Полугодие 1 2017 3
----Январь 2017 4

Трансформация отметки смещением по иерархии (HierarchyShiftTransformationDto)

Исходный элемент Shift Результат
Февраль 2016 -1 Январь 2016
Февраль 2016 2 Полугодие 1 2017
Январь 2017 -7 Всего

Трансформация отметки по дочерним элементам (ChildTransformationDto)

Исходный элемент DeepLevel Position Результат
Всего 3 1 Февраль 2016
Всего 3 0 Январь 2016
Всего 1 1 2017 год

Трансформация отметки по родительским элементам (ParentTransformationDto)

Исходный элемент DeepLevel Результат
Январь 2017 1 Полугодие 1 2017
Январь 2017 2 2017 год
Январь 2017 3 Всего

Трансформация отметки по уровню (LevelTransformationDto)

Исходный элемент LevelId Position Результат
Январь 2017 1 - 2017 год
2016 год 4 1 Февраль 2016
2016 год 4 0 Январь 2016

Трансформация отметки смещением по уровню (LevelShiftTransformationDto)

Исходный элемент Shift Результат
Полугодие 1 2016 1 Полугодие 1 2017
Январь 2017 -2 Январь 2016
Январь 2017 -1 Февраль 2016