Платформа 3V/DataManager/Маппинг показателей: различия между версиями
< Платформа 3V | DataManager
Перейти к навигации
Перейти к поиску
Строка 21: | Строка 21: | ||
* "name": "fact" - будет использоваться для загрузки геометрии | * "name": "fact" - будет использоваться для загрузки геометрии | ||
* "name": "d_416103_id" - атрибут для первичного ключа | * "name": "d_416103_id" - атрибут для первичного ключа | ||
+ | === Шаг 2. Настройка полей === | ||
+ | Настройка полей выглядит следующим образом: | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | "mapperOptions": [ | ||
+ | { | ||
+ | "propertyName": "name", | ||
+ | "filedName": "NAME", | ||
+ | "dataType": "String", | ||
+ | "isPrimary": false, | ||
+ | "discriminator": "MapperOption" | ||
+ | }, | ||
+ | { | ||
+ | "propertyName": "root_id", | ||
+ | "filedName": "root_id", | ||
+ | "dataType": "Int32", | ||
+ | "isPrimary": true, | ||
+ | "discriminator": "MapperOption" | ||
+ | }, | ||
+ | { | ||
+ | "propertyName": "start_date", | ||
+ | "filedName": "start_date", | ||
+ | "dataType": "DateTime", | ||
+ | "isPrimary": false, | ||
+ | "discriminator": "MapperOption" | ||
+ | } | ||
+ | ] | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Откуда берется:''' | ||
+ | * '''propertyName''' - название атрибута из источника | ||
+ | * '''filedName''' - название атрибута из конструктора справочника | ||
+ | * '''dataType''' - тип данных, который должен совпадать в приемнике и источнике | ||
+ | * '''isPrimary''' - является ли данный атрибут первичным ключом (хотя бы один из атрибутов должен содержать настройку "isPrimary": true) | ||
+ | * '''discriminator''' - здесь всегда необходимо ставить "MapperOption" | ||
+ | |||
+ | ==== Типы данных, которые поддерживает DataManager ==== | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Тип !! Как записать в настройке !! Небольшой комментарий | ||
+ | |- | ||
+ | |Строка || String|| Если в источнике приходит тип guid или длинное число, то лучше записать в приемник в атрибут с типом "String" | ||
+ | |- | ||
+ | |Целое число (Integer)|| Int32 || Int64 не поддерживается | ||
+ | |- | ||
+ | |Вещественное число (Double)|| Double || Формат записи через запятую ("370,70") | ||
+ | |- | ||
+ | |Дата и время|| DateTime || Формат записи через запятую 01.01.2000 (даже, если приходят данные в формате "2020-01-01") | ||
+ | |- | ||
+ | |Логический тип|| Boolean|| - | ||
+ | |- | ||
+ | |Json|| Json|| Данные должны приходит в таком "кавычках", если необходимо атрибуты занести в формат json, то следует использовать выражение: "expression": "[атрибут]" и не прописывать в настройках "SaveMode" | ||
+ | |} |
Версия 09:10, 12 декабря 2022
Если приемник данных - показатель, то настройка выглядит следующим образом:
1 "Destination": {
2 "discriminator": "IndicatorDataOptions",
3 "mapperOptions": [ {}, {}],
4 "expressions": [{}],
5 "clearData": false,
6 "Code": ""
7 }
Шаг 1. Настройка самого показателя-приемника
Для начала следует создать показатель для загрузки. Чтобы корректно сработала задача загрузки, перед созданием показателя необходимо ознакомиться с атрибутами из источника и их типами данных. Например, необходимо выгрузить геометрию для каждого наименования:
Показатель строится на основе справочнике, после его создания необходимо обратиться к конструктору показателя и обратить внимание на "columns", из данной иерархии используется название и тип данных.
- "name": "fact" - будет использоваться для загрузки геометрии
- "name": "d_416103_id" - атрибут для первичного ключа
Шаг 2. Настройка полей
Настройка полей выглядит следующим образом:
1 "mapperOptions": [
2 {
3 "propertyName": "name",
4 "filedName": "NAME",
5 "dataType": "String",
6 "isPrimary": false,
7 "discriminator": "MapperOption"
8 },
9 {
10 "propertyName": "root_id",
11 "filedName": "root_id",
12 "dataType": "Int32",
13 "isPrimary": true,
14 "discriminator": "MapperOption"
15 },
16 {
17 "propertyName": "start_date",
18 "filedName": "start_date",
19 "dataType": "DateTime",
20 "isPrimary": false,
21 "discriminator": "MapperOption"
22 }
23 ]
Откуда берется:
- propertyName - название атрибута из источника
- filedName - название атрибута из конструктора справочника
- dataType - тип данных, который должен совпадать в приемнике и источнике
- isPrimary - является ли данный атрибут первичным ключом (хотя бы один из атрибутов должен содержать настройку "isPrimary": true)
- discriminator - здесь всегда необходимо ставить "MapperOption"
Типы данных, которые поддерживает DataManager
Тип | Как записать в настройке | Небольшой комментарий |
---|---|---|
Строка | String | Если в источнике приходит тип guid или длинное число, то лучше записать в приемник в атрибут с типом "String" |
Целое число (Integer) | Int32 | Int64 не поддерживается |
Вещественное число (Double) | Double | Формат записи через запятую ("370,70") |
Дата и время | DateTime | Формат записи через запятую 01.01.2000 (даже, если приходят данные в формате "2020-01-01") |
Логический тип | Boolean | - |
Json | Json | Данные должны приходит в таком "кавычках", если необходимо атрибуты занести в формат json, то следует использовать выражение: "expression": "[атрибут]" и не прописывать в настройках "SaveMode" |