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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 27: Строка 27:
  
 
=== Шаг 2. Настройка полей ===
 
=== Шаг 2. Настройка полей ===
 
+
Настройка полей выглядит следующим образом:
 
<syntaxhighlight lang="JSON" line>
 
<syntaxhighlight lang="JSON" line>
 
"mapperOptions": [
 
"mapperOptions": [
Строка 53: Строка 53:
 
                 ]
 
                 ]
 
</syntaxhighlight>
 
</syntaxhighlight>
хотя бы один из атрибутов должен содержать настройку  "isPrimary": true
+
 
 +
'''Откуда берется:'''
 +
propertyName - название атрибута из источника
 +
filedName - название атрибута из конструктора справочника
 +
dataType - тип данных, который должен совпадать в приемнике и источнике (см статью "Какие типы данных поддерживает DM"_
 +
isPrimary - первичный ключ (хотя бы один из атрибутов должен содержать настройку  "isPrimary": true)
 +
discriminator - здесь всегда необходимо ставить "MapperOption"

Версия 05:58, 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                  ]

Откуда берется: propertyName - название атрибута из источника filedName - название атрибута из конструктора справочника dataType - тип данных, который должен совпадать в приемнике и источнике (см статью "Какие типы данных поддерживает DM"_ isPrimary - первичный ключ (хотя бы один из атрибутов должен содержать настройку "isPrimary": true) discriminator - здесь всегда необходимо ставить "MapperOption"