Чистка базы через Конфигуратор 1С: от копии до регламента
Содержание
Очистить конфигуратор 1С — значит пройти четыре шага: выгрузить базу
в .dt, удалить кеш клиента (папки с GUID-именами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8), запустить Администрирование → Тестирование и исправление со сжатием таблиц и, если нужно, убрать из конфигурации лишние объекты. Порядок именно такой: сначала копия, потом всё остальное.
Ниже каждый шаг расписан для платформы 8.3 с интерфейсом «Такси». Инструкция общая для платформы: в Бухгалтерии, ЗУП и Управлении торговлей Конфигуратор устроен одинаково, отличаются только пункты меню в пользовательском режиме.
Что проверить до начала чистки
Конфигуратор сам по себе почти ничего не «засоряет». Тормоза и ошибки обычно дают три вещи: раздутый кеш на компьютере пользователя, повреждённые или фрагментированные таблицы базы и старые объекты, которые давно никто не использует. Сначала поймите, с чем вы имеете дело.
| Симптом | Вероятная причина | С чего начать |
|---|---|---|
| Форма открывается со старым видом после обновления | Устаревший кеш клиента | Сброс кеша |
| Ошибки «Ошибка формата потока», странные значения в отчётах | Повреждение данных или итогов | Тестирование и исправление |
Файл 1Cv8.1CD растёт, хотя данных почти не прибавилось | Пустые страницы после удалений | Сжатие таблиц |
| Дерево метаданных забито объектами «Удалить…» | Хвосты прошлых обновлений | Анализ объектов конфигурации |
Резервная копия — один раз и правильно
Без резервной копии ни тестирование с исправлением, ни удаление объектов не запускайте. Исправление может удалить битые записи безвозвратно.
- Откройте базу в Конфигураторе под администратором.
- Выберите
Администрирование → Выгрузить информационную базу. - Укажите путь и имя файла, например
D:\backup\buh_2026-10-07.dt. - Дождитесь сообщения о завершении выгрузки.
Для файловой базы дополнительно скопируйте каталог с 1Cv8.1CD целиком. Для клиент-серверной сделайте ещё и полную копию средствами СУБД — .dt выгружается дольше, а восстанавливать из бэкапа SQL быстрее.
Проверьте копию сразу: загрузите .dt в пустую тестовую базу через Администрирование → Загрузить информационную базу. Копия, которую ни разу не открывали, — не копия.
Кто должен выйти из базы
Монопольный доступ нужен не для всего. Сброс кеша клиента можно делать на одном компьютере, пока остальные работают. А вот тестирование и исправление, сжатие и обновление конфигурации базы данных после удаления объектов требуют, чтобы в базе не было других сеансов.
Если вы завершаете чужие сеансы через консоль кластера, пользователи потеряют несохранённые документы. Предупредите их заранее и планируйте работу на вечер или выходной.
Сброс кеша 1С и временных файлов
Это самый безопасный шаг и самый частый ответ на вопрос «как почистить 1С». Кеш хранит скомпилированные формы и модули. После обновления он иногда не перестраивается, и вы видите старую форму или получаете непонятную ошибку при открытии.
Способ 1. Параметр запуска /ClearCache
Самый мягкий вариант: платформа очистит кеш сама при старте.
- В окне запуска выделите базу и нажмите
Изменить. - Пройдите до последней страницы мастера.
- В поле дополнительных параметров запуска впишите
/ClearCache. - Запустите базу один раз, затем уберите параметр — иначе кеш будет сбрасываться при каждом входе и запуск замедлится.
Способ 2. Ручное удаление папок кеша
Закройте все окна 1С на компьютере. Затем:
- Нажмите
Win+R, введите%APPDATA%\1C\1cv8и нажмите Enter. - Удалите папки с длинными именами вида
3f2a9c1e-...(36 символов, GUID). - Повторите для
%LOCALAPPDATA%\1C\1cv8. - Почистите временный каталог
%TEMP%от файлов с префиксомv8_.
🔹 Файлы 1cv8strt.pfl и 1cv8cmn.pfl в тех же папках — это настройки, а не кеш. Их можно не трогать.
🔹 Список баз хранится в %APPDATA%\1C\1CEStart\ibases.v8i. Его удалять не нужно, иначе пропадут все базы из окна запуска.
То же самое одной командой (закройте 1С перед запуском):
@echo off
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
del /q "%TEMP%\v8_*" 2>nul
echo Кеш 1С очищен
Серверный кеш
В клиент-серверном варианте есть ещё сеансовые данные кластера в каталоге srvinfo\reg_1541 на сервере 1С. Их чистят только при явных сбоях сервера.
Для этого нужно остановить службу агента сервера 1С. Все пользователи всех баз кластера будут отключены. Делайте это вне рабочего времени и только после копии каталога srvinfo. Удаляйте лишь папки snccntx*, а не весь каталог реестра кластера.
Тестирование и исправление конфигурации и данных
Это главная «чистка» внутри Конфигуратора. Она проверяет структуру таблиц, связи между ними и пересчитывает итоги регистров.
Путь: Администрирование → Тестирование и исправление. Нужен монопольный режим.
Какие флажки ставить
| Проверка | Что делает | Когда включать |
|---|---|---|
| Реиндексация таблиц | Перестраивает индексы | Почти всегда |
| Проверка логической целостности | Ищет нарушения структуры данных | Почти всегда |
| Проверка ссылочной целостности | Ищет «битые» ссылки на несуществующие объекты | При ошибках вида «Объект не найден» |
| Пересчёт итогов | Пересобирает итоги регистров | Если отчёты расходятся с документами |
| Сжатие таблиц | Убирает пустое место | Для файловой базы после массовых удалений |
| Реструктуризация таблиц | Перестраивает таблицы заново | Только при серьёзных сбоях, долго |
Режимы: только проверка или проверка с исправлением
Сначала запустите Только проверка. Конфигуратор покажет найденные проблемы, но ничего не изменит. Посмотрите отчёт и решите, что делать.
Для битых ссылок программа предлагает варианты:
- ✅ Создавать объекты — на месте отсутствующих появятся объекты-заглушки вида «Объект не найден (…)». Данные документов сохранятся, их можно перепривязать вручную.
- 🗑 Очищать ссылки — поле станет пустым. Документ останется, но потеряет реквизит.
- ⏸ Не изменять — проблема будет только в отчёте.
Для частично утраченных объектов — «Создавать объекты» или «Удалять объекты».
В рабочей базе выбирайте «Создавать объекты». Удаление и очистка необратимы: если потом окажется, что ссылка была на нужного контрагента, восстановить её можно будет только из копии.
Файловая база: утилита chdbfl.exe
Если база не открывается даже в Конфигураторе, проверьте её утилитой chdbfl.exe. Она лежит в каталоге bin установленной платформы, например C:\Program Files\1cv8\8.3.24.1586\bin\chdbfl.exe (номер версии у вас свой).
- Закройте все сеансы базы.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD. - Сначала нажмите
Выполнитьбез флажка исправления, затем — с ним.
Удаление неиспользуемых объектов конфигурации
Здесь важно отделить два разных действия. Удаление объектов метаданных (справочников, реквизитов, отчётов) меняет саму конфигурацию. Удаление помеченных на удаление элементов и документов чистит данные. Путать их нельзя.
Объекты с префиксом «Удалить»
В типовых конфигурациях разработчики не стирают устаревшие объекты сразу, а переименовывают: УдалитьВидыОплат, реквизит УдалитьСтатьяЗатрат и так далее. Через них при обновлении переносятся старые данные. Обычно такой объект исчезает в одном из следующих релизов.
В типовой конфигурации на поддержке такие объекты не удаляйте вручную. Причины:
- 🔒 чтобы удалить, придётся включить возможность изменения (
Конфигурация → Поддержка → Настройка поддержки) — база станет «снятой с поддержки» частично, обновления пойдут дольше; - 🔄 следующее обновление может вернуть объект или дать конфликт при сравнении;
- 📉 вы теряете данные, которые обработчики обновления ещё собирались перенести.
Свои доработки: как удалить безопасно
В собственной конфигурации или в доработанных объектах чистить нужно. Порядок:
- Найдите объект в дереве метаданных, нажмите правой кнопкой
Поиск ссылок на объект. Посмотрите, где он используется: в формах, модулях, ролях, подписках на события. - Уберите эти использования. Удалите сам объект.
- Выполните
Конфигурация → Проверка конфигурациис проверкой модулей. Ошибок компиляции быть не должно. - Обновите конфигурацию базы данных (
F7). Платформа покажет список изменений структуры — прочитайте его.
При обновлении конфигурации БД данные удалённых справочников, документов и регистров удаляются из таблиц. Вернуть их можно только из копии. Если данные нужны для истории — выгрузите их до удаления.
Если доработки сделаны в расширениях, ничего удалять из основной конфигурации не нужно. Лишнее расширение отключают или удаляют через Конфигурация → Расширения конфигурации.
Помеченные на удаление данные
Документы и элементы с пометкой удаления физически остаются в базе. Их убирают в пользовательском режиме обработкой «Удаление помеченных объектов». В Бухгалтерии 3.0 она находится в разделе Администрирование → Обслуживание, а в любой конфигурации её можно открыть через Все функции → Стандартные → Удаление помеченных объектов (пункт «Все функции» включают в настройках параметров программы).
Обработка сама проверяет ссылки: объект, на который ссылаются другие документы, не удалится, и вы увидите, кто его держит.
Сжатие и оптимизация таблиц базы данных
После удаления помеченных объектов и исправления ошибок место в базе освобождается, но сам файл не уменьшается.
Файловая база
Включите флажок Сжатие таблиц информационной базы в окне тестирования и исправления. Второй вариант ещё надёжнее: выгрузить базу в .dt и загрузить её обратно в новый каталог. Файл 1Cv8.1CD соберётся заново, без пустых страниц.
Файловая база заметно тормозит, когда за несколько лет её размер перевалил за 3–5 ГБ при 5–10 активных пользователях. Если сжатие и чистка не помогают, это сигнал к переходу на клиент-серверный вариант, а не к очередной чистке.
Клиент-серверная база
На SQL Server или PostgreSQL сжатием из Конфигуратора занимается не платформа, а СУБД. Тут работают регламентные операции самой СУБД:
- 📊 обновление статистики — раз в сутки;
- 🧱 перестроение или реорганизация индексов — раз в неделю;
- 🧹 очистка процедурного кеша на SQL Server (
DBCC FREEPROCCACHE) после обновления статистики; - 🐘 для PostgreSQL —
VACUUM ANALYZEпо базе.
Пример для SQL Server, обновление статистики всех таблиц базы:
USE [buh_prod];
EXEC sp_updatestats;
DBCC FREEPROCCACHE;
DBCC FREEPROCCACHE сбрасывает планы запросов на всём экземпляре SQL Server. Несколько минут после него все базы на сервере будут работать медленнее. Запускайте ночью.
DBCC SHRINKDATABASE для баз 1С без необходимости не применяйте: он фрагментирует индексы, и выигрыш по месту обычно съедается падением скорости.
Автоматизация обслуживания базы 1С
Ручная чистка раз в полгода помогает хуже, чем короткий регламент раз в неделю. Конфигуратор умеет работать в пакетном режиме, поэтому выгрузку и тестирование легко поставить в Планировщик заданий Windows.
Батник для файловой базы
@echo off
set V8="C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe"
set IB=D:\Bases\Buh
set BK=D:\backup
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
rem 1. Резервная копия
%V8% DESIGNER /F "%IB%" /N "Администратор" /P "пароль" /DisableStartupDialogs /DumpIB "%BK%\buh_%D%.dt" /Out "%BK%\dump_%D%.log"
rem 2. Тестирование и исправление со сжатием
%V8% DESIGNER /F "%IB%" /N "Администратор" /P "пароль" /DisableStartupDialogs /IBCheckAndRepair -ReIndex -LogAndRefsIntegrity -RecalcTotals -IBCompression -BadRefCreate -BadDataCreate /Out "%BK%\check_%D%.log"
Что важно в этом файле:
- Резервная копия идёт первой. Если выгрузка упала, тестирование лучше не запускать — проверьте лог
dump_*.log. - Ключи
-BadRefCreateи-BadDataCreateвыбирают самый щадящий вариант исправления. - Формат даты в переменной
Dзависит от региональных настроек Windows. Проверьте, чтоecho %date%выдаёт дату в видеДД.ММ.ГГГГ. - Пароль в открытом виде храните только в файле, доступ к которому есть у одного администратора.
Для клиент-серверной базы вместо /F используется /S "сервер\имябазы". Но тестирование и исправление на сервере запускают реже: основную работу берут на себя регламентные задания СУБД.
Что ставить в расписание
| Операция | Файловая база | Клиент-серверная база |
|---|---|---|
Выгрузка .dt / бэкап СУБД | Ежедневно, ночью | Ежедневно средствами СУБД, .dt — раз в неделю |
| Тестирование и исправление | Раз в неделю | Раз в месяц или при сбоях |
| Обновление статистики | — | Ежедневно |
| Индексы | В составе тестирования | Раз в неделю |
| Удаление помеченных объектов | Раз в месяц, вручную | Раз в месяц, вручную |
| Сброс кеша клиента | При ошибках после обновлений | При ошибках после обновлений |
Удаление помеченных объектов в расписание лучше не ставить. Бухгалтер должен видеть, что именно удаляется.
Частые вопросы
Сколько времени занимает тестирование и исправление?
Можно ли чистить кеш, пока другие работают в базе?
После тестирования появились элементы «Объект не найден». Что с ними делать?
Почему после удаления помеченных объектов файл базы не уменьшился?
1Cv8.1CD. Чтобы файл сжался, запустите сжатие таблиц или сделайте выгрузку и загрузку .dt.