Очистка и удаление конфигурации в базе 1С 8.3

· 9 мин

Содержание

«Удалить конфигурацию» в 1С почти всегда значит одно из двух, и это разные операции. Либо вы хотите очистить метаданные — убрать из базы все справочники, документы и регистры, оставив пустую конфигурацию. Либо вам нужно удалить саму информационную базу целиком — из списка запуска и с диска. Путь действий в этих случаях не совпадает.

Очистка конфигурации делается в Конфигураторе: загружается пустой файл .cf, затем выполняется обновление конфигурации базы данных (F7). Вместе с метаданными удалятся и все данные — пустой конфигурации просто негде их хранить. Удаление базы — это кнопка Удалить в окне запуска плюс ручная очистка каталога, где лежит файл 1Cv8.1CD.

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

Что именно нужно удалить?

Резервная копия: без неё не начинать

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

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

Для файловой базы есть два способа:

  1. Штатная выгрузка в Конфигураторе: Администрирование → Выгрузить информационную базу.... На выходе — файл .dt, в нём и конфигурация, и все данные.
  2. Простое копирование каталога базы. Закройте все сеансы 1С и скопируйте папку, где лежит файл 1Cv8.1CD. Этого достаточно для файлового варианта.

Для клиент-серверной базы .dt тоже подойдёт, но на больших объёмах выгрузка идёт долго. Надёжнее средствами СУБД: резервная копия MS SQL или дамп PostgreSQL. Путь к каталогу файловой базы виден внизу окна запуска, когда база выделена, либо по кнопке Изменить.

Очистка конфигурации через Конфигуратор

Отдельной кнопки «Удалить конфигурацию» в меню нет. Чтобы получить пустую конфигурацию, в базу загружают заранее подготовленный пустой .cf, а затем применяют его к базе данных.

Сначала получите пустой файл конфигурации:

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

Теперь загрузите её в целевую базу:

  1. Сделайте резервную копию целевой базы, если ещё не сделали.
  2. Завершите все пользовательские сеансы — для обновления нужен монопольный доступ.
  3. Откройте целевую базу в Конфигураторе под администратором.
  4. Выполните Конфигурация → Загрузить конфигурацию из файла... и выберите empty.cf.
  5. На запрос об обновлении согласитесь — запустится Обновить конфигурацию базы данных (F7).
  6. 1С предупредит, что будут удалены таблицы объектов. Подтвердите.

Если конфигурация на поддержке (у объектов значок замка), загрузку это не блокирует: Загрузить конфигурацию из файла заменяет конфигурацию целиком, вместе со статусом поддержки. Снимать с поддержки нужно только при ручном удалении объектов (см. ниже).

После обновления база откроется в режиме 1С:Предприятие пустой — без единого справочника и документа.

Когда объекты удаляют вручную

Иногда нужно убрать не всю конфигурацию, а конкретные объекты. Тогда загрузка пустого .cf не подходит — работают прямо в дереве метаданных:

  • Если объекты на поддержке, сначала Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения.
  • Выделите объект в дереве конфигурации и удалите клавишей Delete.
  • Выполните Обновить конфигурацию базы данных (F7), чтобы изменения применились и удалились таблицы.

Этот путь тоже стирает данные удаляемых объектов — таблицы под них в базе больше не нужны.

Пустая конфигурация: что станет с данными

Здесь кроется главное заблуждение. Многие рассчитывают очистить конфигурацию и при этом сохранить накопленные данные. Так не выйдет.

Данные в 1С лежат в таблицах, которые создаются под объекты метаданных. Нет справочника «Номенклатура» в конфигурации — нет и таблицы для его элементов. Когда вы загружаете пустую конфигурацию и жмёте F7, платформа видит, что объектов больше нет, и удаляет их таблицы вместе с содержимым.

Загрузка пустой конфигурации в рабочую базу = полная потеря данных этой базы. Это не очистка «мусора», а обнуление.

Если цель — именно чистая база без данных, не мучайте рабочую. Проще создать новую базу без конфигурации (см. раздел выше) или удалить старую и завести новую. А вот если данные нужны, задача называется уже не «удалить конфигурацию», а «заменить конфигурацию , сохранив данные» — об этом следующий раздел.

Замена конфигурации с сохранением данных

Когда надо не обнулить базу, а перейти на другую конфигурацию или её версию, используют не пустой, а целевой .cf.

Загрузка другой конфигурации из файла. Конфигурация → Загрузить конфигурацию из файла... и выбираете нужный .cf. Платформа сравнит старую и новую структуру. Данные сохранятся только в тех таблицах, где структура объектов совпала; для новых и несовпавших объектов данные не появятся сами — их переносят отдельно. Этот способ уместен для обновления той же конфигурации или совместимого решения.

Выгрузка и загрузка .dt. Файл .dt содержит и конфигурацию, и данные целиком. Администрирование → Выгрузить информационную базу... создаёт .dt, а Загрузить информационную базу... на другой базе полностью её перезаписывает — и конфигурацию, и данные. Это инструмент переноса базы на новый сервер или платформу, а не слияния. Загрузка .dt затирает содержимое приёмника без остатка.

