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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 44: Строка 44:
 
                     "discriminator": "MapperOption"
 
                     "discriminator": "MapperOption"
 
                   },
 
                   },
 +
                  {
 +
                    "propertyName": "start_date",
 +
                    "filedName": "start_date",
 +
                    "dataType": "DateTime",
 +
                    "isPrimary": false,
 +
                    "discriminator": "MapperOption"
 +
                  }
 
                 ]
 
                 ]
 
</syntaxhighlight>
 
</syntaxhighlight>
 
хотя бы один из атрибутов должен содержать настройку  "isPrimary": true
 
хотя бы один из атрибутов должен содержать настройку  "isPrimary": true

Версия 05:55, 12 декабря 2022

Если приемник данных - справочник, то настройка выглядит следующим образом:

1 "Destination": {
2                  "discriminator": "DictionaryDataOptions",
3                  "SaveMode": "Postgres",
4                  "mapperOptions": [ {}, {}],
5                  "expressions": [{}],
6                  "clearData": false,
7                  "dictionaryIdent": ""
8                }

Шаг 1. Настройка самого справочника-приемника

Для начала следует создать справочник для загрузки. Чтобы корректно сработала задача загрузки, перед созданием справочника необходимо ознакомиться с атрибутами из источника и их типами данных. Например, модель источника данных выглядит так:

Атрибуты источника.png

Из этих данных необходимо, чтобы загружались атрибуты name (тип String), root_id (тип Integer), start_date (тип DateTime):

выбранные атрибуты источника.png

Поэтому справочник следует настроить соответствующим образом:

Конструктор приемника.png

Шаг 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                  ]

хотя бы один из атрибутов должен содержать настройку "isPrimary": true