Очистка базы 1С 8.3: данные, кэш и несохранённые изменения

· 10 мин

Содержание

Чтобы очистить конфигурацию 1С от всех данных, сохраните её в файл (Конфигурация → Сохранить конфигурацию в файл в Конфигураторе), создайте новую пустую базу и загрузите туда этот .cf. Получится та же программа той же версии, но без документов, справочников и пользователей. Если нужно убрать только кэш, хватит запуска с параметром /ClearCache.

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

Что именно чистим и что сделать до начала

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

ЗадачаСпособЧто теряется
Пустая база той же конфигурацииВыгрузка .cf → новая база → загрузка .cfВсе данные, включая пользователей
Убрать ненужные документы и элементыУдаление помеченных объектовТолько помеченное на удаление
Глюки форм, «старые» отчёты, зависания при входе/ClearCache или удаление папок кэшаНичего из данных
Откатить несохранённые правки в КонфигуратореВозврат к конфигурации БДИзменения, не применённые к базе
Убрать доработки-расширенияУдаление расширенийЛогика и формы расширения
Что нужно получить в итоге?

Подготовка: копия и свободная база

Перед любым удалением данных сделайте выгрузку в .dt: Администрирование → Выгрузить информационную базу в Конфигураторе. Это полный архив, из которого база поднимается целиком.

Удаление данных необратимо. Без файла .dt вернуть документы будет неоткуда.

Что ещё проверить:

  • 👥 все пользователи вышли из базы — выгрузка .dt и загрузка .cf требуют монопольного доступа;
  • 💾 на диске есть место хотя бы на два размера базы;
  • 🔑 вы знаете логин и пароль администратора базы с полными правами;
  • 📄 известна точная версия платформы: новую базу лучше создавать той же версией, что и рабочую.

Пустая база из файла конфигурации: чистый способ удалить все данные

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

Шаг 1. Сохраните конфигурацию в файл

  1. Откройте базу в режиме Конфигуратора.
  2. Выберите Конфигурация → Открыть конфигурацию, чтобы увидеть дерево объектов.
  3. Выполните Конфигурация → Сохранить конфигурацию в файл и укажите путь, например C:\Temp\buh.cf.

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

Шаг 2. Создайте новую базу

  1. В окне запуска нажмите Добавить → Создание новой информационной базы.
  2. Выберите Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы.
  3. Укажите имя и каталог, например C:\Bases\Buh_empty.

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

Шаг 3. Загрузите конфигурацию

  1. Откройте новую базу в Конфигураторе.
  2. Конфигурация → Загрузить конфигурацию из файла → выберите buh.cf.
  3. На вопрос об обновлении конфигурации базы данных ответьте «Да» и примите изменения.

Шаг 4. Первый запуск

Запустите базу в режиме 1С:Предприятие. Типовая конфигурация выполнит начальное заполнение: создаст предопределённые элементы, классификаторы, обработчики обновления. Это может занять несколько минут.

Список пользователей в новой базе пуст — пользователи хранятся в данных, а не в .cf. Пока его никто не заполнил, база открывается без пароля. Сразу заведите администратора с полными правами и задайте ему пароль.

Если нужно сохранить часть справочников (организации, номенклатуру, контрагентов), перенесите их из старой базы универсальной обработкой выгрузки-загрузки данных XML или через типовой обмен между базами. Документы при этом не переносятся.

Выборочная очистка: удаление помеченных объектов

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

Как запустить в типовых конфигурациях

  • 📘 БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов.
  • ⚙️ В любой конфигурации: Все функции → Стандартные → Удаление помеченных объектов. Команду «Все функции» включают в меню Сервис и настройки → Параметры флажком «Отображать команду «Все функции»».

Порядок действий

  1. Пометьте ненужные документы и элементы на удаление (клавиша Del в списке).
  2. Откройте обработку и выберите режим: автоматическое удаление всех помеченных или выборочное.
  3. Запустите удаление. Программа проверит ссылки и удалит только то, на что ничто не ссылается.
  4. Объекты, которые удалить нельзя, попадут в отдельный список вместе с теми, кто на них ссылается.

Если удалить элемент не даёт документ, сначала разберитесь с документом: снимите проведение и пометьте его, либо замените в нём ссылку. Массово удалять ссылающиеся документы ради одного справочника — частая причина потери учёта.

