Где лежат файлы обновлений 1С и как освободить от них диск
Содержание
Скачанные обновления конфигураций 1С по умолчанию попадают в каталог шаблонов %APPDATA%\1C\1cv8\tmplts, а на время загрузки и установки — во временную папку пользователя %TEMP%. Каталог шаблонов меняется в окне запуска 1С кнопкой Настройка, временный каталог — через переменную среды TEMP.
Типичная ситуация: на диске C: у бухгалтера осталось 2 ГБ, а «Обновление программы» снова качает релиз. Администратор открывает профиль пользователя и находит там несколько десятков гигабайт старых дистрибутивов. Ниже — адреса всех папок, что из них можно удалять и как не допускать переполнения.
Куда по умолчанию 1С сохраняет обновления конфигураций
Файлы обновления проходят через несколько мест. Каждое отвечает за свою стадию.
| Что хранится | Путь по умолчанию | Можно удалять |
|---|---|---|
Установленные шаблоны и обновления (.cfu, .cf, демобазы) | %APPDATA%\1C\1cv8\tmplts | Да, старые релизы |
| Архивы и распакованные файлы на время загрузки | %TEMP% (обычно C:\Users\<имя>\AppData\Local\Temp) | Да, при закрытой 1С |
| Кэш конфигураций баз (папки с GUID-именами) | %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 | Да, при закрытой 1С |
| Настройки окна запуска, список каталогов шаблонов | %APPDATA%\1C\1CEStart\1cestart.cfg | Нет, это настройки |
Чтобы открыть папку быстро, нажмите Win + R и введите %APPDATA%\1C\1cv8\tmplts. Проводник сам подставит профиль текущего пользователя.
Как устроен каталог шаблонов
Внутри tmplts дистрибутив раскладывается по поставщику, конфигурации и номеру релиза:
tmplts\
1c\
Accounting\
3_0_xxx_yy\
1cv8.cfu — файл обновления
1cv8.mft — манифест, по нему Конфигуратор находит обновление
UpdInfo.txt — с каких релизов допустимо обновление
ReadMe.txt — описание изменений
HRM\
3_1_xxx_yy\
В папке релиза бывает и полный 1cv8.cf, и файл демонстрационной базы 1cv8.dt. Именно они занимают больше всего места.
💡 Номер версии зашит в имя папки с подчёркиваниями вместо точек: 3_0_150_20 — это релиз 3.0.150.20. Так проще понять, какие релизы уже давно не нужны.
Временная папка во время загрузки
Когда обновление качается из самой программы (Администрирование → Интернет-поддержка и сервисы → Обновление версии программы), архив сначала падает во временный каталог пользователя. Там же он распаковывается, а оттуда запускается установка обновления.
После успешного обновления часть файлов остаётся в %TEMP%. Если обновление прервалось, остаётся всё. Поэтому временная папка бухгалтера, который годами обновляет базу сам, часто весит больше, чем каталог шаблонов.
Если дистрибутив скачан вручную
Обновление, скачанное архивом с портала поддержки, после распаковки содержит setup.exe. Программа установки спрашивает каталог и по умолчанию подставляет первый каталог шаблонов из настроек окна запуска.
Если на этом шаге указать другую папку, Конфигуратор найдёт обновление только при условии, что эта папка есть в списке каталогов шаблонов. Иначе файл придётся выбирать вручную.
После установки распакованный архив и setup.exe больше не нужны. Их можно удалить сразу: всё необходимое уже скопировано в tmplts.
Как узнать, откуда взято обновление
В Конфигураторе откройте Конфигурация → Поддержка → Обновить конфигурацию и выберите поиск доступных обновлений. В списке найденных обновлений рядом с релизом показан полный путь к файлу 1cv8.cfu. Так видно, из какого каталога шаблонов он подхвачен.
Как сменить каталог загрузки обновлений 1С
Перенос каталога шаблонов на другой диск — самый частый способ освободить C:.
Через окно запуска
- Закройте все сеансы 1С на компьютере.
- Создайте папку на другом диске, например
D:\1C\tmplts. - Перенесите в неё содержимое старой папки
%APPDATA%\1C\1cv8\tmpltsс сохранением структуры. - Откройте окно запуска 1С и нажмите
Настройка. - В списке «Каталоги шаблонов конфигураций и обновлений» добавьте новый путь и поставьте его первым. Старый путь удалите.
- Нажмите
ОКи перезапустите окно запуска.
Каталог, стоящий первым, становится основным: в него устанавливаются новые шаблоны. Остальные каталоги из списка Конфигуратор просматривает при поиске обновлений.
Через файл 1cestart.cfg
Тот же список хранится текстом. Его удобно править скриптом или раскатывать на несколько машин:
ConfigurationTemplatesLocation=D:\1C\tmplts
ConfigurationTemplatesLocation=\\fileserver\1C\tmplts
Личные настройки лежат в %APPDATA%\1C\1CEStart\1cestart.cfg. Общий для всех пользователей компьютера файл — в %ALLUSERSPROFILE%\1C\1CEStart\1cestart.cfg. Строк ConfigurationTemplatesLocation может быть несколько, по одной на каталог.
Правьте файл при закрытом окне запуска. Иначе 1С при выходе перезапишет его своей копией настроек.
Перенос временного каталога
Отдельной настройки для временных файлов в 1С нет: платформа берёт системную переменную TEMP. Её можно поменять для пользователя (Панель управления → Учётные записи → Изменение переменных среды) или только для запуска 1С через bat-файл:
@echo off
set TEMP=D:\1C\temp
set TMP=D:\1C\temp
start "" "C:\Program Files\1cv8\common\1cestart.exe"
Второй вариант не затрагивает другие программы. Папку D:\1C\temp создайте заранее и дайте пользователю права на запись.
Пакетный режим Конфигуратора
Если обновление ставится скриптом, путь к файлу задаёте явно, и каталог шаблонов вообще не участвует:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg /Out "D:\Updates\update.log"
/UpdateCfg применяет файл обновления к основной конфигурации, /UpdateDBCfg переносит изменения в конфигурацию базы данных, /Out пишет протокол. Для серверной базы вместо /F указывают /S "сервер\база".
Что из обновления хранится в самой информационной базе
Дистрибутив на диске нужен только до момента установки. После обновления конфигурация живёт внутри базы, и папка с релизом ей больше не требуется.
В базе хранятся сразу несколько копий конфигурации:
- 📦 конфигурация базы данных — та, с которой работают пользователи;
- 🛠️ основная конфигурация — та, что редактируется в Конфигураторе. При обновлении изменения сначала попадают сюда;
- 🏷️ конфигурация поставщика — эталон релиза. По ней Конфигуратор сравнивает доработки при следующем обновлении.
В SQL-базе основная конфигурация и конфигурация базы данных лежат в разных таблицах: Config и ConfigSave. Пока изменения не применены командой Конфигурация → Обновить конфигурацию базы данных, они ждут в ConfigSave. В файловой базе всё это находится внутри одного файла 1Cv8.1CD.
Отсюда два практических следствия:
- Файл
1Cv8.1CDрастёт после каждого обновления. Освобождённое место возвращается послеТестирования и исправлениясо сжатием таблиц или выгрузки-загрузки.dt. - Удаление папок из
tmpltsникак не ломает уже обновлённую базу.
💡 Для отката нужна не папка с релизом, а выгрузка базы .dt, сделанная перед обновлением. Её и храните, а не старые дистрибутивы.
Очистка кэша и временных файлов обновлений
Чистить можно три места. Все действия — только при полностью закрытой 1С на этом компьютере.
Каталог шаблонов
- Определите текущие релизы ваших баз:
Справка → О программе. - В
tmplts\1c\<конфигурация>оставьте текущий релиз и все, что новее. - Остальные папки релизов удалите.
Если база отстала на несколько релизов, сначала посмотрите UpdInfo.txt нужного обновления. В нём перечислены версии, с которых на него можно перейти. Промежуточные релизы из этой цепочки удалять рано.
Временная папка
Откройте %TEMP% и удалите папки и архивы, связанные с обновлением 1С, старше нескольких дней. Файлы, занятые другими программами, Windows удалить не даст — их пропустите.
Кэш конфигураций
В %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 лежат папки с длинными именами вида a1b2c3d4-.... Это кэш метаданных баз. После обновлений там остаются копии старых версий конфигураций.
Папки с GUID-именами удалять можно: при следующем входе 1С создаст кэш заново, первый запуск пройдёт чуть дольше. Не трогайте в этих каталогах файлы со списком баз (ibases.v8i) и папку tmplts, если она не перенесена.
Для одной базы есть способ мягче — параметр запуска /ClearCache. Его добавляют в поле «Дополнительные параметры запуска» в свойствах базы в окне запуска или в командную строку. Он очищает кэш именно этой базы.
Обновления в клиент-серверном варианте: где лежат файлы
В клиент-серверной базе файлы обновления скачивает и применяет не сервер, а компьютер, с которого администратор запускает обновление. Поэтому дистрибутивы и временные файлы копятся в профиле этого администратора, а не в каталогах сервера 1С.
Общий каталог шаблонов для администраторов
Если базы обновляют двое-трое специалистов, держите один каталог шаблонов на файловом сервере:
- Создайте общую папку, например
\\fileserver\1C\tmplts. - Дайте права на запись администраторам 1С, остальным — только чтение или никаких.
- Пропишите UNC-путь первым в окне запуска у каждого администратора или в общем
1cestart.cfg.
Так релиз скачивается один раз, а не на каждую машину.
Что происходит на сервере
Во время обновления структуры базы рабочие процессы сервера 1С пишут временные данные во временный каталог учётной записи, под которой запущена служба (по умолчанию USR1CV8). Эта папка лежит в профиле службы, обычно C:\Users\USR1CV8\AppData\Local\Temp.
Отдельно на сервере есть каталог кластера srvinfo с сеансовыми данными и кэшами. Чистить его вручную при работающей службе нельзя.
Очистка серверного кэша требует остановки службы «Агент сервера 1С:Предприятия». Все сеансы пользователей оборвутся, несохранённые документы пропадут. Делайте это вне рабочего времени и после предупреждения пользователей.
Терминальный сервер
На терминальном сервере каталог шаблонов по умолчанию создаётся в профиле каждого пользователя. Если обновлять разрешено нескольким людям, без общего каталога один релиз окажется на диске в нескольких копиях. Общий 1cestart.cfg в %ALLUSERSPROFILE% решает это одним файлом.
Автоматический контроль места на диске
Чтобы не искать гигабайты вручную, поставьте скрипт в Планировщик заданий Windows. Пример на PowerShell показывает размер каталогов и ищет папки релизов, которые давно не менялись:
$paths = @(
"$env:APPDATA\1C\1cv8\tmplts",
"$env:APPDATA\1C\1cv8",
"$env:LOCALAPPDATA\1C\1cv8",
"$env:TEMP"
)
foreach ($p in $paths) {
if (Test-Path $p) {
$size = (Get-ChildItem $p -Recurse -File -ErrorAction SilentlyContinue |
Measure-Object Length -Sum).Sum / 1GB
"{0} {1:N2} ГБ" -f $p, $size
}
}
$limit = (Get-Date).AddDays(-180)
Get-ChildItem "$env:APPDATA\1C\1cv8\tmplts\1c\*\*" -Directory -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -lt $limit } |
Select-Object FullName, LastWriteTime
Скрипт ничего не удаляет, только выводит список. Удаление по сроку опасно: релиз полугодовой давности может оказаться текущим для редко обновляемой базы.
Как встроить в регламент:
- 🗓️ запуск раз в неделю от имени пользователя, в чьём профиле лежат шаблоны;
- 📄 вывод в файл: добавьте
| Out-File D:\1C\disk-report.txtк командам; - 🔔 простой порог: если папка больше заданного объёма, пусть скрипт отправит письмо или запишет событие в журнал Windows;
- 🧹 ручное удаление по отчёту раз в квартал, после сверки релизов баз.
Если 1С не видит скачанное обновление
Бывает обратная проблема: файлы на диске есть, а Конфигурация → Поддержка → Обновить конфигурацию в режиме поиска ничего не находит.
Частые вопросы
Можно ли удалить всю папку tmplts целиком?
Зачем в папке релиза файл 1cv8.dt?
Чем 1cv8.cf отличается от 1cv8.cfu?
.cf — полная конфигурация, ею создают новую базу или полностью заменяют конфигурацию. .cfu — файл обновления: применяется к базе определённого релиза и сохраняет доработки на поддержке.