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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
(Содержимое страницы заменено на «{{DISPLAYTITLE: Как настроить маппинг для справочника}}»)
Метка: замена
Строка 1: Строка 1:
 
{{DISPLAYTITLE: Как настроить маппинг для справочника}}
 
{{DISPLAYTITLE: Как настроить маппинг для справочника}}
После настройки [[Платформа_3V/DataManager/Источник_данных|источника данных]] необходимо настроить приемник данных. Приемник данных настраивается в части '''"Destination"'''.
 
 
Destination состоит из:
 
{| class="wikitable"
 
|-
 
! Название полей !! Описание !! Тип
 
|-
 
| discriminator || Дискриминатор:
 
* Если приемник - справочник, то "DictionaryDataOptions"
 
* Если приемник - показатель, то "IndicatorDataOption"
 
|| Текст ячейки
 
|-
 
| SaveMode ||
 
* DictionaryClient - запись через апи справочников (стоит по умолчанию, можно не прописывать)
 
* Postgres - запись через БД (в данном случае следует указать)
 
|| string (строка)
 
|-
 
| mapperOptions[] || Настройки маппинга || string (строка)
 
|-
 
| expressions[] || Настройки выражений (при необходимости) || коллекция полей
 
|-
 
| clearData || Очистить данные (для справочника '''(если дискриминатор - DictionaryDataOptions)''' добавлена настройка для частичной очистки данных) || boolean (логический тип)
 
|-
 
| dictionaryIdent || Код справочника-приемника данных || string (строка)
 
|}
 
'''Шаблон для Destination:'''
 
<syntaxhighlight lang="JSON" line>
 
"Destination": {
 
                "discriminator": "",
 
                "SaveMode": "Postgres",
 
                "mapperOptions": [ {}, {}],
 
                "expressions": [{}],
 
                "clearData": false,
 
                "dictionaryIdent": ""
 
              }
 
</syntaxhighlight>
 
 
=== Настройки маппинга ===
 
Все настройки маппинга записываются в поле mapperOptions
 
 
Количество столбцов источника данных, должны соответствовать количеству столбцов приемника данных
 
{| class="wikitable"
 
|-
 
! Название поля !! Описание !! Тип
 
|-
 
| propertyName || Наименование данных из источника || string (строка)
 
|-
 
| filedName || Название столбца-приемника (брать из конструктора справочника) || string (строка)
 
|-
 
| dataType || Тип столбца-приемника
 
'''(тип атрибута-источника и атрибута-приемника должен совпадать)'''
 
|| string (строка)
 
|-
 
| isPrimary || Первичный ключ (обычно первичным ключом является столбец с уникальными значениями, то есть идентификатор) || boolean (логический тип)
 
|-
 
| ExpressionId || Идентификатор выражения (необязательно, только если для данных требуется выражение) || string (строка)
 
|-
 
| discriminator || Дискриминатор (MapperOption) || string (строка)
 
|}
 
'''Шаблон для mapperOptions:'''
 
<syntaxhighlight lang="JSON" line>
 
"mapperOptions": [
 
                  {
 
                    "propertyName": "",
 
                    "filedName": "",
 
                    "dataType": "",
 
                    "isPrimary": true,
 
                    "discriminator":"MapperOption"
 
                  },
 
                  {
 
                    "propertyName": "",
 
                    "filedName": "",
 
                    "dataType": "",
 
                    "isPrimary": false,
 
                    "discriminator":"MapperOption",
 
                    "ExpressionId": 1
 
                  },
 
                ]
 
</syntaxhighlight>
 
 
=== Настройки выражений ===
 
{| class="wikitable"
 
|-
 
! Название поля!! Описание !! Тип
 
|-
 
| Id || Идентификатор выражения || integer (целое число)
 
|-
 
| Expression || Условие для выражения || string (строка)
 
|-
 
| Variables || Переменные, которые используются в выражении || string (строка)
 
|}
 
'''Шаблон для выражений:'''
 
<syntaxhighlight lang="JSON" line>
 
"expressions":[
 
                {
 
                  "Id": 1,     
 
                  "Expression": "",
 
                  "Variables": {"1": "", "2": ""}
 
                }         
 
              ]
 
</syntaxhighlight>
 

Версия 04:28, 12 декабря 2022