Очистка патчей и старых обновлений 1С на компьютере и сервере
Содержание
Диск с Windows упёрся в 95%, а в профиле пользователя лежит 30 ГБ непонятных файлов 1С. Чаще всего это каталог шаблонов %APPDATA%\1C\1Cv8\tmplts: туда годами падают дистрибутивы обновлений, и никто их не убирает.
Чтобы почистить патчи 1С безопасно, удаляйте только то, что 1С скачивает повторно: старые подпапки в каталоге шаблонов, неиспользуемые версии платформы и снятые исправления в самой базе. Рабочие базы, файлы 1Cv8.1CD и каталог srvinfo сервера не трогаем.
Что в 1С называют «патчами» и где они лежат
Под одним словом живут три разных сущности. Чистятся они по-разному.
| Что это | Где лежит | Чем чистить |
|---|---|---|
Файлы обновлений конфигурации (1cv8.cfu, папки с номерами релизов) | Каталог шаблонов, по умолчанию %APPDATA%\1C\1Cv8\tmplts | Вручную или скриптом |
| Установленные версии платформы | C:\Program Files\1cv8\8.3.x.xxxx | Через «Программы и компоненты» |
| Исправления (патчи) внутри базы | Внутри информационной базы, как расширения | Из интерфейса самой 1С |
Отдельно стоит кеш клиента: папки с GUID в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Это не патчи, но места они съедают не меньше.
Каталог шаблонов можно переопределить. Проверить текущий путь: в окне запуска 1С нажмите Настройка, затем найдите поле каталога шаблонов конфигураций и обновлений.
Где искать мусор: оцениваем, что занимает место
Сначала измерьте, потом удаляйте. Иначе легко выбросить то, что нужно.
Размер каталога шаблонов
Откройте в проводнике %APPDATA%\1C\1Cv8\tmplts. Внутри обычно такая картина:
- 📁 папки по производителям (
1c,1c\accounting,1c\hrm); - 📁 внутри них — версии вида
3_0_156_30; - 📄 в каждой версии —
1cv8.cf,1cv8.cfu,UpdInfo.txt,Setup.exe.
Один релиз Бухгалтерии 3.0 занимает от 200 до 600 МБ. За два года ежемесячных обновлений набегает 10–15 ГБ.
Быстрый подсчёт через PowerShell
Get-ChildItem "$env:APPDATA\1C\1Cv8\tmplts" -Recurse -File |
Measure-Object Length -Sum |
ForEach-Object { "{0:N1} ГБ" -f ($_.Sum / 1GB) }
Нужна разбивка по подпапкам? Сортируйте по размеру:
Get-ChildItem "$env:APPDATA\1C\1Cv8\tmplts" -Directory -Recurse -Depth 2 |
ForEach-Object {
$s = (Get-ChildItem $_.FullName -Recurse -File | Measure-Object Length -Sum).Sum
[pscustomobject]@{Папка=$_.FullName; МБ=[math]::Round($s/1MB)}
} | Sort-Object МБ -Descending | Select-Object -First 15
Какие версии платформы стоят
Посмотрите содержимое C:\Program Files\1cv8 (и Program Files (x86) для 32-битных). Каждая подпапка вроде 8.3.22.1923 — отдельная платформа, около 400–700 МБ.
Если на машине их шесть, а базы работают на двух, остальные четыре — кандидаты на удаление.
Ручная очистка каталога шаблонов
Порядок действий для рабочего места бухгалтера:
- Закройте все окна 1С, включая конфигуратор.
- Откройте
%APPDATA%\1C\1Cv8\tmplts. - В каждой ветке оставьте две последние версии: текущую и предыдущую.
- Остальные папки с номерами релизов удалите.
- Корзину очистите сразу, иначе место не освободится.
Предыдущую версию оставляйте всегда. Она нужна, если после обновления что-то сломалось и придётся откатываться через загрузку cf-файла.
Если базу обновляли «с чужого» пути (сетевая папка, флешка), проверьте, что нужные дистрибутивы есть и там. Из каталога шаблонов 1С при следующем запуске сама скачает недостающее, но только при доступе к интернету и действующему ИТС.
Когда удалять нельзя
- Идёт обновление конфигурации в этот момент. Файл заблокирован, а прерванное копирование оставит битую папку.
- Это единственный экземпляр обновления для базы без доступа в сеть.
- Папка относится к неизвестной вам конфигурации: сначала выясните, чья она.
Старые платформы: удаляем лишние версии
Прежде чем сносить версию, узнайте, какую платформу использует каждая база. Название и версию видно в списке баз: правой кнопкой по базе, пункт Изменить и поле версии запуска, либо в самой базе через Справка, О программе.
Порядок:
- Откройте
Параметры,Приложения,Установленные приложения(в старых Windows —Программы и компоненты). - Найдите строки «1С:Предприятие 8.3 (8.3.xx.xxxx)».
- Выберите неиспользуемую версию и нажмите
Удалить. - Перезагрузка обычно не нужна.
Оставьте минимум одну рабочую версию и одну запасную, ту, на которой базы запускались до последнего обновления.
Серверная версия платформы и клиентская на одной машине могут отличаться. Перед удалением убедитесь, что служба «Агент сервера 1С:Предприятия» не запущена из этой версии. Путь к исполняемому файлу виден в свойствах службы.
Исправления внутри базы: как убрать старые патчи
Исправления из БСП устанавливаются в базу как расширения. Они копятся: каждый патч закрывает свою ошибку, а после выхода релиза с исправлением становится ненужным.
- Откройте раздел
Администрирование, затем блокПоддержка и обслуживание. - Найдите пункт установки исправлений (в разных релизах название чуть отличается; если не видите, воспользуйтесь поиском по меню).
- В списке выделите исправления, которые уже вошли в установленный релиз.
- Удалите их кнопкой удаления.
Получилось? Тогда перезапустите 1С и проверьте, что ошибка, ради которой ставили патч, не вернулась.
Если не уверены, что патч вошёл в релиз, сверьтесь с описанием исправления в списке. Лучше оставить лишний, чем получить прежнюю ошибку в разгар отчётного периода.
Кеш клиента: заодно освободим место
Кеш 1С копится независимо от патчей. Он безопасен: при следующем запуске 1С создаст его заново.
Что чистим:
- 📁
%LOCALAPPDATA%\1C\1cv8— папки с длинными GUID; - 📁
%APPDATA%\1C\1cv8— то же самое, плюс файлibases.v8i(его не удаляйте, это список ваших баз).
Для чистки можно запустить 1С с параметром /ClearCache:
"C:\Program Files\1cv8\8.3.22.1923\bin\1cv8.exe" ENTERPRISE /ClearCache
Либо удалите папки с GUID вручную при закрытой 1С. Первый запуск после этого будет медленнее: списки и формы собираются заново.
Терминальный сервер и общий компьютер
Здесь проблема умножается на число пользователей. Пятнадцать бухгалтеров на одном RDP-сервере — это пятнадцать профилей и пятнадцать каталогов шаблонов по 10 ГБ. Итого 150 ГБ дистрибутивов, которые никому не нужны.
Что помогает:
- 🧭 Задайте единый каталог шаблонов на сервере и пропишите его в настройках запуска. Обновление скачивается один раз.
- 👤 Чистите профили выборочно: сначала тех, кто давно не заходил. Список профилей виден в
C:\Users, дата последнего изменения даёт ориентир. - 🧹 Удаляйте кеш у ушедших сотрудников вместе с профилем, если политика компании это допускает.
- 📉 Включите квоты на профили, чтобы один пользователь не забил весь том.
Простая политика хранения, которая не ломает откат:
| Что | Сколько хранить | Почему |
|---|---|---|
| Версии релизов в tmplts | 2 последние | Текущая и запасная для отката |
| Платформы 8.3.x | 2 версии | Рабочая и предыдущая |
| Кеш клиента | Не хранить | Пересоздаётся сам |
| Копии баз перед обновлением | Последние 3 | Для возврата при сбое |
Пример расчёта. На сервере 12 профилей, в каждом по 8 ГБ в tmplts. После чистки в каждом остаётся по 1,2 ГБ (два последних релиза). Освобождается 12 × (8 − 1,2) = 81,6 ГБ. Для диска на 200 ГБ это больше трети тома.
Автоматизация: скрипт и планировщик
Руками чистить десять компьютеров неудобно. Скрипт удалит версии старше заданного срока.
$root = "$env:APPDATA\1C\1Cv8\tmplts"
$days = 180
Get-ChildItem $root -Directory -Recurse |
Where-Object { $_.Name -match '^\d+_\d+_\d+_\d+$' -and $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } |
Sort-Object FullName -Descending |
Remove-Item -Recurse -Force -WhatIf
Ключ -WhatIf только показывает, что будет удалено. Прогоните скрипт так, оцените список и лишь потом уберите ключ.
Запуск по расписанию
- Откройте «Планировщик заданий»,
Создать простую задачу. - Триггер: раз в месяц, ночью.
- Действие:
powershell.exe, аргументы-ExecutionPolicy Bypass -File C:\Scripts\clean-1c.ps1. - Запускайте от имени пользователя, чьим профилем занимаетесь, иначе
%APPDATA%укажет на другой каталог.
Для терминального сервера пройдите по всем профилям: Get-ChildItem C:\Users -Directory и подставьте путь к AppData\Roaming в цикле.
Что чистить, а что оставить
Типичные ошибки при очистке
Администрирование, Обновление программы либо положите нужный релиз в каталог шаблонов.ibases.v8i. Если есть копия, верните её в %APPDATA%\1C\1CEStart, иначе добавьте базы заново кнопкой Добавить.1cv8.exe и 1cv8c.exe в диспетчере задач и повторите.Как не допустить новой свалки
Чистка раз в год бессмысленна: через полгода всё то же самое. Заведите простые правила.
- 📅 Раз в квартал проверяйте размер каталога шаблонов.
- 🗂 Храните дистрибутивы текущего релиза в одном общем месте, а не на каждом ПК.
- 🔁 При обновлении платформы сразу удаляйте предыдущую минорную версию, через неделю проверив работу баз.
- 💾 Для серверов следите за свободным местом на диске, где лежит кеш: при остатке меньше 15% настройте оповещение.
Для общего каталога шаблонов на сетевом ресурсе в параметрах запуска 1С укажите единый путь. Тогда место занимает один каталог, а не копия на каждом компьютере.
Как проверить результат после очистки
Не закрывайте тему, пока не убедитесь, что всё работает.
- Запустите каждую базу из списка. Если одна из них не стартует, значит, удалена нужная версия платформы.
- Откройте любой отчёт и проведите тестовый документ в копии базы.
- Проверьте свободное место:
Win + E, затем свойства диска. Ожидаемый прирост считайте по замеру из начала работы. - Через неделю загляните в журнал ошибок Windows и убедитесь, что нет жалоб на отсутствующие файлы 1С.
Если вы чистили кеш, первые запуски будут медленнее на 20–40 секунд. Это нормально, 1С заново строит списки и формы.
Если не помогло
Место не освободилось, а диск всё равно полон? Проверьте, кто реально занимает его. Бесплатные утилиты вроде WinDirStat или WizTree покажут дерево по размеру. Нередко виновник не 1С, а:
- журналы регистрации баз (
1Cv8Log) в каталоге базы; - дампы и логи технологического журнала;
- копии баз, сделанные «на всякий случай» в ту же папку.
Журнал регистрации можно сократить штатно: Администрирование, Журнал регистрации, перенос или очистка старых записей. Но сначала сохраните то, что нужно по регламенту.
Частые вопросы
Можно ли удалить папку tmplts целиком?
Удаление патчей повлияет на данные в базе?
Сколько версий платформы держать установленными?
Безопасно ли чистить кеш 1С?
Как узнать, что патч в базе уже не нужен?
Справка, О программе с версией, в которой исправление вошло в состав. Эти сведения обычно есть в описании патча.