Работа с файлами в 1С:Предприятие 8.3 — рутинная задача для администраторов и разработчиков, но даже опытные пользователи иногда сталкиваются с проблемами при их удалении. Система может блокировать файлы из-за открытых сессий, неправильных прав доступа или внутренних механизмов защиты. В отличие от стандартного удаления через проводник Windows, в 1С требуется учитывать специфику платформы: связь файлов с объектами конфигурации, транзакционность операций и возможные последствия для базы данных.
Эта статья охватывает все актуальные методы удаления файлов — от простых действий в конфигураторе до программных решений на встроенном языке. Мы разберём типичные ошибки (например, "Файл используется другим процессом"), объясним, как обходить блокировки, и предоставим чек-листы для безопасного выполнения операций. Особое внимание уделено административным нюансам: удалению временных файлов, очистке кэша и работе с файлами, привязанными к документам.
Если вы ищете способ удалить конкретный тип файлов (например, .dt или .epf), используйте навигацию по разделам. Для разработчиков приведены примеры кода с комментариями, а для администраторов — пошаговые инструкции с визуальными подсказками.
1. Удаление файлов через конфигуратор 1С 8.3
Самый очевидный способ — использовать встроенные инструменты конфигуратора. Этот метод подходит для удаления файлов, связанных с объектами конфигурации (например, внешние обработки, отчёты или печатные формы), а также для очистки временных данных.
Чтобы удалить файл через конфигуратор:
- Откройте 1С:Предприятие в режиме Конфигуратор (запуск с удержанием
Shiftили через ярлык). - Перейдите в меню
Файл → Открыть...и выберите нужный файл (если он привязан к конфигурации). - Для внешних файлов (например,
.epfили.erf) используйте менюКонфигурация → Поддержка → Внешние обработки. - Выделите файл в дереве объектов и нажмите
Deleteили выберитеДействия → Удалить.
⚠️ Внимание: Удаление через конфигуратор необратимо удаляет ссылки на файл в метаданных, но сам файл может остаться на диске. Для полной очистки проверьте папку хранения (обычно %APPDATA%\1C\1Cv8\ или каталог базы данных).
Закройте все сессии пользователей в базе|Создайте резервную копию конфигурации|Проверьте, не используется ли файл в других объектах|Отключите регламентные задания-->
Если файл не отображается в дереве конфигурации, но физически существует на диске, его можно удалить вручную — об этом читайте в следующем разделе.
2. Ручное удаление файлов 1С на диске
Файлы 1С хранятся в нескольких стандартных локациях:
- 📁 Папка базы данных: обычно указывается при создании информационной базы (например,
C:\Bases\ИмяБазы\). Здесь хранятся файлы.1CD(для файловых баз) или подпапки для клиент-серверного варианта. - 📁 Кэш и временные файлы:
%APPDATA%\1C\1Cv8\и%LOCALAPPDATA%\1C\1Cv8\. Содержат.cdx,.log,.tmp. - 📁 Внешние обработки/отчёты: часто хранятся в общей папке сети или в
Документы\1C\.
Для ручного удаления:
- Закройте все сессии 1С (включая фоновые процессы
ragent.exeиrphost.exe). - Откройте
Диспетчер задач(Ctrl+Shift+Esc) и завершите процессы1cv8.exe,1cv8s.exe. - Удалите файл через
Проводникили командную строку:del /f /q "C:\Путь\К\Файлу.1CD"
⚠️ Внимание: Удаление файлов .1CD или .DT разрушает базу данных. Если цель — освободить место, используйте Тестирование и исправление в конфигураторе (Администрирование → Тестирование и исправление).
Чтобы найти все файлы 1С на диске, используйте поиск в Проводнике по маске .1C или *.DT. Это поможет обнаружить "забытые" временные файлы.
3. Программное удаление файлов на встроенном языке
Для автоматизации удаления (например, при очистке устаревших файлов) можно использовать встроенный язык 1С. Этот метод подходит разработчикам, которые хотят интегрировать удаление в бизнес-процессы.
Пример кода для удаления файла:
Процедура УдалитьФайл(ПутьКФайлу)
Попытка
УдалитьФайлы(ПутьКФайлу);
Сообщить("Файл успешно удалён: " + ПутьКФайлу);
Исключение
Сообщить("Ошибка удаления: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
// Пример вызова:
УдалитьФайл("C:\Temp\Отчет.epf");
Ключевые моменты:
- 🔹 Функция
УдалитьФайлы()работает только с физическими файлами на диске, не затрагивая объекты конфигурации. - 🔹 Для удаления файлов в сетевой папке требуются права записи.
- 🔹 Чтобы удалить файл, используемый 1С, предварительно закройте все соединения с ним (например, через
ЗакрытьФайл()).
Важно: При удалении файлов через код 1С не проверяет, используется ли файл в других сессиях. Это может привести к ошибкам при следующем открытии базы.
Если файл заблокирован процессом 1С, попробуйте: 1. Завершить все сессии через 2. Использовать утилиту 3. Перезагрузить сервер (для клиент-серверного варианта).Как удалить файл, если он заблокирован 1С?
Администрирование → Активные пользователи в конфигураторе.Unlocker (для Windows) или команду handle.exe из Sysinternals для принудительного освобождения файла.
4. Удаление файлов, привязанных к документам 1С
Файлы, прикреплённые к документам (например, сканы или экспортированные данные), хранятся в хранилище файлов базы. Их нельзя удалить напрямую через проводник — это приведёт к ошибкам при открытии документов.
Правильный порядок действий:
- Откройте документ, к которому прикреплён файл, в режиме 1С:Предприятие.
- Перейдите на вкладку
Файлы(или аналогичную, в зависимости от конфигурации). - Выделите файл и нажмите
Удалить(илиУбрать из списка). - Сохраните документ (
Ctrl+S).
Если файл прикреплён к многим документам, используйте обработку для массового удаления. Пример запроса для поиска таких файлов:
ВЫБРАТЬ
ХранилищеФайлов.Ссылка КАК Документ,
ХранилищеФайлов.ИмяФайла КАК ИмяФайла
ИЗ
Документ.ХранилищеФайлов КАК ХранилищеФайлов
ГДЕ
ХранилищеФайлов.ИмяФайла = "имя_файла.pdf"
⚠️ Внимание: Удаление файлов из хранилища не освобождает место на диске сразу — 1С использует механизм "мягкого удаления". Для физической очистки выполните Тестирование и исправление с опцией Реструктуризация таблиц.
Через конфигуратор|Ручное удаление через Проводник|Программно (встроенный язык)|Удаление через документы|Не удаляю файлы самостоятельно-->
5. Ошибки при удалении файлов и их решения
Распространённые ошибки и способы их устранения:
| Ошибка | Причина | Решение |
|---|---|---|
Файл используется другим процессом |
Файл заблокирован сессией 1С или антивирусом. | Закройте все сессии, отключите антивирус на время удаления. |
Отказано в доступе |
Недостаточно прав на папку или файл. | Запустите 1С от имени администратора или измените права на папку. |
Не удалось найти указанный файл |
Файл перемещён или удалён, но ссылка осталась в метаданных. | Обновите конфигурацию (Конфигурация → Обновить конфигурацию базы данных). |
Ошибка блокировки данных |
Файл заблокирован на уровне СУБД (для клиент-серверного варианта). | Выполните UNLOCK TABLES в SQL или перезапустите сервер 1С. |
Если ошибка повторяется, проверьте:
- 🔧 Настройки антивируса (исключите папки 1С из сканирования).
- 🔧 Права доступа к папке (для сетевых баз — права на сервере).
- 🔧 Логи 1С (
%APPDATA%\1C\1Cv8\log\) на предмет блокировок.
Самая частая причина ошибок при удалении — открытые сессии или фоновые процессы 1С. Всегда проверяйте активные соединения через Администрирование → Активные пользователи.
6. Удаление временных и кэш-файлов 1С
Временные файлы (.tmp, .cdx, .log) накапливаются в процессе работы и могут занимать гигабайты пространства. Их можно безопасно удалять, но с осторожностью — некоторые файлы могут быть нужны для восстановления сессии.
Как очистить кэш:
- Закройте все окна 1С.
- Удалите содержимое папок:
%APPDATA%\1C\1Cv8\%LOCALAPPDATA%\1C\1Cv8\
- Для клиент-серверного варианта очистите кэш на сервере (папка
SRV1CV8\).
⚠️ Внимание: Не удаляйте файлы с расширением .1CD или .DT в папке базы — это приведёт к потере данных. Для очистки таких файлов используйте Тестирование и исправление.
Автоматизировать очистку кэша можно через планировщик задач Windows. Пример команды для bat-файла:
@echo off
timeout /t 10
del /q /f "%APPDATA%\1C\1Cv8\*.tmp"
del /q /f "%APPDATA%\1C\1Cv8\*.cdx"
del /q /f "%LOCALAPPDATA%\Temp\1C*.*"
7. Альтернативные методы: командная строка и PowerShell
Для опытных администраторов удобнее использовать скрипты. Ниже — примеры команд для массового удаления файлов 1С.
Через командную строку (CMD):
:: Удаление всех временных файлов старше 7 дней
forfiles /p "C:\Users\%USERNAME%\AppData\Roaming\1C\1Cv8\" /s /m *.tmp /d -7 /c "cmd /c del @path"
Через PowerShell:
# Удаление файлов кэша по маске
Get-ChildItem -Path "$env:APPDATA\1C\1Cv8\" -Filter *.cdx -Recurse | Remove-Item -Force -ErrorAction SilentlyContinue
Преимущества скриптов:
- 🔹 Возможность планирования очистки (через
Task Scheduler). - 🔹 Логирование удалённых файлов (добавьте вывод в лог-файл).
- 🔹 Фильтрация по дате, размеру или имени.
⚠️ Внимание: При использовании скриптов для сетевых папок убедитесь, что у учётной записи есть права на удаление. Тестируйте скрипты на копии данных перед применением на рабочей базе.
psexec -s -i cmd /c "del C:\1C_Bases\Temp\."
-->
FAQ: Частые вопросы по удалению файлов в 1С 8.3
Можно ли восстановить удалённый файл базы 1С (.1CD)?
Восстановить файл .1CD после удаления можно только из резервной копии. Если копии нет, попробуйте инструменты вроде R-Studio или Recuva, но шансы минимальны — 1С использует собственную структуру хранения данных, не совместимую со стандартными методами восстановления.
Для предотвращения потерь настройте автоматическое резервное копирование через Администрирование → Резервное копирование в конфигураторе.
Как удалить файл, если 1С пишет "Файл используется"?
Сначала проверьте активные сессии:
- Откройте конфигуратор →
Администрирование → Активные пользователи. - Завершите все сессии (кнопка
Завершить работу). - Если файл всё ещё заблокирован, завершите процессы
1cv8.exeиrphost.exeчерезДиспетчер задач.
Для принудительного удаления используйте утилиту Process Explorer (из набора Sysinternals), чтобы найти и закрыть процесс, блокирующий файл.
Что будет, если удалить файл .DT из папки базы?
Файл .DT содержит данные таблиц базы. Его удаление приведёт к:
- Потере части данных (если файл относился к конкретной таблице).
- Ошибкам при открытии базы (
"Файл базы данных повреждён"). - Необходимости восстановления из резервной копии.
Если файл повреждён, вместо удаления выполните Тестирование и исправление с опцией Восстановление структуры таблиц.
Как очистить папку Temp от файлов 1С?
Файлы 1С в %TEMP% (обычно C:\Users\ИмяПользователя\AppData\Local\Temp\) можно удалять без риска для базы. Они создаются для временных операций (печать, экспорт, обновления).
Способы очистки:
- Ручная очистка: удалите все файлы с маской
1C*.tmp. - Автоматическая: добавьте в планировщик задач команду
del /q /f "%TEMP%\1C*.*".
Нужно ли перезапускать сервер 1С после удаления файлов?
Перезапуск сервера 1С:Предприятие (ragent и rphost) требуется в следующих случаях:
- Если удалялись файлы, заблокированные серверными процессами.
- После очистки кэша на сервере (папка
SRV1CV8\). - Если вносились изменения в файлы конфигурации (
.cf,.cfu).
Для файловых баз перезапуск не обязателен, но рекомендуется закрыть все клиентские сессии.