К статье
Практический материал

Администрирование · 10 мин

Как удалить файл в 1С Предприятие

Как удалить файл в 1С Предприятие: присоединённые файлы, временные файлы, кэш и файлы через встроенный язык. Пошаговые инструкции, код и типичные ошибки.

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

Каждый из этих сценариев решается своим способом, и ошибка в выборе метода может привести к потере данных: например, удаление файла напрямую из каталога хранения присоединённых файлов оставит в базе «битые» ссылки, а очистка не той папки кэша заставит заново настраивать клиентское приложение.

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

Определите, какой именно файл нужно удалить

Прежде чем что-то удалять, важно понять, с каким типом файла вы работаете. В 1С условно выделяют четыре категории: присоединённые файлы (хранятся в базе или в томах на диске и связаны с объектами), файлы выгрузки и обмена (созданные самим пользователем), временные файлы и кэш платформы, а также служебные файлы информационной базы.

Признак присоединённого файла — он виден в карточке документа, номенклатуры или контрагента на вкладке или в подменю «Файлы». Временные файлы и кэш пользователь в интерфейсе не видит, но их наличие проявляется косвенно: тормозами при запуске, ошибками «Ошибка формата потока», сообщениями о нехватке места на диске.

Маршрут решения

Как выбрать действие

Файл прикреплён к документу или справочнику и виден в карточке объектаУдаляйте через интерфейс 1С: кнопка удаления в списке присоединённых файлов
Файл лежит в папке на диске и создан выгрузкой или вручнуюУдаляйте обычными средствами Windows — база его не контролирует
1С тормозит, появляются ошибки формата потока или нехватка местаЧистите кэш и временные каталоги пользователя
Удаление нужно выполнять автоматически по расписанию или из кодаИспользуйте метод УдалитьФайлы() встроенного языка

Удаление присоединённого файла в пользовательском режиме

Это самый частый сценарий: к счёту, реализации или карточке товара прикреплён неверный скан, и его нужно убрать. Откройте объект, к которому привязан файл, и найдите список присоединённых файлов — обычно это команда «Файлы» в панели навигации, отдельная вкладка или гиперссылка со скрепкой в зависимости от конфигурации.

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

Порядок действий
  1. 1
    Откройте документ или элемент справочника, к которому привязан файл
  2. 2
    Перейдите в список присоединённых файлов (команда «Файлы», скрепка или вкладка)
  3. 3
    Выделите файл и нажмите Delete или кнопку удаления
  4. 4
    Подтвердите пометку на удаление
  5. 5
    Для окончательного удаления запустите «Удаление помеченных объектов» (раздел «Администрирование»)
  6. 6
    Проверьте, что файл исчез из списка и не открывается

Чтобы физически удалить помеченные файлы и освободить место, используйте штатную обработку «Удаление помеченных объектов» (в типовых конфигурациях: «Администрирование» → «Обслуживание» → «Удаление помеченных объектов»). Запускайте её в монопольном режиме или согласуйте время с пользователями — при контроле ссылочной целостности обработка может занять заметное время на большой базе.

Массовое удаление и очистка томов хранения файлов

Когда файлов много — например, нужно очистить вложения старых писем или удалить дубли сканов за несколько лет, — ручное удаление непрактично. В конфигурациях с БСП есть обработка «Работа с файлами» и отчёт «Проверка целостности тома», которые помогают найти лишние и «потерянные» файлы.

Если конфигурация хранит присоединённые файлы в томах на диске (настройка в разделе «Администрирование» → «Работа с файлами» → «Тома хранения файлов»), важно понимать: удалять файлы напрямую из папки тома через Проводник Windows нельзя. В базе останутся ссылки на несуществующие файлы, и при попытке открыть такой файл пользователи получат ошибку. Удаление всегда выполняйте из интерфейса 1С, чтобы платформа корректно обновила и записи в базе, и содержимое тома.

Удаление временных файлов и очистка кэша

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

Кэш находится в папках вида %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 — там лежат каталоги с длинными именами-идентификаторами баз. Временные файлы платформа пишет в каталог, заданный системной переменной TEMP. Перед очисткой полностью закройте все сеансы 1С, иначе часть файлов будет заблокирована, а активные сеансы могут завершиться с ошибкой.

Удалять нужно именно содержимое папок кэша (каталоги с GUID-именами), а не сами папки 1cv8 целиком: в них могут лежать служебные настройки, например список баз файла ibases.v8i. После очистки первый запуск базы будет медленнее обычного — платформа заново построит кэш. Это нормально.

Контрольные точки

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

Запуск базы после очистки кэша
Норма

База открывается, первый запуск чуть дольше обычного

Тревожный признак

Ошибка входа повторяется — проблема не в кэше, нужна диагностика базы

Место на диске
Норма

Объём свободного места заметно вырос

Тревожный признак

Объём не изменился — удалена не та папка или файлы заблокированы открытым сеансом