Объединение конфигураций . Когда нужно перенести часть объектов из одной конфигурации в другую, подойдёт Конфигурация → Сравнить, объединить с конфигурацией из файла.... Вы вручную отмечаете, что забрать, и объединяете.

Сравнение методов:

СпособЧто заменяетДанные
Загрузить .cfТолько конфигурациюОстаются там, где совпала структура
Загрузить .dtВсю базу целикомПриёмник перезаписывается полностью
Объединение из файлаВыбранные объектыОстаются, переносите выборочно

И загрузка .dt, и обновление конфигурации базы данных требуют монопольного доступа. Завершите сеансы пользователей (Администрирование → Активные пользователи), иначе операция не стартует.

Версии платформы: что проверить перед переносом

Перед заменой конфигурации сверьте версии платформы — иначе загрузка оборвётся с ошибкой уже в процессе.

Файл .dt загружается только в платформу с номером не ниже той, в которой он выгружен. Перенести базу на более раннюю версию платформы через .dt не получится — обратной совместимости здесь нет. Версию платформы видно при запуске Конфигуратора и в Справка → О программе.

С файлом .cf ограничение мягче: конфигурацию можно загрузить, если платформа поддерживает её режим совместимости. Если .cf рассчитан на более новую платформу, сначала обновляют платформу, а уже потом загружают конфигурацию.

Если вы переносите базу на новый сервер, установите там платформу той же версии или новее, а затем загружайте .dt. Это снимает большинство проблем совместимости ещё до старта.

Для клиент-серверных баз добавьте к этому совпадение разрядности и версии СУБД на приёмнике — иначе восстановление резервной копии средствами СУБД тоже не пройдёт.

Удаление информационной базы целиком

Если конфигурация не нужна вместе с базой, удаляют саму базу. Порядок зависит от варианта работы.

Файловая база. В окне запуска 1С выделите базу и нажмите Удалить справа. Эта кнопка убирает базу только из списка на данном компьютере — файлы остаются на диске. Чтобы освободить место, после удаления из списка сотрите каталог базы: папку с файлами 1Cv8.1CD и 1Cv8Log (журнал регистрации). Путь к каталогу был виден внизу окна запуска.

Клиент-серверная база. Кнопка Удалить в окне запуска снова лишь убирает базу из списка. Саму базу на сервере удаляют через консоль администрирования серверов 1С: в кластере находите информационную базу, удаляете её и в диалоге отмечаете «удалить базу данных » — тогда будет удалена и база в СУБД. В средах со скриптами то же делают утилитой rac; точные ключи команды удаления смотрите в rac help, чтобы не ошибиться с параметром.

Удаление базы на уровне СУБД (DROP) оборвёт все активные сеансы и необратимо. Делайте это только при выводе базы из эксплуатации и только после резервной копии.

Почему не стоит трогать таблицы 1С напрямую в SQL

В клиент-серверном варианте возникает соблазн «почистить конфигурацию » прямо в SQL. Делать этого нельзя.

Конфигурация 1С хранится в служебных таблицах СУБД (Config, DBSchema, Params и других) в собственном бинарном формате. Если править или удалять строки в них вручную, база станет нерабочей, и штатные средства 1С её уже не откроют. Единственное корректное действие на уровне СУБД — удалить всю базу целиком, когда она выводится из эксплуатации. Любую выборочную очистку конфигурации выполняйте только через Конфигуратор.

Частые ошибки при удалении конфигурации

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

Отдельно про спешку: самая дорогая ошибка — перепутать базы. Загрузка пустого .cf или .dt в рабочую базу вместо тестовой стирает данные без предупреждения о том, «что это боевая база». Перед обновлением ещё раз сверьте путь к базе в заголовке окна Конфигуратора.

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

Можно ли удалить конфигурацию, но оставить данные?
Нет. Данные хранятся в таблицах, созданных под объекты конфигурации. Убрав объекты, вы убираете и таблицы с их содержимым. Чтобы сохранить данные, нужна не пустая, а совместимая конфигурация — тогда задача превращается в замену конфигурации, а не в удаление.
Чем «удалить конфигурацию» отличается от «удалить информационную базу»?
Удаление конфигурации очищает метаданные внутри базы — сама база (файл или база СУБД) остаётся. Удаление информационной базы убирает базу целиком: из списка запуска и с диска или из СУБД. Это разные операции с разными последствиями.
Что такое «конфигурация базы данных» и зачем нажимать F7?
В 1С есть основная (редактируемая) конфигурация и конфигурация базы данных — та, по которой реально работают пользователи. Изменения в основной применяются к базе только после Обновить конфигурацию базы данных (F7). Пока вы не нажали F7, структура базы не меняется.
Как удалить установленную конфигурацию (шаблон) из списка при создании базы?
Шаблоны конфигураций лежат в каталоге шаблонов (tmplts). Удалить лишний шаблон можно через программу установки и обновления 1С либо вручную — сотрите соответствующую подпапку в каталоге шаблонов. После этого конфигурация исчезнет из списка при создании новой базы.
Можно ли вернуть конфигурацию после загрузки пустого `.cf`?
Только из резервной копии. Обновление базы данных физически удаляет таблицы объектов, встроенной «отмены» для этого нет. Поэтому резервная копия перед операцией обязательна.