Перейти к содержимому

Проекты

Проект — основная сущность в DIMETRA. Каждый клиент привязан к одному проекту.

Создан → В работе (этап 1 → 2 → ... → N) → Сдан → Архив

Прогресс по проекту определяется не отдельным полем «текущий этап», а статусами в коллекции Этапы (stages.status = pending / active / done). Клиент в приложении видит прогресс автоматически — формула считает по этапам.

Проект создаёт администратор: у менеджеров прав на создание нет, только на чтение и обновление назначенных. Если вы менеджер и у клиента появился проект в приложении — администратор его уже завёл, вам остаётся вести этапы (раздел Обновление статусов этапов ниже).

Опорный путь в admin UI: Контент → Проекты → + → заполнить поля → сохранить.

В боковом меню «Контент» выбираете Проекты и нажимаете + в правом верхнем углу.

Список проектов с кнопкой создания

Пустая форма создания проекта со списком обязательных полей

Минимум для сохранения (поля отмечены *):

  • Название — внутреннее название, например «Майкудук, ул. Ерубаева 15, кв. 12»
  • Адрес — полный почтовый адрес: «г. Караганда, мкр. Майкудук, ул. Ерубаева, д. 15, кв. 12»
  • СтатусActive для новых проектов (значение по умолчанию; в архив переводим позже)
  • Клиент — клиент-пользователь (создаётся заранее, см. Клиенты)
  • Ответственный менеджер — кто ведёт проект

Паспортные поля («Номер квартиры», «Площадь», «Тип жилья», «Материал стен», «Год постройки», «Широта», «Долгота») можно оставить пустыми — они заполняются позже в разделе Паспорт объекта ниже.

Форма с заполненными полями: название, адрес, клиент, менеджер

Нажимаете галочку ✓ в правом верхнем углу. Проект появляется в списке.

Список проектов после создания: новая запись рядом с существующей

Форма редактирования проекта — поле «Папка файлов» с readonly-ссылкой на автосозданную папку

После сохранения проекта раскройте панель «Процессы» в правом sidebar — там появится кнопка apply-stage-preset (manual Flow). Клик — открывается модалка «Выберите типы этапов для добавления в проект» с одним полем Типы этапов (multi-select из коллекции Типы этапов).

Кликаете «Выбрать элемент» → откроется dropdown со всеми типами; отмечаете нужные галочками в любом порядке — например:

  • Стандартный ремонт под ключ — Демонтаж + Электромонтаж + Сантехника + Черновая отделка + Чистовая отделка + Установка мебели + Текстиль и декор + Финальная уборка (8 шт)
  • Минимальный — Замеры объекта + Дизайн-проект + Финальная уборка (3 шт)
  • Только финиш — Чистовая отделка + Установка мебели + Текстиль и декор + Финальная уборка (4 шт)

Подтверждаете кнопкой «Запустить процесс с текущим элементом» — Flow создаёт записи в коллекции Этапы с правильными type_id и порядком 1, 2, 3... в той последовательности, в которой вы их выбрали. Все получают статус pending — обновляются по мере выполнения работ.

Модалка «apply-stage-preset» с multi-select коллекции «Типы этапов»

Когда работы начинаются на следующем этапе:

  1. Открываете проект → таб Этапы
  2. Кликаете на нужный этап
  3. Меняете Статус: pendingactive (когда начали) → done (когда завершили)
  4. Сохраняете (✓)

Поля Начат (started_at) и Завершён (completed_at) можно оставить пустыми — они заполняются автоматически при смене статуса. Если хотите указать фактические даты вручную (например, бэкдейтнуть запись) — заполняйте напрямую.

Клиент сразу увидит обновление в приложении и получит push-уведомление.

В табе «Этапы» внутри проекта можно поменять порядок этапов перетаскиванием карточек — поле order пересчитается автоматически. Удобно если нужно переставить этапы местами без ручного редактирования каждого.

Drag-and-drop этапов внутри формы проекта

В Directus у проекта есть две разные кнопки удаления — это важно понимать.

КнопкаЧто делаетКогда использовать
🗄️ Архивировать элемент (стандартная синяя — рядом со «Сохранить»)Soft-archive: меняет status с active на archived. Запись остаётся в БД, исчезает из активного списка. Клиент перестаёт видеть проект в приложении, история сохраняется.Это нормальное завершение проекта. Используйте всегда.
🗑️ Удалить элемент (красная trash)Hard DELETE: удаляет запись из БД безвозвратно. Дочерние записи (этапы, платежи, чаты, документы, чеки, фото) удаляются каскадом — но только если Directus сможет их безопасно удалить. На сегодня FK настроены как NO ACTION (safety net), так что удаление упадёт с ошибкой если есть зависимости.Только в случае ошибки ввода, когда проект создан по ошибке и связанных записей нет.

Чтобы вернуть архивный проект в активные:

  1. Контент → Проекты → нажмите на иконку фильтра в верхнем правом углу
  2. Включите фильтр «Архив»
  3. Откройте нужный проект → кнопка «Восстановить элемент»

Паспорт объекта — это техническая карточка проекта: адрес, площадь, тип жилья, материал стен, год постройки, координаты на карте. Клиент видит его на экране «Паспорт объекта» (33) в мобильном приложении.

Заполняется один раз при создании проекта, обновляется по мере уточнения данных. Все поля необязательные — пустые отображаются у клиента как «—».

Где найти: Контент → Проекты → выбрать проект → прокрутить форму до паспортной секции.

Форма редактирования проекта в Directus с настроенными полями паспорта