Удаление помеченных — тяжёлая операция для большой базы. Запускайте её в нерабочее время: пока она идёт, пользователи замечают торможение, а в некоторых режимах обработка просит монопольный доступ.

Для уменьшения базы за старые периоды в типовых конфигурациях на БСП есть ещё свёртка: документы прошлых лет заменяются вводом остатков. Это отдельная процедура с проверкой отчётов до и после, её делают только на копии.

Запуск с параметром очистки кэша

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

Параметр /ClearCache

Добавьте параметр в свойства базы в списке:

  1. В окне запуска выделите базу → Изменить.
  2. Пройдите до последней страницы мастера.
  3. В поле «Дополнительные параметры запуска» впишите /ClearCache.
  4. Запустите базу один раз, затем параметр удалите, иначе кэш будет сбрасываться при каждом входе и запуск станет медленнее.

То же самое из командной строки:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /F"C:\Bases\Buh" /ClearCache

Вместо 8.3.xx.xxxx подставьте номер своей платформы — каталог с ним виден в C:\Program Files\1cv8\.

Ручная очистка папок кэша

Если параметр не помог, закройте все сеансы 1С на компьютере и удалите папки с длинными именами-идентификаторами в двух каталогах:

  • %APPDATA%\1C\1cv8\
  • %LOCALAPPDATA%\1C\1cv8\

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

Список баз хранится отдельно, в файле %APPDATA%\1C\1CEStart\ibases.v8i. Его удалять не нужно: очистка кэша список баз не трогает.

Очистка через командную строку и bat-скрипт

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

Параметры, которые понадобятся:

ПараметрЧто делает
DESIGNERзапуск Конфигуратора
/Fпуть к файловой базе
/Sадрес серверной базы: сервер\имя_базы
/N, /Pпользователь и пароль
/DumpIBвыгрузка базы в .dt
/DumpCfgсохранение конфигурации в .cf
/LoadCfgзагрузка конфигурации из .cf
/UpdateDBCfgобновление конфигурации базы данных
CREATEINFOBASEсоздание новой базы
/UseTemplateфайл .cf или .dt, из которого создаётся база
/Outфайл журнала

Пример сценария для файловой базы:

@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"

rem 1. Полный архив рабочей базы
%V8% DESIGNER /F"C:\Bases\Buh" /N"Admin" /P"" /DumpIB"C:\Backup\buh.dt" /Out"C:\Temp\clear.log"

rem 2. Конфигурация в файл
%V8% DESIGNER /F"C:\Bases\Buh" /N"Admin" /P"" /DumpCfg"C:\Temp\buh.cf" /Out"C:\Temp\clear.log"

rem 3. Новая пустая база из этого файла
%V8% CREATEINFOBASE File="C:\Bases\Buh_empty" /UseTemplate"C:\Temp\buh.cf" /Out"C:\Temp\clear.log"

Перед запуском замените имя пользователя, пароль и пути на свои. Если имя пользователя написано кириллицей, сохраните bat-файл в кодировке, которую понимает консоль, либо добавьте в начало chcp 65001 и сохраните файл в UTF-8.

После выполнения откройте clear.log. Пустой журнал или строки об успешном завершении означают, что шаг прошёл; текст ошибки укажет, на каком шаге сценарий остановился.

Сценарий не удаляет рабочую базу, а создаёт новую рядом. Не дописывайте в него удаление каталога C:\Bases\Buh: опечатка в пути превращает тест в потерю данных.

Очистка серверной базы в клиент-серверном варианте

В клиент-серверной базе данные лежат в СУБД (MS SQL Server или PostgreSQL), а базой управляет кластер серверов 1С. Каталог с файлом базы удалить нельзя — его нет, поэтому порядок другой.

Вариант 1. Загрузить пустую базу поверх существующей

Этот путь сохраняет имя базы в кластере, настройки подключения у пользователей и права в СУБД.

  1. Сделайте .dt рабочей серверной базы (Администрирование → Выгрузить информационную базу).
  2. Создайте пустую файловую базу из .cf, как описано выше, и выгрузите её в empty.dt.
  3. В консоли кластера откройте свойства серверной базы и включите «Блокировка начала сеансов включена», задав сообщение для пользователей.
  4. Завершите оставшиеся сеансы в разделе «Сеансы» этой базы.
  5. Подключитесь к серверной базе Конфигуратором и выполните Администрирование → Загрузить информационную базу → empty.dt.
  6. Снимите блокировку сеансов.

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

