Полное удаление данных из базы 1С: от копии до чистого старта

· 9 мин

Содержание

Чтобы полностью очистить базу 1С, данные не стирают по таблицам — создают чистую базу из той же конфигурации. Порядок такой: сохранить конфигурацию в файл .cf, создать пустую информационную базу и загрузить в неё этот файл. На выходе получается та же программа, но без единого документа, справочника и остатка — чистый старт с привычными настройками учёта.

Второй сценарий — удаление только накопленных данных: документов, движений, остатков, с сохранением структуры и настроек. Тогда работают средствами самой программы — удалением помеченных объектов или свёрткой базы. Файловую и клиент-серверную базу чистят по-разному, а журнал регистрации, кэш и временные каталоги сбрасывают отдельно.

Любой способ начинается с резервной копии: откат после полной очистки возможен только из неё. Разберём каждый метод — с путями меню, именами файлов и каталогов и ошибками, на которых чаще всего теряют данные.

Что именно вам нужно от очистки базы?

Резервная копия: с неё начинают любую очистку

Полная очистка необратима. Единственный способ вернуть данные — восстановить их из копии, сделанной до очистки. Поэтому копию снимают всегда, даже если уверены в результате.

Файловая база. Завершите все сеансы, закройте 1С и просто скопируйте весь каталог базы — папку, в которой лежит файл 1Cv8.1CD. Этого достаточно: в одном файле хранятся и конфигурация, и все данные. Копию положите отдельно от рабочей папки.

Клиент-серверная база . Откройте базу в режиме Конфигуратор и выполните Администрирование → Выгрузить информационную базу. Получите файл .dt — это слепок конфигурации вместе со всеми данными. Дополнительно попросите администратора сервера сделать резервную копию средствами СУБД (backup базы в MS SQL или pg_dump в PostgreSQL) — это надёжнее и быстрее восстанавливается на больших базах.

Выгрузка .dt требует монопольного доступа. Все пользователи должны выйти из базы, иначе платформа не даст выгрузить. Для клиент-серверной базы завершите активные сеансы в консоли администрирования и заранее предупредите людей — иначе прервёте чью-то работу.

Пока копия не сделана и не проверена, к очистке не приступайте.

Чистая база из конфигурации: основной способ полной очистки

Это самый чистый результат: вы получаете базу без данных, но с той же конфигурацией, учётной политикой структуры и всеми доработками. Работает одинаково для файловой и клиент-серверной базы.

  1. Откройте исходную базу в Конфигураторе.
  2. Сохраните конфигурацию в файл: Конфигурация → Сохранить конфигурацию в файл, задайте имя и получите файл с расширением .cf.
  3. Создайте новую пустую базу. В окне запуска 1С нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации. Укажите каталог (для файловой) или кластер и имя базы на SQL (для серверной).
  4. Откройте новую базу в Конфигураторе и выполните Конфигурация → Загрузить конфигурацию из файла, выберите сохранённый .cf.
  5. Согласитесь обновить конфигурацию базы данных (сочетание 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С в СУБД. Соответствие таблиц объектам конфигурации хранится в служебных структурах платформы. Ручная чистка рвёт ссылочную целостность и внутреннюю нумерацию — база перестаёт открываться, а восстановить её можно будет только из копии. Это относится и к попыткам «поправить» отдельные таблицы.

Правильная полная очистка клиент-серверной базы:

  1. Сохраните конфигурацию рабочей базы в .cf (через Конфигуратор, как описано выше).
  2. В окне запуска или в консоли администрирования серверов создайте новую информационную базу в кластере — платформа заведёт для неё пустую базу данных в СУБД.
  3. Загрузите в новую базу сохранённый .cf и обновите конфигурацию базы данных.

Если нужно именно «обнулить» ту же базу, а не заводить новую, загрузите в неё .dt заранее подготовленной пустой базы (Администрирование → Загрузить информационную базу).

Загрузка .dt и обновление конфигурации требуют монопольного доступа. Завершите сеансы в консоли кластера и предупредите пользователей: во время операции работать в базе нельзя, а незавершённые сеансы будут прерваны.

Журнал регистрации, кэш и временные каталоги: сброс по отдельности

Очистка данных не трогает журнал регистрации и локальный кэш — они живут отдельно и чистятся своими средствами. Если задача в том, чтобы убрать и историю действий, сделайте это отдельным шагом.

Журнал регистрации. Он хранит историю входов и изменений. В файловой базе это файл 1Cv8.lgd (или папка 1Cv8Log на старых платформах) рядом с базой. Сократить журнал до нужной даты или очистить полностью можно из Конфигуратора в настройках журнала регистрации (Администрирование → Настройка журнала регистрации). Там же отключают ведение журнала, если он не нужен.

Кэш платформы. Локальный кэш форм и метаданных хранится в профиле пользователя: каталоги %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Сбросить его можно двумя способами:

  • запустить базу с ключом командной строки /ClearCache;
  • при закрытой 1С удалить каталоги кэша конкретной базы вручную.

Временные файлы. После сбоев в каталоге %TEMP% остаются временные файлы платформы (имена вида v8_*). Их можно удалить при закрытой 1С — на данные базы это не влияет.

Сброс кэша не удаляет данные. Он лишь очищает локальные настройки отображения и помогает, когда формы «подвисают» или открываются с ошибками после обновления.

Проверка базы после очистки

После любой очистки базу стоит проверить, прежде чем заводить в неё реальные данные.

  1. Запустите базу в режиме 1С:Предприятие и убедитесь, что она открывается, а списки документов и справочников пусты (или содержат только то, что вы оставляли).
  2. Выполните Администрирование → Тестирование и исправление в Конфигураторе: реиндексацию таблиц и пересчёт итогов. Делается в монопольном режиме.
  3. Проверьте пользователей. В чистой базе, созданной из .cf, список пользователей пуст. Это значит, что при первом входе база пустит без пароля, и первым делом нужно завести администратора и раздать права. При свёртке и удалении помеченных пользователи сохраняются.
  4. Заново настройте то, что не переносится вместе с конфигурацией: узлы обмена и синхронизации, публикацию на веб-сервере, регламентные задания, подключение к сервисам.

Частые ошибки при очистке базы 1С

На этих промахах чаще всего теряют данные или получают неработающую базу.

Диагностика: выберите симптом

Частые вопросы

Можно ли вернуть данные после полной очистки базы?
Только из резервной копии, снятой до очистки. Без копии удалённые данные не восстановить — поэтому копию делают всегда и проверяют её до начала работ.
Чем отличается файл `.cf` от `.dt`?
.cf — это только конфигурация, без данных. .dt — конфигурация вместе со всеми данными. Для чистой базы загружают .cf; загрузка .dt вернёт данные обратно.
Сохранятся ли пользователи и права в очищенной базе?
Зависит от способа. В новой базе из .cf список пользователей пуст — администратора создают заново. При свёртке и удалении помеченных объектов пользователи и права остаются.
Удаляется ли журнал регистрации при очистке данных?
Нет. Журнал регистрации хранится отдельно (1Cv8.lgd или папка 1Cv8Log) и при очистке данных не меняется. Чистить его нужно отдельно — из настроек журнала в Конфигураторе.
Удаляет ли свёртка базы остатки?
Нет. Свёртка переносит остатки на выбранную дату документами ввода начальных остатков, а удаляет только документы до этой даты. Текущие остатки сохраняются.