В процессе тестирования новых конфигураций, при переносе разработки на продакшн или во время обучения сотрудников часто возникает необходимость начать работу с чистого листа. Однако загрузка новой пустой базы — не всегда доступный или быстрый вариант.
Администраторам и разработчикам приходится искать способы, как очистить базу 1С, сохранив при этом структуру метаданных, справочники пользователей и права доступа. Это позволяет избежать потери важных настроек системы и ускоряет подготовку рабочей среды.
Существует несколько подходов к решению этой задачи, от использования встроенных обработок до прямого SQL-запроса, но каждый из них требует аккуратности. Неправильные действия могут привести к потере целостности данных или невозможности запуска системы.
Подготовка и меры безопасности перед очисткой
Перед началом любых манипуляций с данными критически важно создать резервную копию. Даже если вы уверены в своих действиях, случайный сбой питания или ошибка в скрипте могут сделать базу неработоспособной. В режиме 1С:Предприятие воспользуйтесь стандартной функцией выгрузки через Администрирование → Обслуживание → Выгрузить информационную базу.
Для баз данных на платформе PostgreSQL или MS SQL Server рекомендуется делать бэкап на уровне СУБД. Это обеспечит более надежное восстановление файлов данных в случае критических ошибок. Убедитесь, что у вас есть доступ к консоли администрирования сервера 1С.
Помните, что процедура очистки необратима для текущих данных. Если в базе хранятся исторические сведения, которые могут понадобиться в будущем, рассмотрите вариант создания отдельной копии базы для экспериментов.
⚠️ Внимание: Убедитесь, что никто из пользователей не работает в базе в момент очистки. Запустите блокировку входа через консоль администрирования сервера 1С, иначе транзакции могут зависнуть и повредить структуру таблиц.
Используйте именование файлов резервных копий с датой и временем, например "Backup_2026-10-25_14-00.dt", чтобы не запутаться в версиях.
Использование стандартных обработок для сброса данных
Самый безопасный и универсальный способ — использование специализированных внешних обработок, разработанных сообществом или фирмой "1С". Такие инструменты, как "Универсальный отчет" или специализированные обработки типа "Очистка базы данных", позволяют выборочно удалять информацию.
Загрузите обработку в режиме Конфигуратор или через меню Администрирование → Печатные формы, отчеты и обработки. При запуске утилита предложит выбрать объекты метаданных, данные которых необходимо удалить. Вы можете очистить только документы, оставив справочники номенклатуры и контрагентов нетронутыми.
Процесс может занять значительное время в зависимости от объема накопленной информации. Система будет последовательно помечать записи на удаление и физически стирать их из таблиц. В больших базах эта операция может выполняться несколько часов.
⚠️ Внимание: Некоторые обработки не удаляют движения по регистрам накопления корректно, если в базе есть битые ссылки. Всегда проверяйте результат с помощью отчета "Анализ состояния информационной базы".
Ручная очистка через режим Предприятия
Если объем данных невелик, можно воспользоваться стандартными средствами интерфейса 1С. Этот метод подходит для локальных файловых баз или небольших клиент-серверных вариантов. Зайдите в раздел НСИ и Администрирование → Администрирование → Удаление помеченных объектов.
Сначала необходимо пометить все документы на удаление. Для этого используйте обработку группового изменения и перепроведения документов или специальные отчеты. После пометки запустите процедуру физического удаления.
Этот способ менее эффективен для глубокой очистки, так как вручную сложно удалить все движения регистров, особенно если они были сформированы автоматическими процедурами при проведении. Часто остаются "хвосты" в регистрах сведений.
| Объект очистки | Сложность | Риск потери структуры | Рекомендуемый метод |
|---|---|---|---|
| Документы | Низкая | Нет | Групповое удаление |
| Регистры накопления | Высокая | Средний | Специализированная обработка |
| Регистры сведений | Средняя | Низкий | Обработка или SQL |
| Планы видов характеристик | Высокая | Высокий | Только через конфигуратор |
Очистка базы через SQL-запросы (для продвинутых)
Для опытных администраторов баз данных наиболее эффективным методом является прямое выполнение SQL-запросов к таблицам СУБД. Этот подход позволяет мгновенно очистить таблицы, минуя логику платформы 1С. Однако он требует глубокого понимания структуры таблиц платформы.
Вам потребуется доступ к управлению базой данных (например, SQL Server Management Studio или pgAdmin). Перед выполнением команд обязательно остановите службу сервера 1С, чтобы избежать конфликтов блокировок.
TRUNCATE TABLE _AccRgls;
TRUNCATE TABLE _AccRglsE;
TRUNCATE TABLE _AccRglsT;
DELETE FROM _InfoRgSettings;
Команда TRUNCATE работает быстрее, чем DELETE, так как она не логирует удаление каждой строки по отдельности, а просто освобождает страницы данных. Но будьте осторожны: эта операция не может быть отменена в рамках транзакции обычным способом в некоторых СУБД.
Опасности прямого SQL
Прямое удаление данных через SQL обходит механизмы контроля целостности 1С. Если вы удалите записи из таблиц регистров, но оставите ссылки на них в других таблицах, при следующем запуске 1С может выдать ошибку "Нарушение ссылочной целостности" или аварийно завершить работу. Всегда сверяйте имена таблиц с актуальной версией платформы.
⚠️ Внимание: Интерфейсы и имена системных таблиц могут меняться в разных версиях платформы 1С (8.2, 8.3, 8.3.20+). Не копируйте слепо запросы из старых форумов без проверки структуры вашей конкретной базы.
Автоматизация процесса с помощью Vanessa Automation
Современный подход к тестированию и развертыванию предполагает использование фреймворков автоматизации, таких как Vanessa Automation. В составе инструментария часто имеются готовые сценарии (фичи) для очистки базы данных.
Этот метод эмулирует действия пользователя, но делает это с высокой скоростью и без участия человека. Скрипт заходит в базу, находит все документы и удаляет их, затем очищает регистры. Это самый безопасный способ с точки зрения логики платформы.
Использование автоматизации позволяет встроить процедуру очистки в CI/CD пайплайн. При каждом запуске автотестов база будет гарантированно чистой, что исключает влияние старых данных на результаты тестирования.
☑️ Чек-лист безопасной очистки
Восстановление структуры после очистки
После того как данные удалены, база может требовать дополнительной настройки. Часто сбрасываются настройки прав доступа, параметры системы или элементы интерфейса, если они хранились в очищаемых регистрах сведений.
Необходимо заново установить пароли пользователей и проверить роли. Если вы использовали SQL-очистку, возможно, потребуется выполнить команду обновления конфигурации базы данных через конфигуратор, чтобы пересоздать служебные таблицы.
Проверьте работу основных подсистем. Убедитесь, что документы создаются, проводятся и формируют движения по регистрам корректно. Отсутствие ошибок при проведении первого тестового документа — хороший признак успешной очистки.
Полная очистка базы через SQL занимает секунды, но несет высокие риски. Использование обработок занимает часы, но гарантирует сохранение логической целостности данных 1С.
Часто задаваемые вопросы (FAQ)
Можно ли очистить базу, не удаляя справочники контрагентов?
Да, это возможно. При использовании специализированных обработок очистки вы можете выбрать галочками только те объекты, которые нужно удалить (например, Документы и Регистры), оставив справочники нетронутыми. При SQL-очистке нужно избегать таблиц, начинающихся с _Reference.
Что делать, если после очистки база не запускается?
Скорее всего, нарушена ссылочная целостность или удалены обязательные служебные записи. Попробуйте восстановить базу из резервной копии. Если это невозможно, запустите базу в режиме Конфигуратор и выполните меню Администрирование → Обновить конфигурацию базы данных.
Удалится ли история изменений (журнал регистрации) при очистке?
Стандартные обработки очистки данных обычно не затрагивают журнал регистрации, так как он хранится отдельно. Однако при очистке через SQL или удалении всей базы с последующим созданием новой, история изменений будет утеряна безвозвратно.
Как очистить базу в облачном сервисе 1С:Линк?
В облачных сервисах прямой доступ к SQL обычно закрыт. Вам придется использовать только программные методы: загружать обработки очистки через интерфейс или запрашивать услугу сброса у технического поддержки провайдера сервиса.