Работа с файлами в 1С:Предприятие 8.3 — рутинная задача для администраторов и разработчиков, но даже опытные пользователи иногда сталкиваются с проблемами при их удалении. Система может блокировать файлы из-за открытых сессий, неправильных прав доступа или внутренних механизмов защиты. В отличие от стандартного удаления через проводник Windows, в требуется учитывать специфику платформы: связь файлов с объектами конфигурации, транзакционность операций и возможные последствия для базы данных.

Эта статья охватывает все актуальные методы удаления файлов — от простых действий в конфигураторе до программных решений на встроенном языке. Мы разберём типичные ошибки (например, "Файл используется другим процессом"), объясним, как обходить блокировки, и предоставим чек-листы для безопасного выполнения операций. Особое внимание уделено административным нюансам: удалению временных файлов, очистке кэша и работе с файлами, привязанными к документам.

Если вы ищете способ удалить конкретный тип файлов (например, .dt или .epf), используйте навигацию по разделам. Для разработчиков приведены примеры кода с комментариями, а для администраторов — пошаговые инструкции с визуальными подсказками.

1. Удаление файлов через конфигуратор 1С 8.3

Самый очевидный способ — использовать встроенные инструменты конфигуратора. Этот метод подходит для удаления файлов, связанных с объектами конфигурации (например, внешние обработки, отчёты или печатные формы), а также для очистки временных данных.

Чтобы удалить файл через конфигуратор:

  1. Откройте 1С:Предприятие в режиме Конфигуратор (запуск с удержанием Shift или через ярлык).
  2. Перейдите в меню Файл → Открыть... и выберите нужный файл (если он привязан к конфигурации).
  3. Для внешних файлов (например, .epf или .erf) используйте меню Конфигурация → Поддержка → Внешние обработки.
  4. Выделите файл в дереве объектов и нажмите Delete или выберите Действия → Удалить.

⚠️ Внимание: Удаление через конфигуратор необратимо удаляет ссылки на файл в метаданных, но сам файл может остаться на диске. Для полной очистки проверьте папку хранения (обычно %APPDATA%\1C\1Cv8\ или каталог базы данных).

Закройте все сессии пользователей в базе|Создайте резервную копию конфигурации|Проверьте, не используется ли файл в других объектах|Отключите регламентные задания-->

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

2. Ручное удаление файлов 1С на диске

Файлы хранятся в нескольких стандартных локациях:

  • 📁 Папка базы данных: обычно указывается при создании информационной базы (например, C:\Bases\ИмяБазы\). Здесь хранятся файлы .1CD (для файловых баз) или подпапки для клиент-серверного варианта.
  • 📁 Кэш и временные файлы: %APPDATA%\1C\1Cv8\ и %LOCALAPPDATA%\1C\1Cv8\. Содержат .cdx, .log, .tmp.
  • 📁 Внешние обработки/отчёты: часто хранятся в общей папке сети или в Документы\1C\.

Для ручного удаления:

  1. Закройте все сессии (включая фоновые процессы ragent.exe и rphost.exe).
  2. Откройте Диспетчер задач (Ctrl+Shift+Esc) и завершите процессы 1cv8.exe, 1cv8s.exe.
  3. Удалите файл через Проводник или командную строку:
    del /f /q "C:\Путь\К\Файлу.1CD"

⚠️ Внимание: Удаление файлов .1CD или .DT разрушает базу данных. Если цель — освободить место, используйте Тестирование и исправление в конфигураторе (Администрирование → Тестирование и исправление).

💡

Чтобы найти все файлы 1С на диске, используйте поиск в Проводнике по маске .1C или *.DT. Это поможет обнаружить "забытые" временные файлы.

3. Программное удаление файлов на встроенном языке

Для автоматизации удаления (например, при очистке устаревших файлов) можно использовать встроенный язык . Этот метод подходит разработчикам, которые хотят интегрировать удаление в бизнес-процессы.

Пример кода для удаления файла:

Процедура УдалитьФайл(ПутьКФайлу)

Попытка

УдалитьФайлы(ПутьКФайлу);

Сообщить("Файл успешно удалён: " + ПутьКФайлу);

Исключение

Сообщить("Ошибка удаления: " + ОписаниеОшибки());

КонецПопытки;

КонецПроцедуры

// Пример вызова:

УдалитьФайл("C:\Temp\Отчет.epf");

Ключевые моменты:

  • 🔹 Функция УдалитьФайлы() работает только с физическими файлами на диске, не затрагивая объекты конфигурации.
  • 🔹 Для удаления файлов в сетевой папке требуются права записи.
  • 🔹 Чтобы удалить файл, используемый , предварительно закройте все соединения с ним (например, через ЗакрытьФайл()).

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

Как удалить файл, если он заблокирован 1С?

Если файл заблокирован процессом , попробуйте:

1. Завершить все сессии через Администрирование → Активные пользователи в конфигураторе.

2. Использовать утилиту Unlocker (для Windows) или команду handle.exe из Sysinternals для принудительного освобождения файла.

