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

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

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

Разбираем, где 1С хранит присоединенные файлы: в базе данных или в томах на диске. Как узнать текущий режим, настроить тома и не потерять данные.

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

Ответ зависит от настройки конкретной базы: 1С умеет хранить присоединенные файлы двумя способами — внутри самой информационной базы (в таблицах СУБД или файле 1Cv8.1CD) либо в специальных каталогах на диске, которые называются «тома хранения файлов». При этом в базе всегда остается служебная запись о файле, а различается только место хранения его двоичного содержимого.

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

Как 1С организует хранение присоединенных файлов

Механизм присоединенных файлов реализован в типовых конфигурациях (Управление торговлей, ERP, Бухгалтерия, ЗУП и других на базе БСП) единообразно. Когда пользователь прикрепляет файл к документу или элементу справочника, программа создает запись в справочнике присоединенных файлов — например, «ПриходныйКассовыйОрдерПрисоединенныеФайлы» или «НоменклатураПрисоединенныеФайлы». В этой записи хранятся имя файла, расширение, размер, автор, дата и признак того, где лежит само содержимое.

Само двоичное содержимое файла при этом попадает в одно из двух мест:

  • В информационную базу — содержимое сохраняется в служебной таблице (обычно это хранилище значений внутри базы). Для файлового варианта это рост файла 1Cv8.1CD, для клиент-серверного — рост таблиц в MS SQL, PostgreSQL или другой СУБД.
  • В тома хранения файлов — содержимое записывается в файл на диске внутри каталога-тома, а в базе остается только относительный путь к нему.

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

Как узнать, где хранятся файлы в вашей базе

Самый быстрый способ — открыть настройки работы с файлами. В типовых конфигурациях путь примерно такой: раздел «Администрирование» → «Общие настройки» → «Настройки работы с файлами». Если флаг «Хранить файлы в томах на диске» установлен, значит, действует дисковое хранение; если снят — файлы лежат внутри базы.

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

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

Как определить режим хранения
  1. 1
    Откройте «Администрирование» → «Настройки работы с файлами»
  2. 2
    Проверьте флаг «Хранить файлы в томах на диске»
  3. 3
    Откройте список «Тома хранения файлов» и запишите пути к томам
  4. 4
    Откройте карточку любого присоединенного файла и посмотрите реквизиты «Том» и «Путь к файлу»
  5. 5
    Сопоставьте: заполненный том = файл на диске, пустой том = файл внутри базы

Файлы внутри информационной базы

При хранении в базе содержимое файлов физически находится там же, где и все остальные данные. В файловом варианте — внутри файла 1Cv8.1CD в каталоге базы. Отдельными файлами вложения на диске не существуют: извлечь их можно только через интерфейс 1С («Сохранить как») или программно.

В клиент-серверном варианте содержимое попадает в таблицы СУБД. Конкретные имена таблиц зависят от конфигурации и версии платформы; искать вложения напрямую SQL-запросами не рекомендуется — структура служебных таблиц не предназначена для ручной работы, и прямая модификация может повредить данные.

Главные следствия этого режима: база быстро растет (сканы и фото могут занимать гигабайты), резервные копии становятся тяжелыми и долгими, а операции тестирования и исправления, обновления и загрузки/выгрузки в DT замедляются. Зато резервная копия базы автоматически включает все вложения — это упрощает защиту данных.

Тома хранения файлов на диске

Том — это обычный каталог на диске сервера или сетевом ресурсе, зарегистрированный в справочнике «Тома хранения файлов». Для каждого тома задается полный путь, причем в клиент-серверном режиме можно указать отдельные пути для Windows и Linux — платформа выберет нужный в зависимости от ОС сервера.

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

Если томов несколько, новые файлы распределяются по ним (в типовых решениях — в первый доступный по правилам группы томов). Это позволяет разносить вложения по разным дискам и контролировать рост каждого массива.

Как настроить тома и перенести файлы из базы

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

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

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

Размещайте тома на отдельном дисковом массиве, а не на системном диске сервера. Переполнение системного раздела вложениями может остановить не только 1С, но и операционную систему сервера.
ПЗ
Практическое замечание

Резервное копирование и типичные ошибки

Главная ловушка дискового хранения — резервные копии. Выгрузка базы в DT или бэкап средствами СУБД не включает содержимое томов. Если копировать только базу, при восстановлении на новом сервере вы получите записи о файлах, но сами вложения будут потеряны. Тома нужно включать в план резервного копирования отдельно и желательно синхронно с копией базы.

Вторая типичная проблема — сетевой путь к тому. Если том расположен на сетевом ресурсе, который периодически недоступен, пользователи получат ошибки при открытии и сохранении вложений. Для серверного режима предпочтительны локальные диски сервера 1С с дальнейшим бэкапом, либо гарантированно доступное сетевое хранилище.

Типичные ошибки
01
Бэкап только базы при хранении в томах — вложения теряются при восстановлении на новом сервере
02
Ручное удаление «лишних» файлов из тома через проводник — вложения становятся недоступны из 1С
03
Включение томов без переноса старых файлов — администратор считает, что база похудела, но вложения по-прежнему внутри нее
04
Том на сетевом диске без контроля доступности — массовые ошибки у пользователей при отключении ресурса
05
Отсутствие прав у учетной записи сервера 1С на каталог тома — файлы не сохраняются с ошибкой записи

Проверка результата и контрольные точки

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

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

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

Открытие старых вложений
Норма

Файлы, загруженные до смены режима, открываются из карточек объектов

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

Ошибка «файл не найден» или пустое содержимое

Сохранение нового файла
Норма

Новое вложение сохраняется, в карточке файла заполнен том и путь

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

Ошибка записи, поле тома пустое при включенной настройке

Свободное место на диске тома
Норма

Запас места с учетом темпов роста вложений

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

Диск заполнен почти полностью

Резервная копия
Норма

Бэкап включает и базу, и каталоги томов

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

Копируется только база

Часто задаваемые вопросы

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

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

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

Физический размер файла 1Cv8.1CD или таблиц СУБД не сокращается автоматически — освободившееся место остается зарезервированным внутри. Для файловой базы выполните тестирование и исправление с сжатием таблиц, для клиент-серверной — штатные процедуры сжатия средствами вашей СУБД.

Что будет, если удалить том из справочника?

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

Где хранятся файлы в базе на SQL-сервере?

В таблицах служебных справочников присоединенных файлов и связанных хранилищ значений внутри той же базы данных. Искать и изменять их прямыми SQL-запросами не следует — работайте через интерфейс 1С или встроенный язык.

Нужно ли копировать тома при переносе базы на другой сервер?

Да, обязательно. Переносится связка: база (DT или бэкап СУБД) плюс полное содержимое всех каталогов томов. После развертывания проверьте и при необходимости поправьте пути к томам в справочнике, если структура дисков нового сервера отличается.

Какой режим хранения выбрать для небольшой базы?

Если вложений мало (сотни файлов, единицы гигабайт) и база файловая, хранение внутри базы проще: один файл — одна резервная копия. Переходить на тома имеет смысл, когда вложения заметно раздувают базу, замедляют бэкапы или мешают обменам.

Итог

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

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