Как убрать вложения из документов и справочников 1С и вернуть место в базе

· 9 мин

Содержание

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

Типичная ситуация: база разрослась до 40 ГБ, бэкап идёт два часа, а виноваты сканы договоров и счетов, которые годами цепляли к каждому документу. Ниже — как убрать один файл, как почистить сразу сотни и почему размер базы после этого может не измениться.

Где 1С хранит присоединённые файлы

Скрепка в документе — это не ссылка на файл на вашем компьютере. Программа кладёт копию внутрь самой системы. Для каждого вида объектов есть свой служебный справочник вида «<Имя объекта> Присоединённые файлы»: у документов поступления свой, у контрагентов свой, у договоров свой.

Физически файл может лежать в двух местах:

  • 🗄 В информационной базе. Двоичные данные хранятся прямо в файле 1Cv8.1CD или в таблицах SQL. Так по умолчанию в небольших базах.
  • 📁 В томах на диске. В базе остаётся только запись о файле, а сам файл лежит в сетевой папке на сервере. Такой вариант включают на больших базах, чтобы не раздувать данные.

От этого зависит всё остальное: где искать «хвосты», как чистить и что освободит место.

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

Как удалить прикреплённый файл из документа

Самый частый сценарий — убрать неверный скан у одного документа.

  1. Откройте документ (или карточку контрагента, договора, номенклатуры).
  2. Нажмите значок скрепки или команду «Присоединённые файлы». В некоторых формах она спрятана в меню «Ещё» или в панели навигации слева.
  3. В списке файлов выделите нужную строку.
  4. Нажмите «Удалить» (или клавишу Del). Файл получит пометку удаления и пропадёт из обычного списка.
  5. Закройте окно. Если документ был проведён, перепроводить его не нужно: файл на проводки не влияет.

Пометка на удаление — это ещё не удаление. Пока вы не запустили обработку удаления помеченных, файл физически лежит в базе и занимает место.

Как убрать пометку и вернуть файл

Передумали? В списке файлов включите отображение удалённых (кнопка «Показывать удалённые» или флажок в меню «Ещё») и снимите пометку: правая кнопка → «Снять пометку удаления». Пока объект не удалён окончательно, он восстанавливается без потерь.

Заменить, а не удалять

Если нужно просто подставить правильный скан, не удаляйте старый: откройте файл → «Обновить из файла на диске». История версий при этом сохранится, если включено версионирование файлов.

Окончательное удаление: помеченные файлы и ссылки

Окончательно файл убирает штатная обработка.

  1. Откройте Администрирование → Обслуживание → Удаление помеченных объектов. В некоторых конфигурациях раздел называется Операции → Удаление помеченных объектов. Если не нашли — введите название в строку поиска по меню.
  2. Выберите режим «Автоматическое удаление» и нажмите «Удалить».
  3. Дождитесь окончания. Программа сама проверит ссылки и покажет, что не удалилось.

Чаще всего «не удалилось» означает, что на объект кто-то ссылается. Для присоединённых файлов это бывает редко: ссылка на файл обычно только одна, из владельца. Но если владелец сам остался в базе помеченным (например, документ, к которому файл прикреплён), удалять нужно в правильном порядке: сначала владельцы, потом файлы. Автоматический режим делает это сам.

Удаление помеченных объектов нужно запускать в монопольном режиме или когда в базе почти никто не работает. Если сеанс открыт у 15 человек, процесс замедляется и часть объектов пропускается.

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

Файлы в томах хранения: что остаётся на диске

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

Где искать:

  • в разделе настроек администрирования найдите «Очистка ненужных файлов» или «Регламентные и фоновые задания», название задания содержит слова «очистка» и «файлы»;
  • у задания можно настроить, как часто оно запускается, и ограничить срок хранения удалённых версий;
  • если в томе включено ограничение по размеру, программа сама переведёт новые файлы в соседний том.

Что делать с «сиротами» вручную:

  1. Откройте том хранения и запомните путь к его папке на сервере.
  2. Запустите штатную проверку целостности файлов (в разделе «Тома хранения файлов» есть команды проверки и сверки).
  3. Файлы, на которые нет записей в базе, программа предложит удалить или найти.

Руками чистить папки на диске не стоит. Один неверный клик, и у документов останутся записи без файлов, а пользователи получат ошибку «Файл не найден» при открытии.

Массовое удаление: как убрать сотни вложений за раз

Удалять руками по одному — не вариант, когда нужно очистить прошлые годы. Есть три способа, от безопасного к радикальному.

СпособКогда подходитРиск
Фильтр в списке присоединённых файлов и групповое выделениеНужно убрать файлы одного типа или периодаНизкий
Штатная очистка ненужных файловНужно регулярно подчищать удалённые версии и «сирот»Низкий
Внешняя обработка или запрос в консолиНужна выборка по размеру, расширению, датеСредний: можно удалить лишнее

Через список присоединённых файлов

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

Дальше:

  1. Включите отбор по дате изменения, расширению или владельцу.
  2. Выделите строки (Ctrl + A выделяет всё в видимом списке).
  3. Нажмите «Пометить на удаление».
  4. Запустите «Удаление помеченных объектов».

Если нужны самые тяжёлые файлы

Чтобы найти, что занимает место, отсортируйте список по колонке «Размер», если она включена в настройке формы (Ещё → Изменить форму). Типичные пожиратели места:

  • 🖼 сканы в формате BMP или TIFF вместо PDF и JPG;
  • 🎞 видеоролики, которые кто-то прикрепил к задаче;
  • 📦 архивы выгрузок, забытые в карточках договоров;
  • 📄 десятки версий одного и того же файла.