3. Перезагрузить сервер (для клиент-серверного варианта).

4. Удаление файлов, привязанных к документам 1С

Файлы, прикреплённые к документам (например, сканы или экспортированные данные), хранятся в хранилище файлов базы. Их нельзя удалить напрямую через проводник — это приведёт к ошибкам при открытии документов.

Правильный порядок действий:

  1. Откройте документ, к которому прикреплён файл, в режиме 1С:Предприятие.
  2. Перейдите на вкладку Файлы (или аналогичную, в зависимости от конфигурации).
  3. Выделите файл и нажмите Удалить (или Убрать из списка).
  4. Сохраните документ (Ctrl+S).

Если файл прикреплён к многим документам, используйте обработку для массового удаления. Пример запроса для поиска таких файлов:

ВЫБРАТЬ

ХранилищеФайлов.Ссылка КАК Документ,

ХранилищеФайлов.ИмяФайла КАК ИмяФайла

ИЗ

Документ.ХранилищеФайлов КАК ХранилищеФайлов

ГДЕ

ХранилищеФайлов.ИмяФайла = "имя_файла.pdf"

⚠️ Внимание: Удаление файлов из хранилища не освобождает место на диске сразу — использует механизм "мягкого удаления". Для физической очистки выполните Тестирование и исправление с опцией Реструктуризация таблиц.

Через конфигуратор|Ручное удаление через Проводник|Программно (встроенный язык)|Удаление через документы|Не удаляю файлы самостоятельно-->

5. Ошибки при удалении файлов и их решения

Распространённые ошибки и способы их устранения:

Ошибка Причина Решение
Файл используется другим процессом Файл заблокирован сессией или антивирусом. Закройте все сессии, отключите антивирус на время удаления.
Отказано в доступе Недостаточно прав на папку или файл. Запустите от имени администратора или измените права на папку.
Не удалось найти указанный файл Файл перемещён или удалён, но ссылка осталась в метаданных. Обновите конфигурацию (Конфигурация → Обновить конфигурацию базы данных).
Ошибка блокировки данных Файл заблокирован на уровне СУБД (для клиент-серверного варианта). Выполните UNLOCK TABLES в SQL или перезапустите сервер .

Если ошибка повторяется, проверьте:

  • 🔧 Настройки антивируса (исключите папки из сканирования).
  • 🔧 Права доступа к папке (для сетевых баз — права на сервере).
  • 🔧 Логи (%APPDATA%\1C\1Cv8\log\) на предмет блокировок.
💡

Самая частая причина ошибок при удалении — открытые сессии или фоновые процессы . Всегда проверяйте активные соединения через Администрирование → Активные пользователи.

6. Удаление временных и кэш-файлов 1С

Временные файлы (.tmp, .cdx, .log) накапливаются в процессе работы и могут занимать гигабайты пространства. Их можно безопасно удалять, но с осторожностью — некоторые файлы могут быть нужны для восстановления сессии.

Как очистить кэш:

  1. Закройте все окна .
  2. Удалите содержимое папок:
    %APPDATA%\1C\1Cv8\
    

    %LOCALAPPDATA%\1C\1Cv8\

  3. Для клиент-серверного варианта очистите кэш на сервере (папка 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

Для опытных администраторов удобнее использовать скрипты. Ниже — примеры команд для массового удаления файлов .

Через командную строку (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. Откройте конфигуратор → Администрирование → Активные пользователи.
  2. Завершите все сессии (кнопка Завершить работу).
  3. Если файл всё ещё заблокирован, завершите процессы 1cv8.exe и rphost.exe через Диспетчер задач.

Для принудительного удаления используйте утилиту Process Explorer (из набора Sysinternals), чтобы найти и закрыть процесс, блокирующий файл.

Что будет, если удалить файл .DT из папки базы?

Файл .DT содержит данные таблиц базы. Его удаление приведёт к:

  • Потере части данных (если файл относился к конкретной таблице).
  • Ошибкам при открытии базы ("Файл базы данных повреждён").
  • Необходимости восстановления из резервной копии.

Если файл повреждён, вместо удаления выполните Тестирование и исправление с опцией Восстановление структуры таблиц.

Как очистить папку Temp от файлов 1С?

Файлы в %TEMP% (обычно C:\Users\ИмяПользователя\AppData\Local\Temp\) можно удалять без риска для базы. Они создаются для временных операций (печать, экспорт, обновления).

Способы очистки:

  • Ручная очистка: удалите все файлы с маской 1C*.tmp.
  • Автоматическая: добавьте в планировщик задач команду del /q /f "%TEMP%\1C*.*".

Нужно ли перезапускать сервер 1С после удаления файлов?

Перезапуск сервера 1С:Предприятие (ragent и rphost) требуется в следующих случаях:

  • Если удалялись файлы, заблокированные серверными процессами.
  • После очистки кэша на сервере (папка SRV1CV8\).
  • Если вносились изменения в файлы конфигурации (.cf, .cfu).

Для файловых баз перезапуск не обязателен, но рекомендуется закрыть все клиентские сессии.