Иногда инфоблок нужно полностью очистить от данных или пересоздать заново — из-за накопившегося мусора, сбитой структуры свойств или подготовки к повторному импорту. Разберём безопасные способы сделать это в админке 1С-Битрикс.
Когда нужна очистка или пересоздание
Очистка и пересоздание — разные операции, и важно не путать их. Выбор зависит от того, что именно вас не устраивает.
- Очистка — удаление всех элементов и разделов, но сохранение самого инфоблока, его свойств, ID и настроек. Подходит перед повторным импортом каталога.
- Пересоздание — удаление инфоблока целиком и создание нового. Нужно, когда сбит набор свойств, тип инфоблока или требуется другой символьный код.
Помните: у инфоблока есть числовой ID, на который часто ссылаются компоненты в шаблоне. При пересоздании ID изменится, и привязки придётся править вручную.
Резервная копия перед работой
Массовое удаление в 1С-Битрикс необратимо: элементы не попадают в «корзину». Поэтому первый шаг — резервная копия.
- Откройте Настройки → Инструменты → Резервное копирование.
- Создайте архив базы данных (можно без файлов, если правите только контент).
- Дождитесь завершения и убедитесь, что архив появился в списке.
Как минимум выгрузите содержимое инфоблока в CSV или XML через экспорт — это позволит восстановить данные, если что-то пойдёт не так.
Массовое удаление элементов
Самый частый сценарий очистки — убрать все элементы, оставив структуру инфоблока нетронутой.
- Перейдите в Контент → Инфоблоки → Типы инфоблоков → [ваш тип] и откройте нужный инфоблок.
- В списке элементов установите режим отображения без разбивки на разделы (кнопка отображения дерева) — так вы увидите все элементы сразу.
- Отметьте флажок в шапке таблицы, чтобы выделить все элементы на странице.
- В выпадающем списке действий внизу выберите Удалить и нажмите Применить.
Если элементов тысячи, увеличьте количество строк на странице через настройку списка (значок шестерёнки) или удаляйте порциями, чтобы не упереться в лимит времени выполнения PHP.
Удаление разделов и очистка дерева
Разделы (секции) удаляются отдельно от элементов. При удалении раздела удаляются и все вложенные в него элементы и подразделы.
- В списке отметьте нужные разделы флажками и примените действие Удалить.
- Удаляйте разделы от нижнего уровня к верхнему, если хотите контролировать процесс; при удалении корневого раздела всё вложенное уйдёт каскадом.
- После очистки проверьте счётчики элементов и разделов в свойствах инфоблока — они должны обнулиться.
Если после удаления в дереве остались «висящие» элементы, обновите страницу и проверьте фильтр — иногда список кэшируется в интерфейсе.
Пересоздание инфоблока
Когда очистки недостаточно и нужно начать со структуры заново, инфоблок пересоздают.
- Сохраните набор свойств: проще всего скопировать существующий инфоблок вместе со свойствами, а затем удалить старый.
- Удалите старый инфоблок через список инфоблоков (действие Удалить) — вместе с ним уйдут все элементы, разделы и значения свойств.
- Создайте новый инфоблок в нужном типе, задайте Символьный код, права доступа и подписи.
- Настройте свойства заново или используйте копию как заготовку.
- Обновите ссылки на
IBLOCK_IDв настройках компонентов на страницах, где выводится инфоблок.
Совет: задавайте осмысленный символьный код инфоблока и используйте его в компонентах вместо числового ID — тогда при пересоздании достаточно сохранить прежний код, и шаблоны продолжат работать.
Частые ошибки
Типичные проблемы при очистке и пересоздании инфоблоков:
| Ситуация | Причина и решение |
|---|---|
| Элементы не удаляются, страница «зависает» | Слишком большой объём за один проход. Удаляйте порциями или увеличьте max_execution_time. |
| После пересоздания каталог пустой на витрине | Изменился ID инфоблока — обновите параметр IBLOCK_ID в компонентах. |
| Пропали товары в поиске | Требуется переиндексация: Настройки → Поиск → Переиндексация. |
| Нет кнопки «Удалить» | Недостаточно прав доступа к инфоблоку. Проверьте права на вкладке настроек инфоблока. |
| Данные «вернулись» после очистки | Кэш компонентов. Сбросьте кэш через Настройки → Настройки продукта → Автокэширование. |
Что проверить после очистки
Завершив очистку или пересоздание, пройдитесь по контрольному списку:
- Сбросьте кэш сайта, чтобы старые данные не выводились из кэша компонентов.
- Запустите переиндексацию поиска, если инфоблок участвует в поиске по сайту.
- Проверьте права доступа на новый инфоблок для нужных групп пользователей.
- Убедитесь, что символьный код и
IDсовпадают с ожиданиями компонентов. - Если планируется импорт — проверьте соответствие свойств полям загрузочного файла.
Итог
Очистка инфоблока сохраняет структуру и подходит перед повторной загрузкой данных, а пересоздание нужно при глубоких изменениях набора свойств или типа. В обоих случаях начинайте с резервной копии и помните про изменение ID при пересоздании.
После работ обязательно сбросьте кэш, переиндексируйте поиск и проверьте права доступа — это снимает большинство «внезапных» проблем на витрине.