Чистка базы через Конфигуратор 1С: от копии до регламента

· 10 мин

Содержание

Очистить конфигуратор 1С — значит пройти четыре шага: выгрузить базу в .dt, удалить кеш клиента (папки с GUID-именами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8), запустить Администрирование → Тестирование и исправление со сжатием таблиц и, если нужно, убрать из конфигурации лишние объекты. Порядок именно такой: сначала копия, потом всё остальное.

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

Что проверить до начала чистки

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

СимптомВероятная причинаС чего начать
Форма открывается со старым видом после обновленияУстаревший кеш клиентаСброс кеша
Ошибки «Ошибка формата потока», странные значения в отчётахПовреждение данных или итоговТестирование и исправление
Файл 1Cv8.1CD растёт, хотя данных почти не прибавилосьПустые страницы после удаленийСжатие таблиц
Дерево метаданных забито объектами «Удалить…»Хвосты прошлых обновленийАнализ объектов конфигурации

Резервная копия — один раз и правильно

Без резервной копии ни тестирование с исправлением, ни удаление объектов не запускайте. Исправление может удалить битые записи безвозвратно.

  1. Откройте базу в Конфигураторе под администратором.
  2. Выберите Администрирование → Выгрузить информационную базу.
  3. Укажите путь и имя файла, например D:\backup\buh_2026-10-07.dt.
  4. Дождитесь сообщения о завершении выгрузки.

Для файловой базы дополнительно скопируйте каталог с 1Cv8.1CD целиком. Для клиент-серверной сделайте ещё и полную копию средствами СУБД — .dt выгружается дольше, а восстанавливать из бэкапа SQL быстрее.

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

Кто должен выйти из базы

Монопольный доступ нужен не для всего. Сброс кеша клиента можно делать на одном компьютере, пока остальные работают. А вот тестирование и исправление, сжатие и обновление конфигурации базы данных после удаления объектов требуют, чтобы в базе не было других сеансов.

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

Сброс кеша 1С и временных файлов

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

Способ 1. Параметр запуска /ClearCache

Самый мягкий вариант: платформа очистит кеш сама при старте.

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

Способ 2. Ручное удаление папок кеша

Закройте все окна 1С на компьютере. Затем:

  1. Нажмите Win+R, введите %APPDATA%\1C\1cv8 и нажмите Enter.
  2. Удалите папки с длинными именами вида 3f2a9c1e-... (36 символов, GUID).
  3. Повторите для %LOCALAPPDATA%\1C\1cv8.
  4. Почистите временный каталог %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 (номер версии у вас свой).

  1. Закройте все сеансы базы.
  2. Запустите chdbfl.exe, укажите путь к 1Cv8.1CD.
  3. Сначала нажмите Выполнить без флажка исправления, затем — с ним.

Удаление неиспользуемых объектов конфигурации

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

Объекты с префиксом «Удалить»

В типовых конфигурациях разработчики не стирают устаревшие объекты сразу, а переименовывают: УдалитьВидыОплат, реквизит УдалитьСтатьяЗатрат и так далее. Через них при обновлении переносятся старые данные. Обычно такой объект исчезает в одном из следующих релизов.

В типовой конфигурации на поддержке такие объекты не удаляйте вручную. Причины:

  • 🔒 чтобы удалить, придётся включить возможность изменения (Конфигурация → Поддержка → Настройка поддержки) — база станет «снятой с поддержки» частично, обновления пойдут дольше;
  • 🔄 следующее обновление может вернуть объект или дать конфликт при сравнении;
  • 📉 вы теряете данные, которые обработчики обновления ещё собирались перенести.

Свои доработки: как удалить безопасно

В собственной конфигурации или в доработанных объектах чистить нужно. Порядок:

  1. Найдите объект в дереве метаданных, нажмите правой кнопкой Поиск ссылок на объект. Посмотрите, где он используется: в формах, модулях, ролях, подписках на события.
  2. Уберите эти использования. Удалите сам объект.
  3. Выполните Конфигурация → Проверка конфигурации с проверкой модулей. Ошибок компиляции быть не должно.
  4. Обновите конфигурацию базы данных (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"

Что важно в этом файле:

  1. Резервная копия идёт первой. Если выгрузка упала, тестирование лучше не запускать — проверьте лог dump_*.log.
  2. Ключи -BadRefCreate и -BadDataCreate выбирают самый щадящий вариант исправления.
  3. Формат даты в переменной D зависит от региональных настроек Windows. Проверьте, что echo %date% выдаёт дату в виде ДД.ММ.ГГГГ.
  4. Пароль в открытом виде храните только в файле, доступ к которому есть у одного администратора.

Для клиент-серверной базы вместо /F используется /S "сервер\имябазы". Но тестирование и исправление на сервере запускают реже: основную работу берут на себя регламентные задания СУБД.

Что ставить в расписание

ОперацияФайловая базаКлиент-серверная база
Выгрузка .dt / бэкап СУБДЕжедневно, ночьюЕжедневно средствами СУБД, .dt — раз в неделю
Тестирование и исправлениеРаз в неделюРаз в месяц или при сбоях
Обновление статистики—Ежедневно
ИндексыВ составе тестированияРаз в неделю
Удаление помеченных объектовРаз в месяц, вручнуюРаз в месяц, вручную
Сброс кеша клиентаПри ошибках после обновленийПри ошибках после обновлений

Удаление помеченных объектов в расписание лучше не ставить. Бухгалтер должен видеть, что именно удаляется.

Что у вас происходит с базой?

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

Сколько времени занимает тестирование и исправление?
Для файловой базы на 2–3 ГБ — обычно от 20 минут до пары часов. Дольше всего идут пересчёт итогов и реструктуризация, поэтому реструктуризацию без явной причины не включайте.
Можно ли чистить кеш, пока другие работают в базе?
Да. Клиентский кеш хранится на конкретном компьютере, его сброс не влияет на других пользователей. Закрыть 1С нужно только на том компьютере, где вы удаляете папки.
После тестирования появились элементы «Объект не найден». Что с ними делать?
Это заглушки на месте потерянных ссылок. Откройте документы, где они используются, и выберите правильный элемент. Когда ссылок не останется, пометьте заглушку на удаление и удалите обычным порядком.
Почему после удаления помеченных объектов файл базы не уменьшился?
Освободившиеся страницы остаются внутри файла 1Cv8.1CD. Чтобы файл сжался, запустите сжатие таблиц или сделайте выгрузку и загрузку .dt.
Нужно ли чистить конфигурацию хранилища при групповой разработке?
Если вы подключены к хранилищу, удалять объекты нужно через захват в хранилище и помещение изменений. Удаление в локальной конфигурации без захвата при следующем обновлении из хранилища будет перезаписано.