`Данное описание ещё в разработке - будет дополнено`

\
Импорт позволяет загрузить организационную структуру из Excel-файла (`.xlsx`).


# Подсказка

Чтобы получить корректный шаблон файла, воспользуйтесь **экспортом** текущей оргструктуры — экспортированный файл можно отредактировать и загрузить обратно.

---

# Типы импорта

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ0FpIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--44f51cd0109a57464b0d82b88d2cb9d6dc505648/image.png)

\
**Важно:** импорт работает в режиме **замены** — текущие данные выбранного типа будут полностью удалены и заменены на данные из файла.

**В разработке:** режим **обновления** — частичное изменение данных без полного удаления.

---

# Структура Excel-файла

Файл должен быть в формате `.xlsx`. В зависимости от выбранного типа импорта файл содержит от одного до трёх листов. 



### Лист `org_items` — Организационные единицы

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ0VpIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--3eb3421d8db8004d5f6ea6dbd2b61b54c944220d/image.png)

\
**Пример:**

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ0lpIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--237130041583161bd839dfdf54b39b626d8690ac/image.png)

\
**Правила:**

* Ровно один элемент должен быть без `parentId` (корень дерева)

* Корневой элемент должен иметь тип `POSITION`

* Подразделение (`OU`) должно подчиняться должности (`POSITION`)

* Все `id` должны быть уникальными

* `type` принимает только значения `OU` или `POSITION`

* Максимум 10 000 строк

---

### Лист `persons` — Сотрудники

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ01pIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--741ce918c3d4e9eef8c0172a8f59fb41deebbf6e/image.png)

\
**Пример:**

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ1FpIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2835102fbceb8fd11aac3f85b4265c7a5c79c283/image.png)

\
**Правила:**

* Все `id` должны быть уникальными

* `firstName` и `lastName` обязательны

* Максимум 10 000 строк

---


### Лист `org_item_person_edges` — Связи (должность - сотрудник)

Этот лист задаёт, какой сотрудник занимает какую должность.

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdjBoIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--bbd5833c90b10d9f595727de9bbe88955d0a2e9f/image.png)

\
**Пример:**

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdjRoIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--aa53add8fae498bd27ad2227890beb909a3addc1/image.png)

\
**Правила:**

* `orgItemId` должен ссылаться на элемент с типом `POSITION` (не `OU`)

* `personId` должен ссылаться на существующего сотрудника из листа `persons`

* Пары `(orgItemId, personId)` должны быть уникальными

* Максимум 20 000 строк

---

# Как выполнить импорт

1. Откройте страницу организационной структуры

2. Нажмите кнопку импорта

3. Выберите **тип импорта** (по умолчанию — «Всё»)

4. Загрузите `.xlsx` файл — перетащите в область загрузки или выберите через проводник

5. Нажмите **«Импортировать»**

6. При успешном импорте структура обновится автоматически

---

# Ошибки импорта

Если файл содержит некорректные данные, импорт не будет выполнен. Ошибки отображаются по трём категориям:

![](https://helpdesk.stormbpmn.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ1lpIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--750000d335cc75087c909a9e49508a908f5443fb/image.png)

---

# 