Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Описание: Импортировать строки Excel-файла (данные из ранее загруженного на портал как файлфайла-вложение) вложения в список. Метод — единая точка входа для нескольких форматов: конкретный обработчик (провайдер импорта) выбирается автоматически по расширению файла. На данный момент есть два провайдера:

  • Excel (.xlsx) — построчный импорт/обновление элементов списка (см. ниже). Параметр parentId этим провайдером не используется.
  • MPXJ (.mpp, .mpt, .mpx, .mpd, .xml, .xer, .pmxml — файлы MS Project и Primavera) — импорт иерархии задач проекта в дерево элементов списка, с использованием parentId как точки вставки (см. ниже).

как новые или обновляемые элементы. Строки сопоставляются с элементами списка по столбцу id: если id пуст — создаётся новый элемент, если заполнен — обновляется существующий. Метод возвращает элемент файла-отчёта с результатом построчной/потасковой обработки (какие строки что успешно импортированыимпортировано, какие что — с ошибкой и почему).

...

🌐 HTTP-информация

  • Метод: POST
  • URL: /import/api/excelfile/Import/{listId}/{contentTypeIdparentId}/{fileId}
  • Headers:
    • Authorization: <UserSessionToken>

...

ПараметрТипОписание
listIdGuidID списка, в который импортируются данные.
contentTypeIdparentIdGuidПрисутствует в шаблоне маршрута, но текущей реализацией контроллера не используется (тип содержимого определяется по колонке файла, ID родительского элемента, относительно которого выполняется импорт. Смысл зависит от провайдера — см. ниже). Значение можно передать любым, например 00000000-0000-0000-0000-000000000000.
fileIdGuidID ранее загруженного файла-вложения (Excel), из которого выполняется импорт.

📦 Тело запроса (Request Body)

Метод не принимает тела запроса.

...

Провайдер Excel: parentId не используется — можно передавать любое значение, например 00000000-0000-0000-0000-000000000000 или такое же значение, как в listId. Тип содержимого для новых строк определяется

...

по колонке content_type_id

...

внутри самого

...

файла;

...

строки сопоставляются с элементами списка по колонке id (если пусто — создаётся новый элемент, если заполнено — обновляется существующий).

Провайдер MPXJ: parentId определяет точку вставки импортируемых задач в дерево списка:

  • Если parentId == listId — импортируется вся структура задач проекта как корневой уровень списка.
  • Если parentId — ID уже существующего в списке элемента-задачи (созданного при более раннем импорте того же файла, хранящего исходный идентификатор задачи проекта) — импортируется только соответствующее ему поддерево задач из файла (сама задача и её потомки), то есть возможен частичный повторный импорт отдельной ветки WBS.

...

📦 Тело запроса (Request Body)

Метод не принимает тела запроса.

...

📤 Тело ответа (Response Body)

IItem — элемент файла-отчёта об импорте (созданный на основе исходного файла или в дополнение к нему, с добавленной колонкой результата результатом по каждой строке/задаче: успех / текст ошибки, а для новых строк элементов — присвоенный id). Сам отчёт нужно дополнительно скачать как файл (см. группу "Файлы и документы", будет описана отдельно).