Вариант 2. Удалить базу из кластера с очисткой СУБД

В консоли кластера при удалении информационной базы платформа спрашивает, что делать с базой данных в СУБД. Варианты: не изменять базу данных, удалить базу данных или очистить базу данных. Последний оставляет пустую базу на сервере СУБД, второй удаляет её совсем. После этого создайте базу заново и загрузите в неё .cf.

Удаление из консоли кластера стирает данные в СУБД без корзины. Сначала — проверенный .dt или резервная копия средствами СУБД.

Серверный кэш

Если «старые» формы видят все пользователи сразу, кэш устарел на сервере. Порядок такой:

  1. Предупредите пользователей и выберите нерабочее время: при остановке службы оборвутся все сеансы всех баз этого сервера.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. В каталоге кластера (по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\) удалите папки snccntx….
  4. Запустите службу.

Остальное содержимое srvinfo не трогайте: там лежат реестр кластера и список баз.

Откат правок в Конфигураторе и удаление расширений

Иногда под очисткой конфигурации понимают возврат программы к исходному виду после неудачных экспериментов.

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

Расширения. Доработки, сделанные расширением, удаляются без вмешательства в основную конфигурацию:

  • в Конфигураторе: Конфигурация → Расширения конфигурации, выделить расширение и удалить;
  • в режиме 1С:Предприятие: Все функции → Стандартные → Управление расширениями конфигурации.

Перед удалением расширения сохраните его в файл .cfe: данные, которые расширение добавляло в свои реквизиты, после удаления пропадут.

Изменения, уже применённые к базе. Если доработанная конфигурация уже работает, «откатить» её одной командой нельзя. Сравните её с конфигурацией поставщика через Конфигурация → Сравнить конфигурации и верните изменённые объекты, либо загрузите .cf типовой конфигурации того же релиза — с потерей всех правок.

Ошибки при очистке и что с ними делать

Не удаётся загрузить конфигурацию или выгрузить .dt. В базе остался кто-то из пользователей или фоновое задание. В файловой базе проверьте, что 1С закрыта на всех компьютерах, где открыта база. В серверной посмотрите список сеансов в консоли кластера и включите блокировку начала сеансов.

«Конфигурация базы данных не соответствует сохранённой конфигурации». Вы загрузили .cf, но не обновили конфигурацию базы данных. Выполните Конфигурация → Обновить конфигурацию базы данных (F7).

Новая база не открывается в режиме предприятия. Чаще всего версия платформы ниже, чем требует конфигурация. Номер минимальной версии указан в описании релиза конфигурации; поставьте платформу с номером не ниже указанного.

После /ClearCache ошибка формы осталась. Значит, дело не в локальном кэше. Проверьте серверный кэш (для клиент-серверной базы) или запустите Администрирование → Тестирование и исправление в Конфигураторе на копии базы.

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

Bat-сценарий отработал, а базы нет. Откройте файл журнала из параметра /Out. Типичные причины: неверный путь к 1cv8.exe, пароль с пробелами без кавычек, нет прав на запись в каталог новой базы.

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

Можно ли удалить все документы, но оставить справочники?
Штатной кнопки нет. Практичнее создать пустую базу и перенести в неё нужные справочники обработкой выгрузки-загрузки XML или через обмен.
Сбрасывает ли /ClearCache настройки пользователей?
Нет. Настройки форм и отчётов хранятся в самой базе, а параметр чистит только локальный кэш конфигурации на компьютере.
Сохранится ли лицензия после создания пустой базы?
Да. Программная лицензия привязана к компьютеру или серверу, а не к базе, поэтому новая база на том же компьютере запустится.
Чем отличается файл .cf от .dt?
В .cf только конфигурация без данных. В .dt вся база: конфигурация, данные и пользователи. Для пустой базы нужен .cf, для архива — .dt.
Можно ли очистить базу 1С, удалив файл 1Cv8.1CD?
Удаление файла уничтожит и данные, и конфигурацию. Пустой базы не получится — придётся создавать новую и загружать .cf, так что сразу идите этим путём.