Удалили базу или файл, а 1С их всё ещё видит: где искать хвосты и как их стереть

· 10 мин

Содержание

Чтобы удалить с 1С удалённые файлы и базы до конца, закройте все окна 1С и почистите три места: список баз в окне запуска (кнопка Удалить или файл %APPDATA%\1C\1CEStart\ibases.v8i), кэш в папках %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, временные файлы v8_*.tmp в %TEMP%. Для разовой очистки кэша без ручной работы достаточно запустить базу с параметром /ClearCache.

Сама база при удалении из списка не стирается, а при удалении каталога базы платформа не убирает свои служебные следы. Отсюда «фантомы»: базы, которых нет на диске, но они висят в окне запуска; старые формы после обновления; гигабайты кэша в профиле пользователя. Всё это касается платформы 8.3 целиком и не зависит от конфигурации: Бухгалтерия, ЗУП или УТ хранят кэш одинаково.

Откуда берутся «призраки» удалённых баз и файлов

1С:Предприятие 8.3 активно кэширует данные на компьютере пользователя. Так клиент не тянет конфигурацию с сервера при каждом запуске. Цена скорости — мусор, который сам не исчезает.

Что остаётся на компьютере после удаления базы или её переноса:

  • 📋 Строка в списке баз. Окно запуска читает список из ibases.v8i. Если каталог базы удалили через Проводник, строка остаётся, а при попытке входа 1С сообщает, что файл базы не найден.
  • 📂 Кэш конфигурации. Для каждой базы, которую вы открывали, в профиле создаётся папка с именем вида a1b2c3d4-... (GUID). В ней лежат метаданные, формы, картинки. После удаления базы папка живёт годами.
  • ⚙️ Пользовательские настройки. Положение окон, история выбора, настройки отчётов. Часть хранится локально в %APPDATA%, часть — в самой базе.
  • 🗑️ Временные файлы. При работе 1С создаёт в %TEMP% файлы v8_XXXX_N.tmp и подпапки. При аварийном закрытии они не удаляются.
  • 🖥️ Серверный кэш. В клиент-серверном варианте на сервере 1С копится сеансовый кэш в каталоге srvinfo.

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

Кэш и временные файлы — это копии. Их удаление не трогает данные базы. Документы, справочники и проводки хранятся в файле 1Cv8.1CD (файловая база) или в СУБД (серверная).

Чистим список баз в окне запуска

Начните с самого заметного — строк с несуществующими базами.

Через интерфейс

  1. Запустите 1С:Предприятие.
  2. В окне запуска выделите базу, которой больше нет.
  3. Нажмите Удалить и подтвердите.

Кнопка убирает только строку из списка. Каталог с базой, если он ещё существует, остаётся на диске. Если вы хотите избавиться и от данных, удалите папку базы вручную после того, как убедились, что есть резервная копия.

Через файл ibases.v8i

Если строк много или окно запуска не открывается, отредактируйте список напрямую.

  1. Закройте все окна 1С.
  2. Нажмите Win+R, введите %APPDATA%\1C\1CEStart и нажмите Enter.
  3. Скопируйте файл ibases.v8i в другую папку — это откат на случай ошибки.
  4. Откройте ibases.v8i в Блокноте.
  5. Каждая база — это блок, начинающийся с имени в квадратных скобках, например [Бухгалтерия старая], и строк Connect=, ID= и других до следующего блока. Удалите блок целиком.
  6. Сохраните файл в той же кодировке и запустите 1С.

Если в окне запуска настроены общие списки баз (файлы .v8i на сетевом ресурсе), удалённая строка вернётся при следующей синхронизации. Правьте исходный файл на сервере или уберите его из настроек окна запуска (кнопка Настройка).

В той же папке лежит 1CEStart.cfg — настройки самого окна запуска, включая ссылки на общие списки. Его удаление сбрасывает эти настройки, но список баз не трогает.

Очищаем временную папку пользователя

Временная папка — главный накопитель мусора при аварийных закрытиях 1С. Чистится просто, если программа закрыта.

  1. Закройте 1С у этого пользователя. На терминальном сервере — только у него, остальным это не мешает.
  2. Нажмите Win+R, введите %TEMP% и нажмите Enter.
  3. В поиске Проводника введите v8_ и удалите найденные файлы и папки.
  4. Если какой-то файл не удаляется, его держит запущенный процесс. Пропустите его или см. раздел про заблокированные файлы.

Можно удалить и всё содержимое %TEMP%: Windows и программы пересоздадут нужное. Файлы, занятые другими приложениями, просто не удалятся.

