Очистка базы 1С 8.3: данные, кэш и несохранённые изменения
Содержание
Чтобы очистить конфигурацию 1С от всех данных, сохраните её в файл (Конфигурация → Сохранить конфигурацию в файл в Конфигураторе), создайте новую пустую базу и загрузите туда этот .cf. Получится та же программа той же версии, но без документов, справочников и пользователей. Если нужно убрать только кэш, хватит запуска с параметром /ClearCache.
Под словами «очистить конфигурацию» обычно прячутся три разные задачи: удалить данные, сбросить кэш или откатить правки в Конфигураторе. У каждой свой способ и свой риск. Ниже они разобраны по отдельности, с командами для файловой и клиент-серверной базы.
Что именно чистим и что сделать до начала
Сначала определитесь с целью. От неё зависит, будете вы работать в рабочей базе или в её копии.
| Задача | Способ | Что теряется |
|---|---|---|
| Пустая база той же конфигурации | Выгрузка .cf → новая база → загрузка .cf | Все данные, включая пользователей |
| Убрать ненужные документы и элементы | Удаление помеченных объектов | Только помеченное на удаление |
| Глюки форм, «старые» отчёты, зависания при входе | /ClearCache или удаление папок кэша | Ничего из данных |
| Откатить несохранённые правки в Конфигураторе | Возврат к конфигурации БД | Изменения, не применённые к базе |
| Убрать доработки-расширения | Удаление расширений | Логика и формы расширения |
Подготовка: копия и свободная база
Перед любым удалением данных сделайте выгрузку в .dt: Администрирование → Выгрузить информационную базу в Конфигураторе. Это полный архив, из которого база поднимается целиком.
Удаление данных необратимо. Без файла .dt вернуть документы будет неоткуда.
Что ещё проверить:
- 👥 все пользователи вышли из базы — выгрузка
.dtи загрузка.cfтребуют монопольного доступа; - 💾 на диске есть место хотя бы на два размера базы;
- 🔑 вы знаете логин и пароль администратора базы с полными правами;
- 📄 известна точная версия платформы: новую базу лучше создавать той же версией, что и рабочую.
Пустая база из файла конфигурации: чистый способ удалить все данные
Платформа 1С не умеет одной кнопкой «стереть всё и оставить программу». Самый надёжный путь — собрать новую базу из той же конфигурации. Так не останется ни одной записи регистров и ни одного «хвоста» в служебных таблицах.
Шаг 1. Сохраните конфигурацию в файл
- Откройте базу в режиме Конфигуратора.
- Выберите
Конфигурация → Открыть конфигурацию, чтобы увидеть дерево объектов. - Выполните
Конфигурация → Сохранить конфигурацию в файли укажите путь, напримерC:\Temp\buh.cf.
Файл .cf содержит только программу: метаданные, модули, формы, макеты. Данных в нём нет. Настройки поддержки типовой конфигурации сохраняются, поэтому новую базу можно будет обновлять обычным порядком.
Шаг 2. Создайте новую базу
- В окне запуска нажмите
Добавить→Создание новой информационной базы. - Выберите
Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной информационной базы. - Укажите имя и каталог, например
C:\Bases\Buh_empty.
Второй вариант: на том же шаге выбрать создание из шаблона, если нужная конфигурация установлена в каталог шаблонов. Но версия шаблона может отличаться от рабочей, поэтому файл .cf из своей базы надёжнее.
Шаг 3. Загрузите конфигурацию
- Откройте новую базу в Конфигураторе.
Конфигурация → Загрузить конфигурацию из файла→ выберитеbuh.cf.- На вопрос об обновлении конфигурации базы данных ответьте «Да» и примите изменения.
Шаг 4. Первый запуск
Запустите базу в режиме 1С:Предприятие. Типовая конфигурация выполнит начальное заполнение: создаст предопределённые элементы, классификаторы, обработчики обновления. Это может занять несколько минут.
Список пользователей в новой базе пуст — пользователи хранятся в данных, а не в .cf. Пока его никто не заполнил, база открывается без пароля. Сразу заведите администратора с полными правами и задайте ему пароль.
Если нужно сохранить часть справочников (организации, номенклатуру, контрагентов), перенесите их из старой базы универсальной обработкой выгрузки-загрузки данных XML или через типовой обмен между базами. Документы при этом не переносятся.
Выборочная очистка: удаление помеченных объектов
Когда базу целиком сносить не нужно, а надо убрать черновики, дубли и ошибочно введённые документы, работает штатный механизм удаления помеченных.
Как запустить в типовых конфигурациях
- 📘 БП 3.0, ЗУП 3.1, УТ 11:
Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов. - ⚙️ В любой конфигурации:
Все функции → Стандартные → Удаление помеченных объектов. Команду «Все функции» включают в менюСервис и настройки → Параметрыфлажком «Отображать команду «Все функции»».
Порядок действий
- Пометьте ненужные документы и элементы на удаление (клавиша
Delв списке). - Откройте обработку и выберите режим: автоматическое удаление всех помеченных или выборочное.
- Запустите удаление. Программа проверит ссылки и удалит только то, на что ничто не ссылается.
- Объекты, которые удалить нельзя, попадут в отдельный список вместе с теми, кто на них ссылается.
Если удалить элемент не даёт документ, сначала разберитесь с документом: снимите проведение и пометьте его, либо замените в нём ссылку. Массово удалять ссылающиеся документы ради одного справочника — частая причина потери учёта.
Удаление помеченных — тяжёлая операция для большой базы. Запускайте её в нерабочее время: пока она идёт, пользователи замечают торможение, а в некоторых режимах обработка просит монопольный доступ.
Для уменьшения базы за старые периоды в типовых конфигурациях на БСП есть ещё свёртка: документы прошлых лет заменяются вводом остатков. Это отдельная процедура с проверкой отчётов до и после, её делают только на копии.
Запуск с параметром очистки кэша
Кэш 1С — это копия конфигурации и служебных данных на компьютере пользователя. Он ускоряет запуск, но иногда «залипает»: после обновления открываются старые формы, отчёты падают с непонятной ошибкой, база долго грузится.
Параметр /ClearCache
Добавьте параметр в свойства базы в списке:
- В окне запуска выделите базу →
Изменить. - Пройдите до последней страницы мастера.
- В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Запустите базу один раз, затем параметр удалите, иначе кэш будет сбрасываться при каждом входе и запуск станет медленнее.
То же самое из командной строки:
"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. Загрузить пустую базу поверх существующей
Этот путь сохраняет имя базы в кластере, настройки подключения у пользователей и права в СУБД.
- Сделайте
.dtрабочей серверной базы (Администрирование → Выгрузить информационную базу). - Создайте пустую файловую базу из
.cf, как описано выше, и выгрузите её вempty.dt. - В консоли кластера откройте свойства серверной базы и включите «Блокировка начала сеансов включена», задав сообщение для пользователей.
- Завершите оставшиеся сеансы в разделе «Сеансы» этой базы.
- Подключитесь к серверной базе Конфигуратором и выполните
Администрирование → Загрузить информационную базу→empty.dt. - Снимите блокировку сеансов.
Загрузка .dt полностью заменяет и данные, и конфигурацию базы содержимым файла. В результате на сервере окажется пустая база.
Вариант 2. Удалить базу из кластера с очисткой СУБД
В консоли кластера при удалении информационной базы платформа спрашивает, что делать с базой данных в СУБД. Варианты: не изменять базу данных, удалить базу данных или очистить базу данных. Последний оставляет пустую базу на сервере СУБД, второй удаляет её совсем. После этого создайте базу заново и загрузите в неё .cf.
Удаление из консоли кластера стирает данные в СУБД без корзины. Сначала — проверенный .dt или резервная копия средствами СУБД.
Серверный кэш
Если «старые» формы видят все пользователи сразу, кэш устарел на сервере. Порядок такой:
- Предупредите пользователей и выберите нерабочее время: при остановке службы оборвутся все сеансы всех баз этого сервера.
- Остановите службу «Агент сервера 1С:Предприятия 8.3».
- В каталоге кластера (по умолчанию
C:\Program Files\1cv8\srvinfo\reg_1541\) удалите папкиsnccntx…. - Запустите службу.
Остальное содержимое srvinfo не трогайте: там лежат реестр кластера и список баз.
Откат правок в Конфигураторе и удаление расширений
Иногда под очисткой конфигурации понимают возврат программы к исходному виду после неудачных экспериментов.
Несохранённые в базу изменения. Если вы правили основную конфигурацию, но не выполняли обновление конфигурации базы данных, выберите Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Основная конфигурация станет такой же, как та, с которой работают пользователи.
Расширения. Доработки, сделанные расширением, удаляются без вмешательства в основную конфигурацию:
- в Конфигураторе:
Конфигурация → Расширения конфигурации, выделить расширение и удалить; - в режиме 1С:Предприятие:
Все функции → Стандартные → Управление расширениями конфигурации.
Перед удалением расширения сохраните его в файл .cfe: данные, которые расширение добавляло в свои реквизиты, после удаления пропадут.
Изменения, уже применённые к базе. Если доработанная конфигурация уже работает, «откатить» её одной командой нельзя. Сравните её с конфигурацией поставщика через Конфигурация → Сравнить конфигурации и верните изменённые объекты, либо загрузите .cf типовой конфигурации того же релиза — с потерей всех правок.
Ошибки при очистке и что с ними делать
Не удаётся загрузить конфигурацию или выгрузить .dt. В базе остался кто-то из пользователей или фоновое задание. В файловой базе проверьте, что 1С закрыта на всех компьютерах, где открыта база. В серверной посмотрите список сеансов в консоли кластера и включите блокировку начала сеансов.
«Конфигурация базы данных не соответствует сохранённой конфигурации». Вы загрузили .cf, но не обновили конфигурацию базы данных. Выполните Конфигурация → Обновить конфигурацию базы данных (F7).
Новая база не открывается в режиме предприятия. Чаще всего версия платформы ниже, чем требует конфигурация. Номер минимальной версии указан в описании релиза конфигурации; поставьте платформу с номером не ниже указанного.
После /ClearCache ошибка формы осталась. Значит, дело не в локальном кэше. Проверьте серверный кэш (для клиент-серверной базы) или запустите Администрирование → Тестирование и исправление в Конфигураторе на копии базы.
Удаление помеченных оставляет часть объектов. Это не сбой: на них есть ссылки. Откройте список неудалённых, посмотрите, где используется каждый объект, и решите, менять ссылку или удалять ссылающийся документ.
Bat-сценарий отработал, а базы нет. Откройте файл журнала из параметра /Out. Типичные причины: неверный путь к 1cv8.exe, пароль с пробелами без кавычек, нет прав на запись в каталог новой базы.
Частые вопросы
Можно ли удалить все документы, но оставить справочники?
Сбрасывает ли /ClearCache настройки пользователей?
Сохранится ли лицензия после создания пустой базы?
Чем отличается файл .cf от .dt?
.cf только конфигурация без данных. В .dt вся база: конфигурация, данные и пользователи. Для пустой базы нужен .cf, для архива — .dt.Можно ли очистить базу 1С, удалив файл 1Cv8.1CD?
.cf, так что сразу идите этим путём.