
Внутренняя система учёта нужна, когда заявка, договор, закупка или задача проходят через несколько людей, а итог зависит от ручной сверки. Первый релиз должен зафиксировать один рабочий маршрут, источник данных и правила ответственности, а не пытаться автоматизировать всю компанию.
Начните с процесса, где ошибка заметна в сроках, деньгах или потерянных договорённостях. Опишите вход, роли, статусы, действия, контрольные точки и результат. Затем выберите минимальный контур, который можно проверить на реальных сценариях и расширять без переписывания модели.
Полезно провести короткий discovery: посмотрите подход Paladin Engineering к веб-разработке, зафиксируйте сценарии и затем обсуждайте реализацию. Оставьте заявку на разбор задачи, если непонятно, где заканчивается таблица и начинается продукт.
Что считать внутренней системой учёта
Это приложение или модуль, который хранит сущности бизнеса, связывает их с действиями пользователей и сохраняет историю изменений. В отличие от отдельного отчёта, система отвечает не только «что сейчас», но и «кто изменил», «почему изменилось» и «что делать дальше». Интеграции полезны, но не заменяют описания собственного процесса.
Опишите одну сущность и её жизненный цикл
Выберите заявку, заказ, договор, закупку, сотрудника или актив. Запишите, кто создаёт объект, какие поля обязательны, какие статусы допустимы и какое событие переводит его дальше. Такой жизненный цикл полезнее списка экранов: по нему видны правила, роли и тесты.
| Вопрос | Что зафиксировать | Зачем |
|---|---|---|
| Что учитываем? | Сущность, поля, связи | Не смешивать объекты |
| Кто работает? | Роли и замещения | Связать права с процессом |
| Что меняется? | Статусы и условия | Запретить произвольные переходы |
| Что проверяем? | Поля и контрольные точки | Ловить ошибки до отчёта |
Когда таблица стала операционной системой
Сигнал не в количестве строк, а в цене ручной координации. Если статус копируют в несколько файлов, версии сверяют по переписке, а отчёт собирают вручную, проблема относится к процессу и данным. Таблица может остаться источником для импорта или разового анализа.
- один объект имеет несколько версий и владельцев
- изменения нельзя восстановить без переписки
- правила зависят от того, кто открыл файл
- доступ нужно разделять по отделу, проекту или филиалу
- следующий шаг должен запускаться уведомлением
Не каждый сигнал требует большой платформы. Иногда достаточно единого реестра, формы и нескольких статусов. Решение о разработке принимайте после оценки частоты операций, числа участников, цены ошибки и требований к доступу.
Выберите один маршрут и опишите его на одной странице. Если его нельзя объяснить без устных исключений, это важнее будущего стека. Обсудите контур с Paladin Engineering, чтобы отделить обязательную логику от пожеланий второго этапа.
Данные, роли и действия
Система должна разделять данные, правила и представление. Экран показывает допустимые действия, но сервер проверяет каждый запрос. OWASP рекомендует deny by default, наименьшие привилегии, проверки на каждом запросе, журналирование и тесты авторизации. Это источник требований, а не готовая архитектура проекта.
Права доступа не равны настройке меню
Скрытая кнопка не защищает объект. Проверяйте пользователя, организацию, принадлежность записи, статус и действие. RBAC подходит для устойчивых ролей; если доступ зависит от филиала, проекта или автора, понадобятся контекстные или relationship-based правила. Это редакционная рекомендация, которую нужно проверить на сценариях.
| Слой | Пример | Проверка |
|---|---|---|
| Данные | Какие записи видит отдел? | Фильтр и запрет доступа по id |
| Действие | Кто согласует? | Роль и статус на сервере |
| Контекст | Можно менять после закрытия? | Переход и отрицательный тест |
| История | Кто изменил? | Событие без перезаписи |
Журнал изменений — часть модели
Сохраняйте субъект, время, действие, объект и результат перехода. Состав событий и срок хранения определяйте с владельцем процесса, чтобы журнал не стал складом лишних персональных данных. Иначе спорные случаи снова уйдут в чаты.
Первый релиз и миграция
Первый релиз закрывает один маршрут от создания до результата, даёт ролям понятные действия и формирует данные для следующего решения. Обычно нужны справочники, форма, статусы, серверные проверки, базовые уведомления, поиск и отчёт, если он завершает процесс.
- один сценарий с владельцем результата
- минимум сущностей и обязательных полей
- разрешённые и запрещённые действия
- история изменений и переходный экспорт
- метрики для следующего этапа
Что отложить
Сложную кастомизацию, редкие исключения, десятки интеграций и универсальный конструктор отчётов безопаснее оставить на второй этап. Запишите их в backlog с условием приоритета: неопределённость не должна прятаться внутри первого релиза.
Перед миграцией найдите источники истины, дубликаты, обязательные поля и правила преобразования. Если отделы по-разному трактуют статус, загрузка CSV только ускорит старую путаницу.
| Этап | Результат | Контроль |
|---|---|---|
| Инвентаризация | Файлы и владельцы | Где появляется запись? |
| Нормализация | Справочники | Какие значения одинаковы? |
| Пилот | Выборка и маршрут | Сверить с источником? |
| Переключение | Дата и порядок | Кто принимает решение? |
Приёмка и запуск
Проверяйте не число экранов, а рабочие результаты. Для сценария задайте вход, роль, действие, статус, уведомление, запись в журнале и видимость. Отдельно проверьте неверную роль, чужой объект, повторную отправку, неполные поля и изменение закрытой записи.
Чек-лист
- есть владелец процесса
- описаны переходы и исключения
- для ролей есть разрешённые и запрещённые действия
- пилот сверён с источником
- ошибки не раскрывают лишние данные
- есть план поддержки и отката
Paladin Engineering может провести предпроектный разбор, превратить маршрут в требования, спроектировать первый контур и подготовить оценку с допущениями. Фиксированная цена зависит от ролей, интеграций, миграции и эксплуатации. Запросите обсуждение задачи, если нужен разбор вариантов.
Частые вопросы
Нужно ли заменить все таблицы? Нет, начните с самого дорогого маршрута. Можно ли без интеграций? Да, если источник понятен и есть план обмена. Нужны ли сложные роли? Только при реальной зависимости от объекта, организации или этапа. Успех измеряйте завершением процесса, качеством данных и временем контроля.
Внутренняя система учёта начинается с проверяемого процесса, а не с каталога функций. Зафиксируйте сущность, роли, переходы и источник истины, соберите малый контур и проверьте его на реальной работе.
Комментарии