На терминальном сервере у каждого пользователя своя %TEMP%. Если на диске C: закончилось место, проверьте папки C:\Users\<имя>\AppData\Local\Temp у всех пользователей — у тех, кто редко выходит из сеанса, там бывает по несколько гигабайт.

Сбрасываем кэш 1С: параметр /ClearCache и ручное удаление

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

Параметр /ClearCache

Параметр очищает кэш именно той базы, которую вы запускаете.

  1. В окне запуска выделите базу и нажмите Изменить.
  2. Пройдите мастер до последней страницы.
  3. В поле Дополнительные параметры запуска впишите /ClearCache.
  4. Нажмите Готово и запустите базу.

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

Тот же параметр работает в командной строке и в ярлыке:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Для серверной базы вместо /F указывают /S"сервер\имя_базы".

Ручное удаление папок кэша

/ClearCache не трогает папки баз, которых больше нет в списке. Их удаляют вручную.

ПапкаЧто в нейМожно удалять
%LOCALAPPDATA%\1C\1cv8\<GUID>Кэш конфигурации конкретной базыДа, при закрытой 1С
%APPDATA%\1C\1cv8\<GUID>Локальные настройки пользователя по базеДа, но сбросятся окна и настройки отчётов
%APPDATA%\1C\1cv8 (файлы *.pfl)Общие настройки платформыТолько при сбоях, сбрасывают настройки
%APPDATA%\1C\1CEStart\ibases.v8iСписок базНет, правьте содержимое

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

  1. Закройте 1С: проверьте в Диспетчере задач, что нет процессов 1cv8.exe и 1cv8c.exe.
  2. Откройте %LOCALAPPDATA%\1C\1cv8 и удалите все папки с GUID-именами.
  3. При необходимости откройте %APPDATA%\1C\1cv8 и сделайте то же.
  4. Запустите 1С — нужные папки создадутся заново для тех баз, которые вы откроете.

Удалять все GUID-папки подряд безопасно: понять, какая из них какой базе принадлежит, по имени нельзя, а живые базы всё равно пересоздадут свой кэш.

Перед удалением кэша
Выполнено: 0 / 4

Реестр Windows: что там есть от 1С и стоит ли его трогать

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

Что в реестре действительно есть от 1С:

  • 🔧 записи об установленных версиях платформы — их видно в Параметры → Приложения (или Программы и компоненты);
  • 🔗 ассоциации файлов: .v8i, .epf, .erf, .cf и других — какой версией их открывать;
  • 🧩 регистрация COM-компонента для внешних соединений, если его регистрировали.

Когда на компьютере накопилось пять-десять старых версий платформы, удаляйте их штатно через Программы и компоненты. Каждая версия занимает несколько сотен мегабайт в C:\Program Files\1cv8\<номер версии>. Удалите версии, номер которых ниже используемой, но оставьте ту, на которой работают ваши базы.

Не чистите реестр «чистильщиками» и не удаляйте ветки 1С вручную без экспорта. Если всё же правите реестр — сначала Файл → Экспорт в редакторе regedit, чтобы можно было вернуть ветку двойным щелчком по .reg-файлу.

Если двойной щелчок по .epf открывает не ту версию или удалённую платформу, проще переназначить программу: правый клик по файлу → Открыть с помощью → выбрать 1cv8.exe нужной версии и отметить «Всегда использовать это приложение». Реестр при этом руками трогать не нужно.

Настройки, которые хранятся в самой базе

Часть «мусора» живёт не на компьютере, а в базе: сохранённые варианты отчётов, настройки списков, избранное. Удаление локального кэша их не затрагивает.

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) для этого есть обработка «Настройки пользователей» в разделе Администрирование → Настройки пользователей и прав. В ней можно очистить настройки отдельного пользователя: внешний вид, настройки отчётов, прочие. Пригодится, если у одного сотрудника форма открывается с ошибкой, а у остальных — нормально.

Если файл не удаляется: командная строка и поиск процесса

Сообщение Операция не может быть завершена, так как этот файл открыт в 1cv8.exe означает, что процесс 1С ещё жив. Чаще всего это «зависший» клиент, который не виден на экране.

Завершаем процессы 1С

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

Только у себя — откройте командную строку от своего пользователя:

taskkill /IM 1cv8.exe /F /FI "USERNAME eq %USERNAME%"
taskkill /IM 1cv8c.exe /F /FI "USERNAME eq %USERNAME%"

После этого папки удаляются командой:

rd /s /q "%LOCALAPPDATA%\1C\1cv8\a1b2c3d4-0000-0000-0000-000000000000"
del /q /f "%TEMP%\v8_*.tmp"

Ключ /s удаляет вложенные папки, /q — без вопросов. Подставьте реальное имя папки.

Кто держит файл

