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

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

Где лучше хранить файлы в 1С

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

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

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

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

Какие варианты хранения файлов есть в 1С

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

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

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

Сравнение: хранение в базе против хранения в томах

Выбор удобно оценивать по конкретным критериям, а не по абстрактному «удобнее/неудобнее». Ниже — сопоставление по параметрам, которые реально влияют на эксплуатацию.

КритерийХранение в базеХранение в томах на диске
Рост размера базыБаза растёт на полный объём файловРастут только ссылки, база компактна
Резервное копированиеФайлы входят в бэкап базы автоматическиТома нужно копировать отдельно, синхронно с базой
Скорость выгрузки DTСильно замедляется при большом объёмеПрактически не зависит от объёма файлов
Целостность данныхФайл и метаданные в одном хранилищеВозможны «битые» ссылки при потере тома
Требования к инфраструктуреНичего дополнительно не нужноНужен каталог с правами доступа и место на диске
Ограничения файлового режимаЕсть ограничения на размер таблиц в файловой ИБПозволяет обойти ограничение по размеру таблиц

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

Сравнение вариантов

Хранение в информационной базе

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

Хранение в томах на диске

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

Смешанный режим

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

Когда хранить файлы в информационной базе

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

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

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

Когда выносить файлы в тома на диске

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

Признаки того, что пора переходить на тома: размер файловой базы или таблиц с двоичными данными растёт опережающими темпами; выгрузка DT и тестирование-исправление занимают неоправданно много времени; регламентные операции СУБД (реиндексация, обновление статистики) замедляются из-за «тяжёлых» таблиц.

Размер базы растёт быстрее числа документовВероятно, растут таблицы с двоичными данными файлов

Сравните размер базы за несколько месяцев и объём добавленных файлов

Выгрузка DT занимает часыЗначительная часть базы — двоичные данные

Проверьте размер получаемого файла выгрузки

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

Оцените месячный прирост вложений и спланируйте переход на тома

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

Как настроить тома хранения файлов

Настройка выполняется в режиме 1С:Предприятие и не требует доработки конфигурации. Порядок в типовых решениях на БСП примерно одинаков; названия пунктов меню могут немного отличаться между конфигурациями.

Порядок действий
  1. 1
    Создайте каталог на диске (локальный или сетевой) и выдайте права на чтение и запись учётной записи, под которой работает сервер 1С или пользователи файлового режима
  2. 2
    В 1С откройте настройки работы с файлами (раздел администрирования, подраздел «Настройки работы с файлами»)
  3. 3
    Включите признак «Хранить файлы в томах на диске»
  4. 4
    Откройте список томов и создайте новый том, указав полный путь к каталогу (для Windows — UNC-путь для сетевого ресурса)
  5. 5
    Укажите максимальный размер тома, если нужно ограничить его заполнение — при достижении лимита файлы начнут писаться в следующий том
  6. 6
    Сохраните настройки и прикрепите тестовый файл к любому объекту
  7. 7
    Проверьте, что файл появился в каталоге тома и открывается из карточки объекта

Для сетевых томов используйте UNC-пути вида \\server\share, а не подключённые сетевые диски (Z:\ и т.п.): буквы дисков зависят от сессии пользователя, а сервер 1С их может просто не видеть.

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

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

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

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

После переноса проверьте результат: откройте несколько ранее прикреплённых файлов из карточек объектов, убедитесь, что они читаются, и оцените новый размер базы. Имейте в виду: в файловом режиме физическое уменьшение файла 1Cv8.1CD происходит не сразу — может потребоваться тестирование и исправление с сжатием таблиц.

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

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

Открытие прикреплённых файлов
Норма

Файлы открываются из карточек объектов без ошибок

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

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

Содержимое каталога тома
Норма

В каталоге появились подкаталоги с файлами, размер растёт

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

Каталог пуст при включённом хранении в томах

Размер информационной базы
Норма

После переноса и сжатия база заметно уменьшилась

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

Размер не изменился — перенос не выполнен или не выполнено сжатие

Доступность тома для всех пользователей
Норма

Файлы открываются с любого рабочего места

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

У части пользователей ошибки доступа — проверять путь и права

Резервное копирование при хранении в томах

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

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

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

Типичные ошибки
01
Указать том на локальном диске одного компьютера в многопользовательском режиме — остальные пользователи не смогут открыть файлы
02
Использовать букву сетевого диска вместо UNC-пути — сервер 1С или другие сессии не видят такой путь
03
Включить тома и забыть добавить их в план резервного копирования — при восстановлении базы вложения будут потеряны
04
Перенести файлы в тома и не выполнить сжатие базы — размер файловой ИБ визуально не уменьшился, и делается вывод, что перенос не сработал
05
Удалить или переименовать каталог тома вручную — в базе остаются ссылки на несуществующие файлы
06
Не ограничить размер тома и не следить за свободным местом — диск переполняется, запись файлов останавливается

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

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

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

Как выбрать вариант под свой сценарий

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

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

Файлов мало, объём вложений не превышает нескольких гигабайт и растёт медленноОставьте хранение в информационной базе — это проще и безопаснее для бэкапов
Ежедневно сканируются документы, объём вложений измеряется десятками гигабайтНастройте тома на диске и включите их в план резервного копирования
Файловая база приближается к ограничениям по размеру таблицСрочно перенесите файлы в тома и рассмотрите переход на клиент-серверный режим
База часто переносится между компьютерами или выгружается в DTПредпочтительнее хранение в базе — файлы переедут вместе с выгрузкой
Нужно разделить типы вложений (сканы, изображения, архивы)Создайте несколько томов и распределите файлы по ним

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

Итог

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

Небольшие объёмы файлов надёжнее хранить в информационной базе — они автоматически попадают в бэкап. Большие архивы выносите в тома на диске, но обязательно включайте тома в резервное копирование, используйте UNC-пути и не трогайте содержимое томов вручную.

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

Можно ли хранить часть файлов в базе, а часть в томах?

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

Что будет, если удалить папку тома с диска?

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

Уменьшится ли размер файловой базы после переноса файлов в тома?

Не сразу. Данные в файле 1Cv8.1CD помечаются как удалённые, но физически файл не сжимается автоматически. Чтобы база реально уменьшилась, выполните тестирование и исправление с включённым сжатием таблиц информационной базы, предварительно сделав резервную копию.

Какой путь указывать для тома в клиент-серверном режиме?

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

Есть ли ограничение на размер одного прикрепляемого файла?

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

Нужно ли что-то менять при переходе с файлового режима на клиент-серверный?

Файлы, хранящиеся в базе, мигрируют вместе с ней без дополнительных действий. А вот тома нужно проверить: путь, который был доступен с рабочих станций, может оказаться недоступен с сервера 1С. После миграции откройте несколько вложений и при необходимости скорректируйте пути к томам на UNC-варианты с нужными правами.