Все «удалённые» записи в CRMservice не удаляются физически, а попадают в Корзину. Можно восстановить их в течение 30 дней. Это защита от случайных удалений и злого умысла.
Что попадает в корзину
| Сущность | Сразу удаляется или в корзину? |
|---|---|
| Заказ | В корзину |
| Клиент | В корзину |
| Лид | В корзину |
| Задача | В корзину |
| Материал/услуга в каталоге | В корзину |
| Цены поставщика | Удаляются сразу (без журнала) |
| Сотрудник | НЕ удаляется, только деактивируется |
Открыть корзину
В CRM → Корзина в боковом меню.
Найти запись
Видны:
- Тип (Заказ / Клиент / Лид и т.п.).
- Краткая инфа (номер заказа, ФИО клиента).
- Кто удалил.
- Когда (
deleted_at). - Сколько дней осталось до окончательного удаления.
Фильтр по типу / дате / кто удалил.
Восстановить
Выбрать запись → Восстановить.
Запись возвращается в исходный раздел со всеми связями (заказы клиента → к клиенту, материалы → в каталог).
Окончательное удаление
В корзине можно удалить запись навсегда (для GDPR / 152-ФЗ):
- Выбрать запись.
- Удалить навсегда.
- Подтвердить (требуется ввести «УДАЛИТЬ» вручную).
Автоматическое очищение
Раз в сутки воркер PurgeWorker сканирует корзину и удаляет всё что лежит дольше 30 дней. В журнале аудита фиксируется кто и что удалил.
Связанные сущности
При восстановлении заказа автоматически восстанавливаются:
- Платежи заказа.
- Устройства/материалы заказа.
- Связь с клиентом (если клиент тоже был в корзине — он не восстанавливается, нужно восстановить отдельно).
Возможные проблемы
- «Запись не нашлась в корзине» — прошло > 30 дней или удалили навсегда.
- «Восстановил клиента, но заказы не восстановились» — заказы тоже надо восстановить отдельно (восстановление транзакционно по одной записи).
- «Восстановил, но статус странный» — связь с другой сущностью разорвана (например, восстановили заказ, а связанный материал был удалён навсегда). Пересоздайте связь вручную.