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

Материал из 3v-wiki
Перейти к навигации Перейти к поиску
Строка 5: Строка 5:
 
Например: есть задача для DataManager, которая грузит связи задач из жиры (источника данных), которые менялисm за последний день. Если есть задача с какими-то связями, которую загрузили через DM, а потом связи у задачи поменяли (старые удалили, новые добавили), то после новой загрузки в DM новые останутся, старые удалятся
 
Например: есть задача для DataManager, которая грузит связи задач из жиры (источника данных), которые менялисm за последний день. Если есть задача с какими-то связями, которую загрузили через DM, а потом связи у задачи поменяли (старые удалили, новые добавили), то после новой загрузки в DM новые останутся, старые удалятся
  
в DictionaryDataOptions добавлена настройка
+
в DictionaryDataOptions добавлена настройка:
 +
<syntaxhighlight lang="JSON" line>
 
"сlearDataOptions": {
 
"сlearDataOptions": {
"Fields": [<fields>] - коллекция полей по которым будет осуществляется поиск и очистка перед загрузкой
+
                      "Fields": [<fields>]  
}
+
                    }
 +
</syntaxhighlight> 
  
Пример:
+
'''"Fields": [<fields>]'''''Курсивное начертание'' - коллекция полей по которым будет осуществляется поиск и очистка перед загрузкой
  
 
'''У данной реализации есть ограничение:''' связи будут удаляться только в том случае, если у задачи еще есть связи ТОЙ ЖЕ НАПРАВЛЕННОСТИ. То есть каждая задача имеет 2 вида ссылок: исходящие и входящие. Загрузка для некоторых приложений сейчас настроена так, что в атрибут NAME пишутся “входящие” задачи. Таким образом, если мы у задачи удалили “входящую” задачу и больше “входящих” задач не осталось, то связь так и останется в справочнике. Это происходит потому, что в DM эти изменения уже не приходят
 
'''У данной реализации есть ограничение:''' связи будут удаляться только в том случае, если у задачи еще есть связи ТОЙ ЖЕ НАПРАВЛЕННОСТИ. То есть каждая задача имеет 2 вида ссылок: исходящие и входящие. Загрузка для некоторых приложений сейчас настроена так, что в атрибут NAME пишутся “входящие” задачи. Таким образом, если мы у задачи удалили “входящую” задачу и больше “входящих” задач не осталось, то связь так и останется в справочнике. Это происходит потому, что в DM эти изменения уже не приходят

Версия 10:01, 5 октября 2022

Данный функционал реализован в версии 0.50

Данная настройка позволяет удалять те записи, которых нет в источнике данных, с возможностью указания атрибутов источника и приемника. Удаление происходит перед записью новых значений при указании атрибута, по которому должны удаляться записи. Например: есть задача для DataManager, которая грузит связи задач из жиры (источника данных), которые менялисm за последний день. Если есть задача с какими-то связями, которую загрузили через DM, а потом связи у задачи поменяли (старые удалили, новые добавили), то после новой загрузки в DM новые останутся, старые удалятся

в DictionaryDataOptions добавлена настройка:

1 "сlearDataOptions": {
2                       "Fields": [<fields>] 
3                     }

"Fields": [<fields>]Курсивное начертание - коллекция полей по которым будет осуществляется поиск и очистка перед загрузкой

У данной реализации есть ограничение: связи будут удаляться только в том случае, если у задачи еще есть связи ТОЙ ЖЕ НАПРАВЛЕННОСТИ. То есть каждая задача имеет 2 вида ссылок: исходящие и входящие. Загрузка для некоторых приложений сейчас настроена так, что в атрибут NAME пишутся “входящие” задачи. Таким образом, если мы у задачи удалили “входящую” задачу и больше “входящих” задач не осталось, то связь так и останется в справочнике. Это происходит потому, что в DM эти изменения уже не приходят