Полное удаление данных из базы 1С: от копии до чистого старта
Содержание
Чтобы полностью очистить базу
1С, данные не стирают по таблицам — создают чистую базу из той же конфигурации. Порядок такой: сохранить конфигурацию
в файл .cf, создать пустую информационную базу и загрузить в неё этот файл. На выходе получается та же программа, но без единого документа, справочника и остатка — чистый старт с привычными настройками учёта.
Второй сценарий — удаление только накопленных данных: документов, движений, остатков, с сохранением структуры и настроек. Тогда работают средствами самой программы — удалением помеченных объектов или свёрткой базы. Файловую и клиент-серверную базу чистят по-разному, а журнал регистрации, кэш и временные каталоги сбрасывают отдельно.
Любой способ начинается с резервной копии: откат после полной очистки возможен только из неё. Разберём каждый метод — с путями меню, именами файлов и каталогов и ошибками, на которых чаще всего теряют данные.
.cf и загрузите её в новую пустую базу. Данных нет, структура и учётная политика — ваши..dt.Резервная копия: с неё начинают любую очистку
Полная очистка необратима. Единственный способ вернуть данные — восстановить их из копии, сделанной до очистки. Поэтому копию снимают всегда, даже если уверены в результате.
Файловая база. Завершите все сеансы, закройте 1С и просто скопируйте весь каталог базы — папку, в которой лежит файл 1Cv8.1CD. Этого достаточно: в одном файле хранятся и конфигурация, и все данные. Копию положите отдельно от рабочей папки.
Клиент-серверная база
. Откройте базу в режиме Конфигуратор и выполните Администрирование → Выгрузить информационную базу. Получите файл .dt — это слепок конфигурации вместе со всеми данными. Дополнительно попросите администратора сервера сделать резервную копию средствами СУБД (backup базы в MS SQL или pg_dump в PostgreSQL) — это надёжнее и быстрее восстанавливается на больших базах.
Выгрузка .dt требует монопольного доступа. Все пользователи должны выйти из базы, иначе платформа не даст выгрузить. Для клиент-серверной базы завершите активные сеансы в консоли администрирования и заранее предупредите людей — иначе прервёте чью-то работу.
Пока копия не сделана и не проверена, к очистке не приступайте.
Чистая база из конфигурации: основной способ полной очистки
Это самый чистый результат: вы получаете базу без данных, но с той же конфигурацией, учётной политикой структуры и всеми доработками. Работает одинаково для файловой и клиент-серверной базы.
- Откройте исходную базу в Конфигураторе.
- Сохраните конфигурацию в файл:
Конфигурация → Сохранить конфигурацию в файл, задайте имя и получите файл с расширением.cf. - Создайте новую пустую базу. В окне запуска 1С нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. Укажите каталог (для файловой) или кластер и имя базы на SQL (для серверной). - Откройте новую базу в Конфигураторе и выполните
Конфигурация → Загрузить конфигурацию из файла, выберите сохранённый.cf. - Согласитесь обновить конфигурацию
базы данных (сочетание
F7или команда обновления) и дождитесь реструктуризации.
Готово: новая база содержит вашу конфигурацию и ноль данных. Старую базу после проверки можно удалить или оставить как архив.
Если в базе были подключены расширения конфигурации, они в .cf не попадают. Сохраните каждое расширение отдельно (.cfe) и загрузите в новую базу через механизм расширений. Так же отдельно переносят внешние обработки и печатные формы.
Чем этот способ отличается от загрузки .dt: файл .cf — только конфигурация, без данных; файл .dt — конфигурация плюс все данные. Для чистой базы нужен именно .cf. Загрузите по ошибке .dt — и все удалённые данные вернутся обратно.
Удаление данных внутри программы без пересоздания базы
Когда структуру и настройки трогать не хочется, а убрать нужно только накопленные записи, работают средствами самой программы. Полностью «обнулить» базу этим путём сложнее, но для частичной очистки он удобнее.
Пометка на удаление и удаление помеченных объектов. Выделите в списке лишние документы или элементы справочников, пометьте их на удаление (Еще → Пометить на удаление или клавиша Delete), затем запустите Администрирование → Обслуживание → Удаление помеченных объектов (путь для «1С:Бухгалтерии 3.0»; в других типовых конфигурациях на БСП команда находится в разделе обслуживания данных). Программа проверит ссылки: объект, на который ссылаются другие записи, удалён не будет — его покажут в списке «не удалённых».
Свёртка информационной базы. Если нужно убрать старые документы, но сохранить текущие остатки, подойдёт свёртка. Она формирует остатки на выбранную дату, вводит их документами ввода начальных остатков и удаляет документы до этой даты. Остатки по складам, взаиморасчётам и счетам при этом не теряются.
И пометка на удаление, и свёртка — массовые операции. Выполняйте их в монопольном режиме, предварительно сняв резервную копию, и не во время работы отдела.
Полностью пустую базу этим способом не получить: ссылочный контроль оставит объекты, на которые есть ссылки, а служебные справочники вроде организаций удалить не даст. Нужна именно чистая база — вернитесь к способу с .cf.
Свёртку обычно выбирают, когда база за годы работы разрослась и тормозит, а старые документы уже не нужны для текущего учёта. Удаление помеченных подходит для точечной чистки: убрать тестовые документы, задвоенные элементы справочников, ненужные номенклатурные позиции. Для старта «с нуля» оба способа избыточны — проще собрать чистую базу из конфигурации.
Файловая база: какие файлы и каталоги за что отвечают
В файловом варианте «очистить каталог » часто понимают буквально — удалить какие-то файлы в папке базы. Делать это вслепую нельзя: можно потерять базу целиком. Вот что в каталоге за что отвечает.
| Файл или папка | Что хранит | Можно ли удалять |
|---|---|---|
1Cv8.1CD | Вся база: конфигурация и данные | Нет. Удаление = потеря базы |
1Cv8.lgd | Журнал регистрации (новые платформы) | Да, журнал. Данные не затрагивает |
1Cv8Log (папка) | Журнал регистрации (старые платформы) | Да, журнал |
1Cv8.cdn, файлы блокировок | Служебные блокировки сеансов | Только при закрытой базе |
Главный вывод: данные файловой базы лежат в едином файле 1Cv8.1CD, и редактировать или «подчищать» его вручную, текстовым или HEX-редактором, нельзя — формат внутренний. Полная очистка файловой базы делается не удалением файлов, а созданием новой пустой базы и загрузкой в неё конфигурации (способ с .cf выше). Удалить файл 1Cv8.1CD имеет смысл только тогда, когда база больше не нужна целиком.
Клиент-серверная база: почему таблицы СУБД не чистят руками
В клиент-серверном варианте данные лежат в СУБД — Microsoft SQL Server или PostgreSQL — в служебных таблицах с именами вида _Reference123, _Document456, _AccumRgT789. Возникает соблазн очистить базу напрямую командами TRUNCATE или DELETE по этим таблицам.
Не выполняйте TRUNCATE или DELETE по таблицам 1С в СУБД. Соответствие таблиц объектам конфигурации хранится в служебных структурах платформы. Ручная чистка рвёт ссылочную целостность и внутреннюю нумерацию — база перестаёт открываться, а восстановить её можно будет только из копии. Это относится и к попыткам «поправить» отдельные таблицы.
Правильная полная очистка клиент-серверной базы:
- Сохраните конфигурацию рабочей базы в
.cf(через Конфигуратор, как описано выше). - В окне запуска или в консоли администрирования серверов создайте новую информационную базу в кластере — платформа заведёт для неё пустую базу данных в СУБД.
- Загрузите в новую базу сохранённый
.cfи обновите конфигурацию базы данных.
Если нужно именно «обнулить» ту же базу, а не заводить новую, загрузите в неё .dt заранее подготовленной пустой базы (Администрирование → Загрузить информационную базу).
Загрузка .dt и обновление конфигурации требуют монопольного доступа. Завершите сеансы в консоли кластера и предупредите пользователей: во время операции работать в базе нельзя, а незавершённые сеансы будут прерваны.
Журнал регистрации, кэш и временные каталоги: сброс по отдельности
Очистка данных не трогает журнал регистрации и локальный кэш — они живут отдельно и чистятся своими средствами. Если задача в том, чтобы убрать и историю действий, сделайте это отдельным шагом.
Журнал регистрации. Он хранит историю входов и изменений. В файловой базе это файл 1Cv8.lgd (или папка 1Cv8Log на старых платформах) рядом с базой. Сократить журнал до нужной даты или очистить полностью можно из Конфигуратора в настройках журнала регистрации (Администрирование → Настройка журнала регистрации). Там же отключают ведение журнала, если он не нужен.
Кэш платформы. Локальный кэш форм и метаданных хранится в профиле пользователя: каталоги %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Сбросить его можно двумя способами:
- запустить базу
с ключом командной строки
/ClearCache; - при закрытой 1С удалить каталоги кэша конкретной базы вручную.
Временные файлы. После сбоев в каталоге %TEMP% остаются временные файлы платформы (имена вида v8_*). Их можно удалить при закрытой 1С — на данные базы это не влияет.
Сброс кэша не удаляет данные. Он лишь очищает локальные настройки отображения и помогает, когда формы «подвисают» или открываются с ошибками после обновления.
Проверка базы после очистки
После любой очистки базу стоит проверить, прежде чем заводить в неё реальные данные.
- Запустите базу в режиме 1С:Предприятие и убедитесь, что она открывается, а списки документов и справочников пусты (или содержат только то, что вы оставляли).
- Выполните
Администрирование → Тестирование и исправлениев Конфигураторе: реиндексацию таблиц и пересчёт итогов. Делается в монопольном режиме. - Проверьте пользователей. В чистой базе, созданной из
.cf, список пользователей пуст. Это значит, что при первом входе база пустит без пароля, и первым делом нужно завести администратора и раздать права. При свёртке и удалении помеченных пользователи сохраняются. - Заново настройте то, что не переносится вместе с конфигурацией: узлы обмена и синхронизации, публикацию на веб-сервере, регламентные задания, подключение к сервисам.
Частые ошибки при очистке базы 1С
На этих промахах чаще всего теряют данные или получают неработающую базу.
.cf..cf (только конфигурация), а не .dt (конфигурация плюс данные)..cf нет ни пользователей, ни узлов обмена — их заводят заново.Частые вопросы
Можно ли вернуть данные после полной очистки базы?
Чем отличается файл `.cf` от `.dt`?
.cf — это только конфигурация, без данных. .dt — конфигурация вместе со всеми данными. Для чистой базы загружают .cf; загрузка .dt вернёт данные обратно.Сохранятся ли пользователи и права в очищенной базе?
.cf список пользователей пуст — администратора создают заново. При свёртке и удалении помеченных объектов пользователи и права остаются.Удаляется ли журнал регистрации при очистке данных?
1Cv8.lgd или папка 1Cv8Log) и при очистке данных не меняется. Чистить его нужно отдельно — из настроек журнала в Конфигураторе.