Присоединённые файлы после удаления
Норма

Файл не отображается в списке и не открывается

Тревожный признак

Файл виден, но не открывается — удалён физически, но запись в базе осталась

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

Разработчику или администратору, дорабатывающему конфигурацию, удаление файлов выполняется методом УдалитьФайлы(). Метод принимает либо полный путь к одному файлу, либо каталог и маску. Для работы с файлами также используются объекты Файл (проверка существования и атрибутов) и НайтиФайлы() (поиск по маске перед удалением).

bsl
// Проверка и удаление одного файла
Файл = Новый Файл("C:\Обмен\выгрузка_old.xml");
Если Файл.Существует() Тогда
    УдалитьФайлы(Файл.ПолноеИмя);
КонецЕсли;

// Удаление всех файлов по маске в каталоге
УдалитьФайлы("C:\Обмен\", "*.tmp");

Несколько важных ограничений. В клиент-серверном режиме код на сервере работает с файловой системой сервера, а не компьютера пользователя — путь «C:\» в серверном вызове указывает на диск сервера. В безопасном режиме и в модели сервиса (SaaS) операции с файловой системой ограничены или запрещены. При работе в веб-клиенте прямой доступ к локальным файлам требует расширения работы с файлами и подтверждения пользователя.

Хорошая практика — перед удалением проверять существование файла и оборачивать операцию в попытку/исключение с записью в журнал регистрации: заблокированный другим процессом файл вызовет исключение, и без обработки оборвётся вся процедура, например регламентное задание обмена.

Типичные ошибки и ограничения

Большинство проблем при удалении файлов в 1С связано не с самим действием, а с нарушением связей между базой и файловой системой либо с правами доступа. Ниже — то, что встречается чаще всего.

Типичные ошибки
01
Удаление файлов из тома хранения через Проводник — в базе остаются битые ссылки, пользователи получают ошибку при открытии
02
Очистка кэша при открытых сеансах 1С — часть файлов не удаляется, активные сеансы падают с ошибкой
03
Удаление всей папки 1cv8 вместе со списком баз — приходится заново добавлять базы в список
04
Программное удаление без проверки существования файла — исключение обрывает регламентное задание
05
Удаление помеченных объектов без контроля ссылочной целостности — файл удалён, а ссылки на него остались в документах
06
Отсутствие резервной копии перед массовой чисткой вложений — восстановить ошибочно удалённые сканы невозможно

Отдельно упомянем права: удалить присоединённый файл может пользователь, у которого есть право изменения родительского объекта и самих файлов (в типовых — роли «Добавление изменение файлов» и «Работа с файлами»). Если кнопка удаления недоступна, проверьте права у администратора, а не ищите обходные пути.

FAQ

Удалил присоединённый файл по ошибке — можно ли восстановить?

Если файл только помечен на удаление, снимите пометку: откройте список файлов с отображением помеченных и нажмите «Снять пометку». Если обработка «Удаление помеченных объектов» уже выполнена, восстановление возможно только из резервной копии базы.

Почему после удаления файлов размер базы не уменьшился?

Файловая база (1Cv8.1CD) и базы на SQL-сервере не уменьшаются автоматически — освободившееся место остаётся зарезервированным внутри файла. Для файловой базы выполните «Тестирование и исправление» с реструктуризацией или сожмите базу средствами СУБД для клиент-серверного варианта.

Можно ли удалить файл, если он открыт у другого пользователя?

Присоединённый файл, открытый на просмотр, обычно удаляется без проблем — 1С работает с копией. А вот файл на диске, заблокированный другим процессом, удалить не получится: Windows вернёт ошибку доступа. Закройте файл у пользователя или дождитесь завершения сеанса.

Как автоматически очищать папку обмена от старых файлов?

Создайте регламентное задание, которое через НайтиФайлы() отбирает файлы старше заданного срока (сравнение по дате изменения) и удаляет их методом УдалитьФайлы(). Обязательно добавьте обработку исключений и запись результатов в журнал регистрации.

Опасно ли чистить кэш 1С?

Нет, при соблюдении двух условий: все сеансы закрыты и удаляются только каталоги кэша с GUID-именами, а не служебные файлы списка баз. Кэш — это временная копия метаданных, платформа пересоздаст её при следующем запуске.

Чем отличается пометка на удаление от физического удаления?

Пометка — это обратимый признак в базе: объект скрывается из рабочих списков, но данные остаются. Физическое удаление выполняет обработка «Удаление помеченных объектов» с контролем ссылочной целостности, после неё восстановление возможно только из копии.

Итог

Что важно запомнить

Способ удаления файла в 1С зависит от его типа: присоединённые файлы удаляются только через интерфейс программы, кэш и временные файлы — очисткой каталогов профиля при закрытых сеансах, программное удаление — методом УдалитьФайлы() с проверками. Никогда не трогайте файлы томов хранения и папки базы напрямую и делайте резервную копию перед массовыми операциями.