Файл на 25 МБ в 200 документах — это 5 ГБ. Одно такое решение «положить скан в 600 dpi» объясняет раздутую базу лучше любых догадок.

Запросом в консоли

Запрос работает аккуратно, только если вы его понимаете. Типовой вариант для выборки крупных файлов по одному справочнику:

ВЫБРАТЬ ПЕРВЫЕ 100
    Файлы.Ссылка,
    Файлы.Наименование,
    Файлы.Размер
ИЗ
    Справочник.<ИмяСправочникаПрисоединенныхФайлов> КАК Файлы
ГДЕ
    Файлы.Размер > 10485760
УПОРЯДОЧИТЬ ПО
    Файлы.Размер УБЫВ

Подставьте имя вашего справочника вместо <ИмяСправочникаПрисоединенныхФайлов>: его видно в конфигураторе или в консоли запросов при выборе таблиц. Число 10485760 — это 10 МБ в байтах. Запрос только читает, ничего не меняет, так что его безопасно запускать на рабочей базе.

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

Веб-клиент и тонкий клиент: что меняется

Порядок действий одинаков, отличается только поведение интерфейса.

  • 🌐 Веб-клиент. Команда «Присоединённые файлы» и кнопка «Удалить» те же. Добавление и открытие файлов работает через расширение браузера, а удаление — нет: оно идёт на сервере. Если кнопки нет, проверьте права, а не расширение.
  • 🖥 Тонкий клиент. Все диалоги открываются как обычные окна. При удалении сотен файлов интерфейс может подвиснуть: не закрывайте окно, процесс идёт на сервере.
  • 📱 Мобильное приложение. Файлы удаляются из карточки объекта, но массовой очистки там нет.

Если кнопки «Удалить» не видно

Три причины, от частой к редкой:

  1. У роли нет права на удаление присоединённых файлов, оно настраивается отдельно от права на сам документ. Решает администратор в профиле группы доступа.
  2. Документ в закрытом периоде или файл захвачен на редактирование другим пользователем (на файле стоит значок замка). Освободите его через «Закончить редактирование».
  3. Включено ограничение на удаление чужих файлов: удалять может только тот, кто добавил.
Диагностика: выберите симптом

База не уменьшилась: сжатие после очистки

Самая частая жалоба после удаления: «удалили 6 ГБ вложений, а 1Cv8.1CD как был 38 ГБ, так и остался». Это не ошибка, файл базы сам не сжимается. Освобождённые страницы остаются внутри файла и переиспользуются новыми данными.

Как вернуть место зависит от типа базы.

Тип базыЧто сделать
ФайловаяВыгрузить информационную базу в .dt и загрузить в чистую базу, либо выполнить в конфигураторе тестирование и исправление со сжатием таблиц
Клиент-серверная, MS SQLСжать файлы данных средствами SQL Server, после проверки, что есть свободное место под операцию
Клиент-серверная, PostgreSQLВыполнить VACUUM FULL для самых раздутых таблиц в окне обслуживания
Файлы в томахРазмер базы не изменится, место освобождается на диске тома после очистки

Рабочий порядок действий для файловой базы:

  1. Сделайте копию каталога базы, пока никто не работает.
  2. В конфигураторе: Администрирование → Выгрузить информационную базу.
  3. Создайте новую пустую базу и загрузите туда .dt: Администрирование → Загрузить информационную базу.
  4. Сравните размер каталога: если вложений было много, выигрыш в десятки процентов — обычное дело.

Для клиент-серверных баз сжатие делает администратор СУБД. Не запускайте его в рабочее время: VACUUM FULL блокирует таблицу на всё время работы.

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

Лучше настроить правила один раз, чем раз в год чистить базу.

  • 🔒 Ограничьте максимальный размер файла в настройках работы с файлами (разумный предел для сканов — 10–20 МБ).
  • 🚫 Запретите ненужные расширения: видео и архивы в учётной базе не нужны.
  • 📁 Вынесите хранение в тома, если база больше 10–15 ГБ.
  • 🧹 Включите регламентную очистку и проверьте, что она реально отрабатывает.
  • 📝 Договоритесь, в каком формате прикреплять сканы: PDF, 200 dpi, чёрно-белый.
Что нужно сделать с файлами?

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

Можно ли восстановить файл после окончательного удаления?
Только из резервной копии базы. Пометку удаления снять можно, а удалённый окончательно объект возвращается лишь восстановлением копии.
Влияет ли удаление присоединённых файлов на проведённые документы?
Нет. Файлы не участвуют в проводках и регистрах. Документ остаётся проведённым, меняется только список вложений.
Почему после удаления помеченных объектов программа пишет, что часть не удалена?
На такие объекты есть ссылки из других данных или они захвачены в редактирование. В окне результата открывается список с причинами: сначала устраните их, потом повторите.
Как узнать, сколько места занимают вложения?
Отсортируйте справочник присоединённых файлов по размеру или выполните запрос с суммой по полю размера. Для томов достаточно посмотреть размер папки на диске.
Можно ли удалить сразу все вложения у одного контрагента?
Да. Откройте список присоединённых файлов справочника контрагентов, отберите по владельцу, выделите всё и пометьте на удаление. Затем удалите помеченные.
Нужно ли останавливать работу пользователей?
Для одного файла нет. Для массовой очистки лучше работать вне рабочего времени, чтобы не получить блокировки и пропущенные объекты.