﻿---
title: Справочник сотрудников и оргструктура
description: "Справочник на Laravel + Filament: поиск коллег, линии подчинения, подразделения и локации с доступом к полям по ролям."
---

## Что это за сервис

Внутренний справочник компании: кто в какой команде работает, кому подчиняется, где находится и как с ним связаться. Пользуются все сотрудники, а ведут его HR и руководители.

Без такого сервиса данные о людях разбросаны по вики, профилям в мессенджере, анкетам адаптации и общей таблице, которую кто-то завёл несколько лет назад. Новичок первую неделю выясняет, кто за что отвечает. Руководитель перед заявкой на найм сверяет структуру команды в трёх системах. HR каждую неделю вручную правит таблицу, которую половина компании считает главным источником, а другая половина давно не открывает. При этом в кадровой системе нет разграничения по полям, и чувствительные сведения видят все или никто.

## Что он делает

- **Находит человека за секунды.** Поиск по имени, должности, подразделению, навыкам и локации; в карточке — контакты, руководитель, команда и рабочие часы.
- **Показывает оргструктуру.** Дерево подчинения строится по полю «руководитель» и меняется вместе с исходными данными, без ручной перерисовки схемы.
- **Разграничивает поля по ролям.** Сотрудник видит рабочие контакты коллег, руководитель — дополнительные сведения о своей команде, HR — полную карточку.
- **Даёт сотруднику править своё.** Телефон, часовой пояс, рабочие часы и фото человек меняет сам, а подразделение и должность остаются за HR.
- **Следит за актуальностью.** Карточки, которые давно не обновлялись, попадают в очередь напоминаний руководителю, а уволенные сотрудники исчезают из активного справочника.

## Нюансы и особенности

- **Один источник правды.** Если кадровые данные ведутся в 1С:ЗУП или другой HR-системе, справочник синхронизируется с ней по расписанию и не допускает ручных правок полей, которыми она владеет. Иначе через полгода появятся две расходящиеся версии.
- **Готовые продукты часто хватает.** Модуль сотрудников в Битрикс24, BambooHR или корпоративном портале закрывает базовый поиск и оргсхему. Своё приложение оправдано, когда нужны собственные поля, сложная видимость или связь с другими внутренними сервисами.
- **Персональные данные — по минимуму.** Храните только то, что нужно для работы справочника. Паспортные данные, зарплата и сведения о здоровье здесь не нужны; порядок обработки согласуйте с ответственным за 152-ФЗ в компании.
- **Видимость проверяют на сервере.** Скрытие колонки в интерфейсе не защищает данные: ограничение должно действовать в таблицах, карточке, поиске и экспорте. Перед запуском войдите под обычным сотрудником и проверьте, что лишнего не видно.
- **Руководитель обязателен.** Без поля «руководитель» дерево подчинения рвётся. Требуйте его в каждой карточке и проверяйте при сохранении, что человек не подчиняется сам себе и цепочка не замыкается.
- **Дубли отсекают при импорте.** Уникальный ключ — рабочая почта или табельный номер; ручное создание карточки без него блокируется.
- **Увольнение — это статус.** Карточку не удаляют, а переводят в архив: она пропадает из поиска, но остаётся для истории и отчётов в пределах сроков хранения, принятых в компании.

## Как сгенерировать через ИИ-агентов

Промпты рассчитаны на AI-агента (Claude Code, Cursor и аналоги) в Laravel-проекте с установленным **Filament 4.x**. Отправляйте их по одному и проверяйте результат каждого шага.

### 1. Данные и модели

```text
Создай модели и миграции для справочника сотрудников: Employee (табельный
номер и рабочая почта — уникальные, ФИО, должность, подразделение,
руководитель — ссылка на Employee, локация, часовой пояс, телефон,
статус «работает / в архиве», дата последнего обновления карточки),
Department (название, руководитель, родительское подразделение), Location.
Запрети сохранять сотрудника руководителем самого себя и циклы
подчинения. Добавь фабрики с демо-данными на 200 человек.
```

### 2. Карточка и поиск

```text
Сгенерируй Filament-ресурс для Employee: таблица с глобальным поиском по
ФИО, должности и подразделению, фильтры по подразделению, локации и
статусу. В карточке покажи контакты, руководителя, прямых подчинённых и
коллег по команде. Архивные сотрудники по умолчанию скрыты.
```

### 3. Оргструктура и самообслуживание

```text
Добавь страницу оргструктуры: дерево подразделений и подчинения с
раскрытием по уровням. Сделай профиль сотрудника, где он сам может
изменить телефон, часовой пояс, рабочие часы и фото. Остальные поля
доступны для правки только HR.
```

Проверьте, что сотрудник не может изменить свою должность даже прямым запросом к форме.

### 4. Синхронизация с кадровой системой

```text
Сделай фоновую задачу по расписанию, которая загружает сотрудников из
кадровой системы по API или из CSV, сопоставляет их по табельному номеру,
обновляет поля, которыми владеет кадровая система, и переводит уволенных
в архив. Веди журнал запусков с числом изменённых записей и ошибками.
Карточки без обновления дольше 90 дней отправляй руководителю в
уведомлении.
```

### 5. Роли и видимость полей

```text
Настрой роли: сотрудник видит рабочие контакты и структуру, руководитель
дополнительно видит служебные поля своей команды, HR видит и правит всё.
Примени ограничения к таблице, карточке, поиску и экспорту. Добавь
экспорт справочника подразделения для HR.
```

Войдите под сотрудником без роли HR и убедитесь, что служебные поля не приходят ни в таблицу, ни в выгрузку.

## Похожие сценарии

- [Чек-лист адаптации сотрудника](https://wpcraft.ru/kb/stacks/filament/use-cases/hr/onboarding-checklist.md) — новый сотрудник появляется в справочнике в первый рабочий день.
- [Матрица навыков](https://wpcraft.ru/kb/stacks/filament/use-cases/hr/skills-matrix-dashboard.md) — поиск коллег по компетенциям, а не по должности.
- [Чек-лист увольнения сотрудника](https://wpcraft.ru/kb/stacks/filament/use-cases/hr/offboarding-checklist.md) — перевод карточки в архив вместе с остальными задачами ухода.

## Материалы и источники

- [Refine: Employee Directory](https://refine.dev/use-cases/hr/employee-directory/)
- [Filament 4.x: ресурсы и авторизация](https://filamentphp.com/docs/4.x/resources/overview)
- [Filament 4.x: фильтры таблиц](https://filamentphp.com/docs/4.x/tables/filters/overview)
- [Filament 4.x: пользователи панели](https://filamentphp.com/docs/4.x/users/overview)
- [Filament 4.x: импорт](https://filamentphp.com/docs/4.x/actions/import)