Очистка патчей и старых обновлений 1С на компьютере и сервере

· 9 мин

Содержание

Диск с 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. Закройте все окна 1С, включая конфигуратор.
  2. Откройте %APPDATA%\1C\1Cv8\tmplts.
  3. В каждой ветке оставьте две последние версии: текущую и предыдущую.
  4. Остальные папки с номерами релизов удалите.
  5. Корзину очистите сразу, иначе место не освободится.

Предыдущую версию оставляйте всегда. Она нужна, если после обновления что-то сломалось и придётся откатываться через загрузку cf-файла.

Если базу обновляли «с чужого» пути (сетевая папка, флешка), проверьте, что нужные дистрибутивы есть и там. Из каталога шаблонов 1С при следующем запуске сама скачает недостающее, но только при доступе к интернету и действующему ИТС.

Когда удалять нельзя

  • Идёт обновление конфигурации в этот момент. Файл заблокирован, а прерванное копирование оставит битую папку.
  • Это единственный экземпляр обновления для базы без доступа в сеть.
  • Папка относится к неизвестной вам конфигурации: сначала выясните, чья она.

Старые платформы: удаляем лишние версии

Прежде чем сносить версию, узнайте, какую платформу использует каждая база. Название и версию видно в списке баз: правой кнопкой по базе, пункт Изменить и поле версии запуска, либо в самой базе через Справка, О программе.

Порядок:

  1. Откройте Параметры, Приложения, Установленные приложения (в старых Windows — Программы и компоненты).
  2. Найдите строки «1С:Предприятие 8.3 (8.3.xx.xxxx)».
  3. Выберите неиспользуемую версию и нажмите Удалить.
  4. Перезагрузка обычно не нужна.

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

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

Исправления внутри базы: как убрать старые патчи

Исправления из БСП устанавливаются в базу как расширения. Они копятся: каждый патч закрывает свою ошибку, а после выхода релиза с исправлением становится ненужным.

  1. Откройте раздел Администрирование, затем блок Поддержка и обслуживание.
  2. Найдите пункт установки исправлений (в разных релизах название чуть отличается; если не видите, воспользуйтесь поиском по меню).
  3. В списке выделите исправления, которые уже вошли в установленный релиз.
  4. Удалите их кнопкой удаления.

Получилось? Тогда перезапустите 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, дата последнего изменения даёт ориентир.
  • 🧹 Удаляйте кеш у ушедших сотрудников вместе с профилем, если политика компании это допускает.
  • 📉 Включите квоты на профили, чтобы один пользователь не забил весь том.

Простая политика хранения, которая не ломает откат:

ЧтоСколько хранитьПочему
Версии релизов в tmplts2 последниеТекущая и запасная для отката
Платформы 8.3.x2 версииРабочая и предыдущая
Кеш клиентаНе хранитьПересоздаётся сам
Копии баз перед обновлениемПоследние 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 только показывает, что будет удалено. Прогоните скрипт так, оцените список и лишь потом уберите ключ.

Запуск по расписанию

  1. Откройте «Планировщик заданий», Создать простую задачу.
  2. Триггер: раз в месяц, ночью.
  3. Действие: powershell.exe, аргументы -ExecutionPolicy Bypass -File C:\Scripts\clean-1c.ps1.
  4. Запускайте от имени пользователя, чьим профилем занимаетесь, иначе %APPDATA% укажет на другой каталог.

Для терминального сервера пройдите по всем профилям: Get-ChildItem C:\Users -Directory и подставьте путь к AppData\Roaming в цикле.

Перед запуском очистки
Выполнено: 0 / 5

Что чистить, а что оставить

Что у вас занимает место?

Типичные ошибки при очистке

Диагностика: выберите симптом

Как не допустить новой свалки

Чистка раз в год бессмысленна: через полгода всё то же самое. Заведите простые правила.

  • 📅 Раз в квартал проверяйте размер каталога шаблонов.
  • 🗂 Храните дистрибутивы текущего релиза в одном общем месте, а не на каждом ПК.
  • 🔁 При обновлении платформы сразу удаляйте предыдущую минорную версию, через неделю проверив работу баз.
  • 💾 Для серверов следите за свободным местом на диске, где лежит кеш: при остатке меньше 15% настройте оповещение.

Для общего каталога шаблонов на сетевом ресурсе в параметрах запуска 1С укажите единый путь. Тогда место занимает один каталог, а не копия на каждом компьютере.

Как проверить результат после очистки

Не закрывайте тему, пока не убедитесь, что всё работает.

  1. Запустите каждую базу из списка. Если одна из них не стартует, значит, удалена нужная версия платформы.
  2. Откройте любой отчёт и проведите тестовый документ в копии базы.
  3. Проверьте свободное место: Win + E, затем свойства диска. Ожидаемый прирост считайте по замеру из начала работы.
  4. Через неделю загляните в журнал ошибок Windows и убедитесь, что нет жалоб на отсутствующие файлы 1С.

Если вы чистили кеш, первые запуски будут медленнее на 20–40 секунд. Это нормально, 1С заново строит списки и формы.

Если не помогло

Место не освободилось, а диск всё равно полон? Проверьте, кто реально занимает его. Бесплатные утилиты вроде WinDirStat или WizTree покажут дерево по размеру. Нередко виновник не 1С, а:

  • журналы регистрации баз (1Cv8Log) в каталоге базы;
  • дампы и логи технологического журнала;
  • копии баз, сделанные «на всякий случай» в ту же папку.

Журнал регистрации можно сократить штатно: Администрирование, Журнал регистрации, перенос или очистка старых записей. Но сначала сохраните то, что нужно по регламенту.

Как часто вы чистите каталог обновлений 1С?

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

Можно ли удалить папку tmplts целиком?
Да, 1С создаст её заново. Но дистрибутивы обновлений придётся скачивать повторно, поэтому оставьте хотя бы последний релиз.
Удаление патчей повлияет на данные в базе?
Нет, обновления в tmplts лежат отдельно от базы. Удаление исправлений внутри базы убирает только расширения, документы и справочники не трогает.
Сколько версий платформы держать установленными?
Минимум две: рабочую и предыдущую. Если баз на разных версиях несколько, оставьте по версии на каждую.
Безопасно ли чистить кеш 1С?
Безопасно. Первый запуск после очистки будет чуть медленнее, потом всё вернётся.
Как узнать, что патч в базе уже не нужен?
Сравните номер релиза в Справка, О программе с версией, в которой исправление вошло в состав. Эти сведения обычно есть в описании патча.
Почему после очистки профиль всё равно занимает много места?
Проверьте папки базы: журнал регистрации и резервные копии часто весят больше, чем все обновления вместе.