Администрирование · 14 мин
Где лучше хранить файлы в 1С
Разбираем, где хранить файлы в 1С: в информационной базе, в томах на диске или в файловом архиве. Плюсы, минусы, настройка и типичные ошибки.
Прикреплённые файлы — сканы договоров, акты, изображения номенклатуры, печатные формы — есть почти в каждой базе 1С. Со временем их объём растёт, и вопрос хранения перестаёт быть теоретическим: от выбранного способа зависят скорость работы базы, размер резервных копий и удобство администрирования. В типовых конфигурациях на БСП (1С:Бухгалтерия, 1С:Управление торговлей, ERP, ЗУП) предусмотрено два основных варианта: хранение в самой информационной базе и хранение в томах на диске.
Оба подхода рабочие, но рассчитаны на разные сценарии. Небольшая база с сотнями файлов спокойно живёт с хранением внутри ИБ, а база с десятками гигабайт сканов требует выноса файлов на диск. Ошибка выбора проявляется не сразу: база медленно «распухает», бэкапы начинают занимать часы, а выгрузка в DT становится проблемой.
Ниже разобраны оба механизма, критерии выбора, порядок настройки томов, миграция файлов между хранилищами и типичные ошибки администраторов.
Какие варианты хранения файлов есть в 1С
В конфигурациях на базе Библиотеки стандартных подсистем подсистема «Работа с файлами» поддерживает два режима, которые задаются в настройках: «Хранить файлы в информационной базе» и «Хранить файлы в томах на диске». Первый режим обычно включён по умолчанию.
При хранении в базе двоичные данные файла записываются в служебные таблицы (регистры сведений с двоичными данными, например «ДвоичныеДанныеФайлов»). Файл физически находится внутри файла базы данных — в 1Cv8.1CD для файлового режима или в таблицах СУБД для клиент-серверного.
При хранении в томах файл записывается как обычный файл в каталог на диске (локальный или сетевой), а в базе остаётся только ссылка: путь к тому и относительный путь файла. Томов может быть несколько — например, отдельные тома для сканов договоров и для изображений товаров.
Сравнение: хранение в базе против хранения в томах
Выбор удобно оценивать по конкретным критериям, а не по абстрактному «удобнее/неудобнее». Ниже — сопоставление по параметрам, которые реально влияют на эксплуатацию.
| Критерий | Хранение в базе | Хранение в томах на диске |
|---|---|---|
| Рост размера базы | База растёт на полный объём файлов | Растут только ссылки, база компактна |
| Резервное копирование | Файлы входят в бэкап базы автоматически | Тома нужно копировать отдельно, синхронно с базой |
| Скорость выгрузки DT | Сильно замедляется при большом объёме | Практически не зависит от объёма файлов |
| Целостность данных | Файл и метаданные в одном хранилище | Возможны «битые» ссылки при потере тома |
| Требования к инфраструктуре | Ничего дополнительно не нужно | Нужен каталог с правами доступа и место на диске |
| Ограничения файлового режима | Есть ограничения на размер таблиц в файловой ИБ | Позволяет обойти ограничение по размеру таблиц |
Ключевой компромисс прост: база — это целостность и простота бэкапа, тома — это масштабируемость и скорость обслуживания. Дополнительный нюанс для файлового режима: у файловых информационных баз есть технические ограничения на размер отдельных таблиц, поэтому большие объёмы двоичных данных в файловой базе особенно нежелательны.
Сравнение вариантов
Подходит для небольшого числа файлов и файлового режима работы. Ограничение: база и бэкапы растут вместе с файлами, выгрузка DT тяжелеет.
Подходит для больших и быстро растущих архивов сканов и изображений. Ограничение: требуется отдельное резервное копирование томов и контроль доступности каталога.
Часть файлов остаётся в базе, новые пишутся в тома; возникает естественно при переходе. Ограничение: сложнее контролировать, где лежит конкретный файл.
Когда хранить файлы в информационной базе
Хранение в базе оправдано, когда прикреплённых файлов немного: счета-фактуры, редкие сканы договоров, подписи и печати для печатных форм. В этом случае вы получаете максимальную простоту: один файл базы (или одна база на СУБД) содержит всё, и любой штатный бэкап автоматически включает файлы.
Этот вариант удобен и для переноса базы между компьютерами или в облако: выгрузили DT — и файлы переехали вместе с данными. Для небольших организаций без выделенного администратора это часто единственный разумный выбор, потому что не требует сопровождения дополнительной инфраструктуры.
Ориентир для решения — динамика роста. Если за месяц добавляется десятки файлов суммарным объёмом в сотни мегабайт, база справится годами. Если ежедневно сканируются пачки документов и объём измеряется гигабайтами в месяц — планируйте переход на тома заранее, пока миграция ещё безболезненна.
Когда выносить файлы в тома на диске
Тома оправданы при большом объёме вложений: электронный документооборот со сканами, изображения номенклатуры в торговых базах, фото с мобильных устройств, хранение версий файлов. В этих сценариях хранение в базе приводит к тому, что основной объём базы занимают двоичные данные, а не учётные записи.
Признаки того, что пора переходить на тома: размер файловой базы или таблиц с двоичными данными растёт опережающими темпами; выгрузка DT и тестирование-исправление занимают неоправданно много времени; регламентные операции СУБД (реиндексация, обновление статистики) замедляются из-за «тяжёлых» таблиц.
Сравните размер базы за несколько месяцев и объём добавленных файлов
Проверьте размер получаемого файла выгрузки
Оцените месячный прирост вложений и спланируйте переход на тома
Для клиент-серверных баз тома размещают на сервере или сетевом ресурсе, доступном серверу 1С. Для файлового режима том должен быть доступен по одному и тому же пути со всех рабочих мест — иначе часть пользователей не сможет открыть вложения.
Как настроить тома хранения файлов
Настройка выполняется в режиме 1С:Предприятие и не требует доработки конфигурации. Порядок в типовых решениях на БСП примерно одинаков; названия пунктов меню могут немного отличаться между конфигурациями.
- 1Создайте каталог на диске (локальный или сетевой) и выдайте права на чтение и запись учётной записи, под которой работает сервер 1С или пользователи файлового режима
- 2В 1С откройте настройки работы с файлами (раздел администрирования, подраздел «Настройки работы с файлами»)
- 3Включите признак «Хранить файлы в томах на диске»
- 4Откройте список томов и создайте новый том, указав полный путь к каталогу (для Windows — UNC-путь для сетевого ресурса)
- 5Укажите максимальный размер тома, если нужно ограничить его заполнение — при достижении лимита файлы начнут писаться в следующий том
- 6Сохраните настройки и прикрепите тестовый файл к любому объекту
- 7Проверьте, что файл появился в каталоге тома и открывается из карточки объекта
Для сетевых томов используйте UNC-пути вида \\server\share, а не подключённые сетевые диски (Z:\ и т.п.): буквы дисков зависят от сессии пользователя, а сервер 1С их может просто не видеть.
Если база работает в нескольких регионах или через веб-сервер, убедитесь, что путь к тому одинаково доступен со всех точек подключения. Том, доступный только части пользователей, создаёт труднодиагностируемые ошибки «файл не найден».
Как перенести уже накопленные файлы из базы в тома
Смена настройки влияет только на новые файлы: старые остаются в базе. Чтобы выгрузить накопленное, в типовых конфигурациях есть обработка переноса файлов в тома (обычно доступна из списка томов или из настроек работы с файлами). Она последовательно извлекает двоичные данные из базы, записывает их в том и переключает ссылки.
Перед переносом сделайте полную резервную копию базы. Перенос большого архива — длительная операция, и прерывание на середине оставит базу в смешанном состоянии: часть файлов уже в томах, часть ещё в базе. Это не критично (обработку можно запустить повторно), но усложняет контроль.
После переноса проверьте результат: откройте несколько ранее прикреплённых файлов из карточек объектов, убедитесь, что они читаются, и оцените новый размер базы. Имейте в виду: в файловом режиме физическое уменьшение файла 1Cv8.1CD происходит не сразу — может потребоваться тестирование и исправление с сжатием таблиц.
Как проверить результат
Файлы открываются из карточек объектов без ошибок
Ошибка «файл не найден» или пустое содержимое
В каталоге появились подкаталоги с файлами, размер растёт
Каталог пуст при включённом хранении в томах
После переноса и сжатия база заметно уменьшилась
Размер не изменился — перенос не выполнен или не выполнено сжатие
Файлы открываются с любого рабочего места
У части пользователей ошибки доступа — проверять путь и права
Резервное копирование при хранении в томах
Главное отличие томов — бэкап становится двухкомпонентным. Копия базы без копии томов неполна: после восстановления вы получите ссылки на несуществующие файлы. Поэтому в регламент резервного копирования нужно включить и каталоги томов.
Желательно, чтобы копии базы и томов были согласованы по времени. Идеальный вариант — снимать обе копии в одном регламентном окне, когда пользователи не работают. Если это невозможно, допустимо небольшое расхождение: файлы, прикреплённые между копиями, либо окажутся «лишними» в томе (безвредно), либо отсутствовать на момент восстановления (потеряются только самые свежие вложения).
Типичные ошибки и ограничения
Отдельная ошибка — ручное вмешательство в содержимое тома. Файлы внутри тома хранятся под служебными именами и в служебной структуре каталогов; переименование, перемещение или удаление их средствами проводника нарушает связность с базой. Все операции с файлами выполняйте только через 1С.
Ещё одно ограничение: тома не решают вопрос версионирования и прав самостоятельно — эти механизмы настраиваются отдельно в подсистеме работы с файлами (хранение версий, права на папки файлов). Не путайте выбор физического хранилища с настройкой логики работы пользователей.
Полезно раз в несколько месяцев сверять фактический размер каталога томов и динамику роста базы. Резкий разрыв (база растёт, тома нет — или наоборот) обычно означает, что настройка хранения была изменена или часть файлов пишется не туда, куда вы ожидаете.
Как выбрать вариант под свой сценарий
Как выбрать действие
Если сомневаетесь, начните с хранения в базе и отслеживайте рост. Переход на тома возможен в любой момент штатной обработкой, а обратный перенос (из томов в базу) в типовых средствах обычно не предусмотрен — поэтому решение о выносе файлов стоит принимать осознанно, с готовым планом резервного копирования томов.
Что важно запомнить
Небольшие объёмы файлов надёжнее хранить в информационной базе — они автоматически попадают в бэкап. Большие архивы выносите в тома на диске, но обязательно включайте тома в резервное копирование, используйте UNC-пути и не трогайте содержимое томов вручную.
Частые вопросы
Можно ли хранить часть файлов в базе, а часть в томах?
Да, такая ситуация возникает естественным образом при переходе: старые файлы остаются в базе, новые пишутся в тома. Подсистема работы с файлами корректно обрабатывает оба варианта, поэтому смешанное состояние не является ошибкой. Однако для порядка в бэкапах и обслуживании имеет смысл выполнить полный перенос штатной обработкой.
Что будет, если удалить папку тома с диска?
В базе останутся ссылки на несуществующие файлы. При попытке открыть вложение пользователь получит ошибку. Восстановить файлы можно только из резервной копии тома, поэтому каталоги томов должны быть защищены от случайного удаления и обязательно включены в план бэкапов.
Уменьшится ли размер файловой базы после переноса файлов в тома?
Не сразу. Данные в файле 1Cv8.1CD помечаются как удалённые, но физически файл не сжимается автоматически. Чтобы база реально уменьшилась, выполните тестирование и исправление с включённым сжатием таблиц информационной базы, предварительно сделав резервную копию.
Какой путь указывать для тома в клиент-серверном режиме?
Путь должен быть доступен с сервера 1С:Предприятия — локальный каталог сервера или сетевой ресурс по UNC-пути. Учётная запись, под которой работает агент сервера 1С, должна иметь права на чтение и запись в этот каталог. Проверяйте доступ именно от этой учётной записи, а не от своей.
Есть ли ограничение на размер одного прикрепляемого файла?
Жёсткого универсального ограничения в типовых конфигурациях нет, но на практике действуют косвенные лимиты: настройки веб-сервера при работе через публикацию, ограничения файлового режима на размер таблиц, разумное время передачи по сети. Очень большие файлы (сотни мегабайт и больше) разумнее хранить в томах и проверять настройки веб-сервера, если доступ идёт через него.
Нужно ли что-то менять при переходе с файлового режима на клиент-серверный?
Файлы, хранящиеся в базе, мигрируют вместе с ней без дополнительных действий. А вот тома нужно проверить: путь, который был доступен с рабочих станций, может оказаться недоступен с сервера 1С. После миграции откройте несколько вложений и при необходимости скорректируйте пути к томам на UNC-варианты с нужными правами.