Удаление не того заказа — не редкость, а норма: два похожих названия, торопливая чистка дублей, перенос базы, в котором лишнего снесли заодно. Вопрос не в том, случится ли это, а в том, что будет дальше.
В системах без корзины дальше идёт неприятный разговор и восстановление из вчерашней резервной копии — то есть потеря всей сегодняшней работы ради одной записи. Или, что бывает чаще, никакого восстановления: запись просто заводят заново, по памяти, потеряв историю, вложения и переписку.
Что меняется
| Без корзины | С корзиной | |
|---|---|---|
| Удалили не то | восстановление из вчерашней копии | вернули за секунду |
| Цена возврата | потеря всей работы за день | ноль |
| Вложения и история | заводим заново по памяти | возвращаются вместе с записью |
| Кто решает | администратор базы | сам сотрудник, по праву |
| Страх сотрудника | «лучше не трогать» | работает спокойно |
Последняя строка важнее, чем кажется. В системе без отмены люди боятся удалять что угодно — и база зарастает мусором: дублями, тестовыми записями, отменёнными заказами. Обратимость удаления делает порядок дешёвым.
Как это работает
Удаление начинается с карточки записи: «Удалить» лежит под кнопкой «⋯» в шапке — в самом низу списка, за чертой, отдельно от остальных действий. Вопроса «точно удалить?» не будет — вместо него внизу экрана появится уведомление «Запись удалена» с кнопкой «Отменить», и она живёт около семи секунд. Одно нажатие — и запись на месте.
Так сделано намеренно. Окно с вопросом платит вниманием всех за ошибку единиц: тот, кто удаляет сотую запись, жмёт «Да» не читая, а тот, кто ошибся, этим «Да» и не спасается. Отмена после действия честнее: она ничего не спрашивает у того, кто знает, что делает, и возвращает всё тому, кто промахнулся.
Удалённая запись исчезает из списков, но не из базы — она уходит в корзину своего раздела. Кнопка «Корзина» стоит в шапке списка, рядом с выгрузкой: открыли, нашли строку, нажали «Восстановить» — запись вернулась туда же, где была. Это второй шанс для тех, кто уведомление не застал: отвлёкся, закрыл вкладку, удалил вчера.
Лежит она там 30 дней и возвращается вместе со всем, что к ней относилось: вложениями, историей изменений и связями с другими записями. Это не «создать заново по памяти» — возвращается ровно то, что было.
Точно так же удаляются и позиции заказа — строку убирают прямо в таблице позиций, и то же уведомление с «Отменить» ставит её на место.
Когда чистить надо пачкой
Разовая ошибка — это одна запись. А разбор после переноса базы или чистка тестовых заказов — это двадцать строк подряд, и открывать двадцать карточек ради этого никто не станет.
Поэтому в списке раздела слева у каждой строки стоит галочка, а над строками — галочка «отметить все загруженные». Отметили нужное — над списком появляется полоса «Выбрано: 7 записей» с кнопками «Изменить поле», «Удалить» и «Снять отметки». Работает и в режиме «Таблица» (галочка — в шапке колонок), и в режиме «Список» — том, что кабинет показывает на телефоне по умолчанию (там она стоит отдельной строкой над карточками).
Первая кнопка — не про корзину: тем же отбором можно не удалить строки, а поставить им общее значение («сорок старых заявок — в „Архив“»). Часто это и есть правильный ответ вместо удаления: запись остаётся, а из работы уходит. Подробно — на странице «Массовая правка: одно значение — сразу сорока записям».
Здесь вопрос «точно удалить?» задаётся, и это не противоречие сказанному выше. Отмена вместо вопроса честна там, где действие адресное: одна строка, один клик, один шаг назад. У семи строк цена промаха другая — поэтому массовое удаление спрашивает, а окно подтверждения сразу называет путь назад: записи уйдут в корзину раздела и пролежат там те же 30 дней.
Дальше всё как при обычном удалении: каждая запись проходит тем же путём, что и удалённая с карточки — своя строка в истории, свой пересчёт сводок, своё место в корзине. Если, пока вы выбирали, коллега успел изменить одну из отмеченных записей, она не удалится, а остальные удалятся, и итог назовёт оба числа: «Удалено 6 из 7». Пакет не откатывается целиком из-за одной строки — иначе чистка не завершилась бы никогда, а вы бы не узнали, какая именно строка помешала.
Возврат работает так же пачкой. В корзине у каждой строки та же галочка, над списком — та же «Отметить все загруженные», и кнопка «Восстановить отмеченные» возвращает весь отбор разом. Чистка на сорок строк, которую откатывают сорока нажатиями, — это не второй шанс, а наказание.
И каждая строка корзины называет кто и когда её удалил: «Ремонт ноутбука · 3 августа, 13:00 · Иван Петров». Разбор «кто снёс двадцать заявок» — это вопрос одного экрана, а не двадцати открытых карточек. Имени нет только там, где его нет по-честному: запись убрал не человек, а правило, импорт или публичная форма — тогда в строке остаётся только дата.
Что при этом не ломается
Удалённая запись перестаёт участвовать в жизни системы: не считается в сводках, не попадает в поиск и выгрузку, освобождает место в объёме тарифа. Вернули — всё возвращается обратно, включая счётчики.
Промежуточное состояние «удалено, но местами всплывает» — самая частая беда самодельных корзин, и мы его специально исключили.
Кто может удалять и возвращать
Удаление и возврат ходят под одним правом — изменением записей раздела. У роли, которой раздел открыт только на чтение, нет ни того, ни другого: кнопку «Корзина» она не видит вовсе, а сервер откажет, даже если позвать возврат в обход экрана.
Сколько стоит
Бесплатно, как и всё остальное; тариф не влияет на срок хранения в корзине.
Честные ограничения
- За один раз — до 200 записей. Столько же, сколько помещается на одну страницу списка, поэтому «отметить всё на странице» проходит всегда. Чистка на тысячи строк — это уже не жест руками, и её дом прежний: наш API (импорт, скрипт переноса, интеграция); в корзину она попадает так же, как ручная.
- «Отметить все» отмечает ЗАГРУЖЕННЫЕ строки, а не весь отбор. Список догружается порциями, и галочка в шапке берёт то, что уже на экране: нажали «Показать ещё» — отметьте снова, чтобы захватить догруженное. Мы намеренно не отмечаем «всё, что подходит под фильтр»: показать 50 строк, а удалить 3000 — это ровно тот класс сюрприза, ради которого корзина и существует.
- Отдельной кнопки «Удалить» у строки списка нет. Одну запись быстрее удалить с её карточки: там работает мгновенная «Отменить», а через отметку она пойдёт как массовая — с вопросом и без тоста.
- У удаления не от человека имени не будет. Запись мог убрать не сотрудник, а правило, импорт или публичная форма — тогда в строке корзины остаётся дата без имени, и это честнее, чем «неизвестно кто».
- Общего экрана корзины ЗАПИСЕЙ пространства нет — корзина записей смотрится в своём разделе. У файлов иначе: у них своя общая корзина на всё пространство — раздел «Файлы» → вкладка «Корзина», те же 30 дней. Вложение возвращается и вместе со своей записью, и по отдельности — смотря что вы удалили.
- Итоги родительской записи после возврата догоняют не сразу — сумма заказа пересчитается при следующей правке.
- По истечении 30 дней запись перестаёт показываться, но физически остаётся в базе до полного стирания пространства: «безвозвратно уничтожаем через месяц» мы не обещаем, потому что пока этого не делаем.
Что дальше
Кому доверить удаление — роли и права; что ещё защищает от потери работы — команда, доступ и безопасность.
Что рядом
- Команда, доступ и безопасность: кто что видит и что будет, если ошиблисьРоли и права по разделам, защита от затирания правок, корзина на 30 дней, журнал изменений, данные в России и доступ поддержки только с вашего разрешения.
- Роли и права: мастер видит свои заказы, а не зарплатыСвои роли под вашу структуру, доступ по разделам и режим «только свои записи». Скрытый раздел не виден в меню, не открывается по прямой ссылке и не отдаётся через API — граница одна на все двери.
- Живой кабинет: работа команды видна в тот момент, когда она происходитВидно, кто сейчас в записи и что правит; изменения коллег появляются без перезагрузки; одновременные правки объединяются по полям вместо «победил сохранивший последним».
Соберите свою CRM под свою нишу — бесплатно и без карты.
Собрать мою CRM →