ПолеТип в DirectusЧто вводитьПример
АдрестекстПолный почтовый адресг. Караганда, пр. Бухар-Жырау, дом 45, кв. 12
Номер квартирытекстНомер квартиры с литерой если есть12 или 12А
Площадь, м²число (десятичное)Площадь в квадратных метрах. Иконка справа от поля — это м² (не вводите букву)87.5
Тип жильявыпадающий списокОдин из 4 вариантовКвартира
Материал стенвыпадающий списокОдин из 5 вариантовКирпич
Год постройкичисло (целое)Год постройки дома (1900-2026)2018
Широтачисло (десятичное)Широта точки на карте49.806
Долготачисло (десятичное)Долгота точки на карте73.085

Доступны 4 варианта:

  • Квартира — стандартная квартира в многоэтажном доме
  • Студия — однокомнатная квартира-студия без отдельной кухни
  • Частный дом — индивидуальный жилой дом
  • Апартаменты — апартаменты (юридически нежилое помещение)

Развёрнутый dropdown «Тип жилья» с 4 вариантами

Доступны 5 вариантов:

  • Панель — панельный дом
  • Кирпич — кирпичный дом
  • Монолит — монолитный железобетон
  • Блочный — газоблок, пеноблок и т.п.
  • Каркас — каркасное домостроение

Развёрнутый dropdown «Материал стен» с 5 вариантами

Координаты нужны для статичной карты на экране «Паспорт объекта». Если оба поля пустые — клиент увидит placeholder с иконкой и адресом без карты. Подставлять координаты вручную (см. следующий раздел про Яндекс.Карты).

Порядок: сначала Широта (для Караганды ≈ 49.8), потом Долгота (≈ 73.0). Перепутаете — карта откроется в Непале или Кувейте.

  1. Откройте yandex.kz/maps в браузере
  2. В строке поиска введите адрес объекта целиком, например: Караганда, пр. Бухар-Жырау, дом 45
  3. Дождитесь, пока карта приблизится к зданию
  4. Правый клик по нужной точке (на крыше дома или подъезде)
  5. В открывшемся контекстном меню выберите «Что здесь?»
  6. Слева откроется карточка объекта с адресом и строкой «Координаты: 49.806069, 73.082747» — нажмите иконку буфера обмена справа от координат, чтобы скопировать пару чисел
  7. Первое число — это широта, второе — долгота. Вставьте каждое в своё поле в Directus

Яндекс.Карты: карточка объекта с координатами и кнопкой копирования

Эти поля свободные. Минимальные подсказки:

  • Площадь, м² допускает десятичные значения (например, 87.5). Иконка квадратика справа от поля — это м², отдельно вводить «м²» не нужно.
  • Год постройки ограничен диапазоном 1900-2026. Если год неизвестен — оставьте пустым.
  • Номер квартиры — строка, литеру тоже можно (42А, 42-3). Если квартиры нет (частный дом) — оставьте пустым.

Готовый паспорт объекта на экране клиента в мобильном приложении

Каждый этап проекта (коллекция Этапы) поддерживает два поля с плановыми датами:

ПолеОтображение в Admin UIТипОписание
planned_start«Плановое начало»Дата (YYYY-MM-DD)Запланированная дата начала этапа
planned_end«Плановое завершение»Дата (YYYY-MM-DD)Запланированная дата завершения этапа

Оба поля необязательные (nullable) — пустое значение допустимо, особенно для pending-этапов с неопределёнными сроками.

Контент → Этапы → выбрать этап → блок полей «Плановое начало» и «Плановое завершение» (правая колонка формы, после started_at и completed_at).

Формат ввода — выбор из дата-пикера (YYYY-MM-DD). Например: 2026-05-01. Дата хранится без часового пояса; для Казахстана (UTC+6) это «начало дня по Карагандинскому времени».

Как даты отображаются клиенту (экран «График работ»)

Заголовок раздела «Как даты отображаются клиенту (экран «График работ»)»

Логика зависит от статуса этапа:

Статус этапаЧто видит клиент
done (завершён)«с {started_at} · по {completed_at}» (фактические даты)
active (в работе)«с {started_at} · до {planned_end}» (начало + плановое завершение)
pending (ожидает)«{planned_start} — {planned_end}» (оба плановых) или «Даты уточняются» если оба пустые
  • Для pending-этапов в начале проекта — заполните planned_start и planned_end хотя бы приблизительно. Клиент видит «Даты уточняются» если оба пустые.
  • Для active — заполните planned_end (плановый финиш). started_at заполняется автоматически при смене статуса или вручную.
  • Для done — фактические даты started_at / completed_at используются вместо плановых.

У клиента смешанные стены — кирпич + панель. Выберите доминирующий материал. Если строго пополам — кирпич (он чаще оказывается несущим).

Год постройки неизвестен. Оставьте пустым. Клиент увидит «—». Не подставляйте «приблизительно 1990-е» — лучше пусто.

Карта показывает другое место. Перепутали «Широту» и «Долготу». Поменяйте значения местами в Directus, перезагрузите экран в приложении.

Адрес длинный, не помещается в одну строку. Это нормально. У клиента адрес тоже многострочный, мобильное приложение переносит автоматически.

Не вижу кнопки apply-stage-preset в правом sidebar’е. Раскройте панель «Процессы» (иконка молнии, между «Элементы Общего доступа» и «ИИ помощник» в правой колонке) — там должна быть teal-кнопка apply-stage-preset. Если панели нет вообще или внутри пусто — обратитесь к администратору, скорее всего Flow не зарегистрирован (Settings → Flows должен содержать запись apply-stage-preset с trigger: manual, collections: [projects]).

Случайно нажал trash вместо «Архивировать» — что теперь? Если есть связанные записи (этапы, платежи, чат) — Directus вернёт ошибку и проект не удалится. Если ошибки не было и проект пропал — увы, hard DELETE необратим. Проверьте бэкап (см. документацию админа).