Для каждого операнда 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
|