Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| product:api:faq [20.08.2025 10:51] – [Синхронизация данных с внешним приложением] Белугин Александр | product:api:faq [20.08.2025 11:09] (текущий) – [Синхронизация данных с внешним приложением] Белугин Александр | ||
|---|---|---|---|
| Строка 14: | Строка 14: | ||
| **Ответ** | **Ответ** | ||
| + | |||
| + | * Для реализации изложенной ниже логики пишем скрипт на Power Shell, Python или мини-приложение на C# (.Net), но можно использовать и другие языки / средства запуска сценариев. | ||
| + | * Получаем данные из внешней системы (из файла, API или шины). Критически важно, чтобы у полученных из внешнего источника данных были уникальные идентификаторы по каждой задаче (уникальные для данного источника и однозначно идентифицирующие каждую задачу – далее «внешний ключ» задачи). | ||
| + | * Сохраняем полученные данные в скрипте (или нашем приложении из п.1) в массив для обработки. | ||
| + | * Последовательно обрабатываем хранящиеся в массиве задачи с использованием цикла. | ||
| + | * Запросом в API ADVANTA (быстрее всего будет сделать вызов LINQ-запроса с параметром в виде «внешнего ключа») проверяем что в ADVANTA еще нет объекта, | ||
| + | * Если связанный с задачей из внешнего источника объект уже есть в ADVANTA (найдено совпадение по «внешнему ключу»), | ||
| + | * По «связанным» с внешней системой объектам в ADVANTA можно создать контрольный отчет, для отображения расхождений в атрибутах задачи в ADVANTA и полученных по этой задаче данных из внешней системы. | ||
| + | * Можно дополнительно на уровне скрипта/ | ||
| + | * С заданной регулярностью запускаем созданный скрипт (через cron в Linux или планировщик задач в Windows) | ||
| + | |||
| + | Таким образом информация в объектах ADVANTA будет защищена от изменений, | ||