Импорт и экспорт сотрудников: как переносить данные во внутренний справочник
Как организовать импорт и экспорт сотрудников во внутреннем справочнике: Excel, CSV, идентификаторы, обновление данных, проверка записей и перенос между системами.
Внутренний справочник сотрудников не всегда создаётся с нуля.
На практике организации уже располагают данными в Excel, CSV, кадровых системах и других корпоративных источниках. Поэтому одной из первых задач при внедрении нового справочника становится перенос существующей информации.
Даже если в дальнейшем данные будут обновляться автоматически, возможность импортировать и экспортировать сотрудников остаётся полезной.
Она позволяет выполнить первоначальную загрузку, массово изменить данные, подготовить резервную копию или перенести информацию между системами.
Зачем нужен импорт сотрудников
Ручное создание нескольких сотен карточек сотрудников может занять значительное время.
Если организация уже имеет готовую таблицу, гораздо удобнее загрузить её в справочник.
Например, исходный файл может содержать:
- ФИО;
- должность;
- подразделение;
- телефон;
- email;
- кабинет.
После проверки эти данные можно использовать для создания карточек сотрудников.
Откуда обычно импортируют данные
На практике встречаются разные источники.
Например:
- Excel;
- CSV;
- XML;
- выгрузка из кадровой системы;
- данные из другого справочника;
- промежуточная база данных.
Для первоначального переноса часто используют Excel или CSV, поскольку такие форматы легко подготовить практически в любой организации.
Импорт из Excel
Excel часто используется как промежуточный формат.
Например, ответственный сотрудник получает таблицу:
| ФИО | Должность | Подразделение | Телефон |
|---|---|---|---|
| Иванов Иван Иванович | Начальник отдела | Отдел закупок | 1234 |
| Петров Пётр Петрович | Специалист | Отдел закупок | 1235 |
После проверки файл загружается в справочник.
Почему CSV может быть удобнее
CSV представляет собой простой текстовый формат.
Например:
id;name;position;department;phone
10452;Иванов Иван Иванович;Начальник отдела;Отдел закупок;1234
10873;Петров Пётр Петрович;Специалист;Отдел закупок;1235
Такой формат удобно формировать автоматически.
Он также хорошо подходит для обмена между различными информационными системами.
Необходимо определить структуру файла
Перед импортом нужно определить, какие столбцы содержит файл.
Например:
| Поле файла | Поле справочника |
|---|---|
id | внешний идентификатор |
name | ФИО |
position | должность |
department | подразделение |
phone | телефон |
email | электронная почта |
Такая схема позволяет однозначно определить назначение каждого столбца.
Обязательные поля
Не все данные одинаково важны.
Например, для создания сотрудника обязательными могут быть:
- идентификатор;
- ФИО;
- подразделение.
Телефон или кабинет при этом могут отсутствовать.
Если обязательное поле не заполнено, запись лучше не импортировать автоматически.
Проверка файла перед импортом
Перед загрузкой желательно проверить исходные данные.
Можно обнаружить:
- пустые строки;
- дубли;
- неизвестные подразделения;
- отсутствующие идентификаторы;
- неправильные форматы телефонов;
- некорректные адреса электронной почты.
Чем раньше обнаружена проблема, тем проще её исправить.
Дубли сотрудников
Одна из наиболее опасных проблем — создание дублей.
Например, в файле дважды находится:
Иванов Иван Иванович
Если система не умеет определить, что это одна запись, после импорта могут появиться две карточки.
Поэтому необходимо использовать стабильный идентификатор.
Почему ФИО недостаточно
ФИО не является надёжным уникальным ключом.
В организации могут одновременно работать два человека с одинаковыми именами.
Кроме того, фамилия сотрудника может измениться.
Поэтому желательно использовать внешний идентификатор из исходной системы.
Например:
10452
Если сотрудник уже существует в справочнике с таким идентификатором, импорт должен обновить существующую запись.
Импорт новых сотрудников
Если идентификатор отсутствует в справочнике, система может создать новую карточку.
Например:
10452 → Иванов Иван Иванович
Если записи 10452 ещё нет, создаётся новый сотрудник.
Если запись уже существует, обновляется она.
Импорт изменений
Импорт может использоваться не только для первоначальной загрузки.
Например, ответственному сотруднику передали новый файл:
10452;Иванов Иван Иванович;Начальник отдела;Отдел закупок;1234
В предыдущем файле должность была:
Специалист
При повторном импорте она изменяется на:
Начальник отдела
Полный и частичный импорт
Можно использовать два разных подхода.
Полный импорт
Файл содержит всех сотрудников организации.
Система сравнивает его с текущими данными.
Частичный импорт
Файл содержит только изменившиеся записи.
Например:
- новых сотрудников;
- переведённых сотрудников;
- изменившиеся телефоны;
- изменившиеся должности.
Для больших организаций второй вариант может быть удобнее.
Что делать с отсутствующими сотрудниками
Предположим, в справочнике есть 1000 сотрудников.
В новом файле содержится только 990 записей.
Необходимо определить, что означают отсутствующие 10 сотрудников.
Они могли:
- уволиться;
- временно отсутствовать;
- просто не попасть в выгрузку из-за ошибки.
Поэтому отсутствие записи в файле не всегда означает необходимость удаления сотрудника.
Удаление при импорте
Автоматическое удаление — потенциально опасная операция.
Если исходный файл сформирован неправильно, можно случайно удалить большое количество карточек.
Поэтому безопаснее использовать статусы или архивирование.
Физическое удаление стоит выполнять только при наличии чётких правил.
Импорт подразделений
Одновременно с сотрудниками может потребоваться загрузка организационной структуры.
Например:
id;name;parent_id
D001;Департамент закупок;
D002;Отдел закупок;D001
D003;Группа договоров;D002
Такой формат позволяет описать вложенность подразделений.
Почему подразделения нужно импортировать отдельно
Сотрудник может ссылаться на подразделение.
Поэтому сначала необходимо убедиться, что соответствующий объект существует.
Например:
Сотрудник
→ department_id = D002
Подразделение
→ D002 = Отдел закупок
Если подразделение отсутствует, импорт сотрудника должен сообщить об ошибке или использовать заранее определённое правило.
Порядок импорта
При загрузке сложной структуры удобно соблюдать определённый порядок.
Например:
- подразделения;
- сотрудники;
- контакты;
- помещения;
- дополнительные связи.
Так уменьшается количество ошибок при установлении связей.
Предварительный просмотр
Хорошей практикой является предварительный просмотр данных.
До изменения справочника пользователь может увидеть:
Будет добавлено: 24
Будет изменено: 87
Будет пропущено: 3
Ошибок: 2
Только после проверки выполняется применение изменений.
Отчёт об импорте
После завершения операции желательно показать результат.
Например:
Импорт завершён.
Получено записей: 1248
Добавлено: 24
Изменено: 87
Без изменений: 1134
Ошибок: 3
Так ответственный сотрудник понимает, что именно произошло с данными.
Ошибки отдельных записей
Ошибка одной строки не обязательно должна останавливать весь импорт.
Например:
Строка 148:
Подразделение "Отдел закупок" не найдено.
Остальные корректные записи могут быть загружены.
Проблемные строки сохраняются в отчёте.
Повторный импорт после исправления
После исправления исходного файла можно выполнить импорт повторно.
Например, сначала была ошибка:
Не найдено подразделение D002
После добавления подразделения повторная загрузка успешно создаёт связь.
Такой подход удобнее, чем отменять весь импорт из-за одной проблемной строки.
Массовое изменение данных
Импорт может использоваться как инструмент массового редактирования.
Например, необходимо изменить подразделение у 200 сотрудников.
Вместо открытия 200 карточек можно подготовить файл:
id;department
10452;D002
10453;D002
10454;D002
После проверки изменения применяются одной операцией.
Массовое изменение телефонов
Аналогичным способом можно обновить внутренние номера.
Например:
id;phone
10452;1234
10453;1235
10454;1236
Это особенно удобно после изменения телефонной инфраструктуры.
Экспорт сотрудников
Обратная операция также может быть полезной.
Экспорт позволяет получить данные справочника в файл.
Например, для:
- анализа;
- подготовки отчётов;
- передачи в другую систему;
- резервного хранения;
- массового редактирования.
Что экспортировать
Не обязательно выгружать все поля.
Можно предложить разные варианты экспорта.
Например:
Основные данные
- ФИО;
- должность;
- подразделение.
Контактные данные
- телефон;
- email.
Расширенный экспорт
- дополнительные атрибуты;
- идентификаторы;
- служебные поля.
Экспорт и персональные данные
При экспорте необходимо учитывать права доступа.
Если пользователь не имеет права видеть определённое поле в интерфейсе, не стоит автоматически предоставлять ему это поле через экспорт.
Экспорт должен подчиняться тем же правилам доступа, что и просмотр данных.
Ограничение экспорта
Для некоторых организаций может быть полезно ограничивать экспорт.
Например:
- только администраторам;
- только ответственным за справочник;
- только определённых подразделений.
Это позволяет уменьшить риск неконтролируемого распространения данных.
Экспорт только своего подразделения
Если права пользователя ограничены определённым подразделением, экспорт также может быть ограничен.
Например, ответственный за отдел закупок получает только:
Отдел закупок
→ сотрудники
→ контакты
Он не получает полный список сотрудников организации.
Формат экспорта
Наиболее распространённые форматы:
- CSV;
- Excel;
- JSON;
- XML.
CSV удобен для обмена с другими системами.
Excel — для работы пользователей.
JSON и XML чаще используются для программного обмена.
Импорт и резервное копирование
Экспорт может использоваться как один из элементов резервного хранения.
Например, администратор периодически получает копию данных сотрудников.
Но файловый экспорт не следует считать полноценной заменой резервному копированию базы данных.
Для восстановления системы необходимо учитывать также структуру, настройки и связи между объектами.
Перенос между системами
Импорт и экспорт особенно полезны при миграции.
Например:
Старый справочник
→ экспорт
→ преобразование данных
→ импорт
→ новый справочник
Так можно перенести существующую информацию без ручного создания каждой карточки.
Преобразование данных
Форматы разных систем редко совпадают полностью.
Например, одна система хранит:
Ivanov Ivan
а другая:
Иванов Иван Иванович
Или одна система использует:
department_id
а другая:
division_id.
Перед импортом может потребоваться преобразование.
Таблица соответствия полей
Для миграции удобно заранее создать таблицу соответствий.
| Старое поле | Новое поле |
|---|---|
full_name | name |
job_title | position |
dept_id | department_id |
work_phone | phone |
mail | email |
Такая схема помогает избежать потери данных.
Кодировки
При работе с CSV важно учитывать кодировку файла.
Особенно это актуально для русского языка.
Например, файл может быть сохранён в UTF-8 или в другой кодировке.
Если кодировка определена неправильно, вместо:
Иванов Иван Иванович
можно получить нечитаемый набор символов.
Поэтому импорт должен корректно обрабатывать используемые кодировки.
Разделители CSV
CSV-файлы могут использовать разные разделители.
Например:
id;name;phone
10452;Иванов Иван Иванович;1234
или:
id,name,phone
10452,"Иванов Иван Иванович","1234"
Система должна либо явно задавать ожидаемый формат, либо позволять пользователю выбрать разделитель.
Даты и числа
Отдельные проблемы возникают с форматами дат и числовых значений.
Например:
13.08.2026
и
2026-08-13
представляют одну дату, но записаны по-разному.
Перед импортом необходимо определить допустимый формат.
Проверка результата
После массового импорта желательно проверить не только количество записей.
Можно дополнительно проверить:
- количество сотрудников;
- количество подразделений;
- количество сотрудников без телефона;
- количество сотрудников без email;
- наличие дублей;
- корректность связей.
Это помогает обнаружить ошибки, которые не были выявлены на этапе загрузки.
Импорт как часть интеграции
Файловый импорт не обязательно является временным решением.
Для некоторых организаций регулярный обмен CSV может быть вполне рабочим вариантом.
Например:
Кадровая система
→ ежедневно формирует CSV
↓
Оргнавигатор
→ импортирует изменения
Такой вариант может быть проще в сопровождении, чем сложная интеграция через API.
Когда лучше использовать API
API имеет смысл, когда требуется более оперативный обмен.
Например:
- данные должны обновляться несколько раз в час;
- необходимо получать только изменения;
- требуется автоматическая передача без промежуточных файлов;
- системы должны обмениваться данными постоянно.
Выбор зависит от инфраструктуры и требований организации.
Безопасность файлового обмена
Если файл содержит сведения о сотрудниках, его нельзя считать обычным техническим файлом.
Необходимо учитывать:
- где он хранится;
- кто может его прочитать;
- как передаётся;
- как долго сохраняется;
- когда удаляется.
Особенно важно не оставлять выгрузки с персональными данными в общедоступных каталогах.
Что делать с загруженными файлами
После успешного импорта временный файл не всегда необходимо хранить на сервере.
Если он больше не нужен, его можно удалить.
Если файл необходимо сохранить для аудита, доступ к нему должен быть ограничен.
Правила хранения стоит определить заранее.
Импорт и права доступа
Операции массового изменения данных требуют повышенных полномочий.
Например:
Просмотр
→ доступен обычным пользователям.
Редактирование
→ ответственным сотрудникам.
Импорт
→ администраторам или специально назначенным операторам.
Экспорт
→ в соответствии с политикой организации.
Такое разделение снижает риск случайного изменения большого количества записей.
Импорт из нескольких источников
В сложной инфраструктуре импорт может выполняться из нескольких файлов.
Например:
employees.csv
→ сотрудники
departments.csv
→ подразделения
phones.csv
→ телефоны
rooms.csv
→ помещения
Справочник объединяет эти данные по идентификаторам.
Что делать при конфликте источников
Если два файла содержат разные значения одного поля, необходимо определить приоритет.
Например:
employees.csv
→ телефон 1234
phones.csv
→ телефон 5678
Если владельцем телефонных данных является АТС, значение из phones.csv должно иметь приоритет.
Импорт без контроля может быть опасен
Массовая загрузка удобна, но она способна изменить большое количество данных за одну операцию.
Поэтому желательно иметь:
- предварительную проверку;
- отчёт об изменениях;
- журнал операций;
- возможность отмены или восстановления;
- ограничения по правам.
Чем больше организация, тем важнее такие механизмы.
Оргнавигатор и импорт данных
Оргнавигатор может использовать импорт для первоначального наполнения каталога, массового обновления сотрудников и обмена с другими корпоративными системами.
Данные могут поступать из Excel, CSV или автоматизированных источников.
После загрузки они становятся частью единого каталога сотрудников, подразделений и помещений.
Итог
Импорт и экспорт — это не просто дополнительные функции внутреннего справочника.
Они помогают выполнить первоначальное внедрение, массово обновлять данные, переносить информацию между системами и поддерживать обмен с существующей инфраструктурой.
При этом наиболее важны не сам формат файла, а правила идентификации сотрудников, проверка данных, обработка ошибок и разграничение доступа.
Если эти механизмы продуманы заранее, перенос и массовое обновление информации становятся значительно безопаснее и удобнее.