Если процессов 1С нет, а файл всё равно занят, найдите виновника:

  1. Нажмите Win+R, введите resmon — откроется Монитор ресурсов.
  2. Вкладка ЦП → блок Связанные дескрипторы.
  3. В поле поиска введите часть имени файла или 1cv8.
  4. Правый клик по найденному процессу → Завершить процесс.

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

Файловая база в сетевой папке

Если удалить не получается каталог самой файловой базы на сервере, её держит кто-то из пользователей по сети. На файловом сервере откройте Управление компьютером → Общие папки → Открытые файлы, найдите 1Cv8.1CD и посмотрите, у кого он открыт. Попросите этого пользователя выйти из базы, а не закрывайте файл принудительно — так можно повредить базу.

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

В клиент-серверном варианте часть проблем «старой формы» и «удалённой базы, которая всё ещё видна» живёт на сервере.

  • Удалённая информационная база. Удаляйте её через консоль администрирования серверов 1С: правый клик по базе → Удалить. В окне удаления выберите, удалять ли саму базу данных в СУБД. Удаление только каталога на диске не уберёт базу из кластера.
  • Сеансовые данные. Хранятся в каталоге кластера внутри srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541\<GUID кластера>) в папках, имена которых начинаются на snccntx.

Очистка папок snccntx — известный приём при странных ошибках после обновления конфигурации на сервере:

  1. Предупредите пользователей: все сеансы на сервере оборвутся.
  2. Остановите службу агента сервера 1С (в списке служб она называется 1C:Enterprise 8.3 Server Agent).
  3. Скопируйте каталог кластера в резервную папку.
  4. Удалите папки snccntx*. Файлы реестра кластера (1CV8Clst.lst и другие) не трогайте.
  5. Запустите службу и проверьте вход в базу.

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

Профилактика и автоматическая очистка

Ручная чистка раз в полгода — нормально для одного компьютера. Для терминального сервера на 20–30 человек её лучше автоматизировать.

Bat-файл при входе пользователя

Создайте файл clean1c.bat:

@echo off
rem Очистка временных файлов 1С текущего пользователя
tasklist /FI "IMAGENAME eq 1cv8.exe" /FI "USERNAME eq %USERNAME%" | find /I "1cv8.exe" >nul && exit /b
tasklist /FI "IMAGENAME eq 1cv8c.exe" /FI "USERNAME eq %USERNAME%" | find /I "1cv8c.exe" >nul && exit /b
del /q /f "%TEMP%\v8_*.tmp" 2>nul
for /d %%D in ("%TEMP%\v8_*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"

Скрипт сначала проверяет, не запущена ли 1С у этого пользователя. Если запущена — выходит, ничего не трогая. Маска *-*-*-*-* выбирает только папки с GUID-именами и не задевает служебные.

Подключите его в Планировщике заданий Windows:

  1. Win+R → taskschd.msc.
  2. Создать задачу → вкладка Триггеры → При входе в систему.
  3. Вкладка Действия → Запуск программы → путь к clean1c.bat.
  4. На вкладке Общие выберите запуск от имени группы пользователей, чтобы задача отрабатывала для каждого.

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

Привычки, которые уменьшают мусор

  • ✅ Выходите из 1С через меню, а не закрытием окна терминального сеанса.
  • ✅ Удаляете базу — удаляйте её и из списка, и из консоли сервера.
  • ✅ После обновления конфигурации запускайте базу один раз с /ClearCache, если видите старые формы.
  • ✅ Раз в квартал удаляйте старые версии платформы, номер которых ниже используемой.
  • ✅ Используйте общий список баз на сервере — одна правка вместо обхода всех компьютеров.
Удалятся ли документы, если стереть кэш 1С?
Нет. Кэш — локальная копия конфигурации и настроек. Документы и справочники хранятся в файле базы 1Cv8.1CD или в СУБД на сервере.
Почему после удаления кэша 1С долго запускается?
Платформа заново загружает конфигурацию в локальный кэш. Медленным будет только первый вход в каждую базу, дальше скорость вернётся.
Как удалить из базы документы, которые помечены на удаление?
Это другая задача: в Бухгалтерии 3.0 и других конфигурациях на БСП используйте Администрирование → Обслуживание → Удаление помеченных объектов. Перед этим сделайте резервную копию.
Сколько места может занимать кэш 1С?
По одной базе обычно десятки-сотни мегабайт. У пользователя, который годами открывал много баз и обновлял их, папка %LOCALAPPDATA%\1C\1cv8 легко вырастает до нескольких гигабайт.
Удалённая база вернулась в список. Что не так?
Список подтягивается из общего файла .v8i на сервере или через групповые политики. Удалите строку в исходном файле или отключите общий список в окне запуска через кнопку «Настройка».