Вложения к документам и справочникам 1С: где лежат, как хранятся и кто их видит

· 10 мин

Содержание

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

Отсюда растут все практические вопросы: почему база за год выросла с 5 до 40 ГБ, почему коллега не видит скан счёта, куда пропали файлы после переноса базы на другой сервер.

Как платформа 1С хранит присоединенные файлы

Сама платформа 1С:Предприятие 8.3 умеет хранить двоичные данные в реквизитах типа ХранилищеЗначения и читать файлы с диска. Готового «механизма вложений» в платформе нет. Его даёт Библиотека стандартных подсистем (БСП) — подсистема «Работа с файлами». Она встроена во все типовые конфигурации: Бухгалтерию предприятия 3.0, ЗУП 3.1, УТ 11, КА и ERP, Документооборот.

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

Что подсистема хранит о каждом файле:

  • 📄 имя и расширение;
  • 📏 размер в байтах;
  • 👤 автора и дату создания;
  • 🔗 владельца — документ или элемент справочника, к которому файл прикреплён;
  • 🗄️ способ хранения: в информационной базе или в томе на диске;
  • ✍️ электронные подписи и признак шифрования, если они есть;
  • 🔒 сведения о том, кто сейчас редактирует файл.

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

Из каких объектов конфигурации состоят вложения

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

ОбъектНазначение
Справочники <Имя>ПрисоединенныеФайлыКарточки файлов конкретного вида владельцев, например ДоговорыКонтрагентовПрисоединенныеФайлы
Справочник ФайлыФайлы общего хранилища (раздел «Файлы» в программе) и файлы владельцев без своего справочника
Справочник ВерсииФайловВерсии файлов, если включено хранение версий
Справочник ТомаХраненияФайловОписание томов на диске: путь, максимальный размер, порядок заполнения
Регистр сведений с двоичными даннымиСодержимое файлов, когда они хранятся в базе
Определяемые типы ВладелецПрисоединенныхФайлов, ПрисоединенныйФайлСписки типов, к которым можно прикреплять файлы, и типы самих карточек

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

Если к какому-то справочнику вложения не прикрепляются, проверьте две вещи: есть ли для него справочник с суффиксом ПрисоединенныеФайлы и входит ли тип владельца в определяемый тип ВладелецПрисоединенныхФайлов. Если своего справочника нет, файлы могут уходить в общий справочник Файлы — смотрите там.

Где настроить хранение файлов: база или тома на диске

Режим хранения выбирает администратор в пользовательском режиме. В БП 3.0, ЗУП 3.1 и УТ 11 настройки лежат в разделе Администрирование, в группе общих настроек работы с файлами. Если не нашли с первого раза, откройте раздел и наберите «файл» в поиске по форме — группа найдётся сразу.

Варианты хранения:

СпособПлюсыМинусыКому подходит
В информационной базеФайлы в одной резервной копии с базой, ничего не теряется при переносеБаза и выгрузка .dt растут, копирование и обновление идут дольшеНебольшие базы, мало сканов
В томах на дискеБаза остаётся компактной, файлы можно хранить на дешёвом дискеТома надо копировать отдельно, нужны права на папкуАктивное сканирование, архив договоров
Смешанный режимЧасть файлов в базе, часть в томахСложнее понять, где лежит конкретный файлПереходный период

Как подключить том хранения

  1. В настройках работы с файлами включите хранение в томах на диске.
  2. Перейдите по ссылке к списку томов и создайте новый том.
  3. Укажите полный путь к папке для Windows и, если сервер 1С работает на Linux, отдельно путь для Linux.
  4. Задайте максимальный размер тома в мегабайтах. 0 означает «без ограничения».
  5. Укажите порядок заполнения, если томов несколько: когда первый заполнится, файлы пойдут во второй.
  6. Сохраните том и прикрепите тестовый файл к любому документу. Проверьте, что в папке появился файл.

Путь к тому должен быть доступен тому, кто физически пишет файл. В файловой базе это компьютер пользователя, значит, нужен сетевой путь вида \\server\1c_files\buh, а не D:\files. В клиент-серверной базе файл записывает рабочий процесс сервера 1С, и права на папку нужны учётной записи службы сервера 1С, а не пользователю.

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

Перенос уже загруженных файлов

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

Обратный перенос, из томов в базу, работает так же. Он нужен, например, перед передачей базы в облако или аудиторам одним файлом .dt.

Работа с вложениями в пользовательском режиме

Для бухгалтера и менеджера весь механизм сводится к одной кнопке. В карточке документа или справочника найдите команду со скрепкой в командной панели формы. В части форм вместо неё стоит гиперссылка «Файлы» с числом вложений в скобках.

Что можно сделать с файлом:

  • ➕ Добавить с диска — выбрать один или несколько файлов в проводнике;
  • 🖱️ Перетащить — бросить файл из проводника мышью прямо в список вложений;
  • 🖨️ Сканировать — получить скан с подключённого сканера, если установлена компонента сканирования;
  • 📝 Создать по шаблону — новый файл на основе образца, например бланк письма;
  • 👁️ Открыть на просмотр — файл открывается в программе, связанной с расширением;
  • ✏️ Редактировать — файл блокируется за вами, другие видят, кто его занял;
  • 💾 Сохранить как — выгрузить копию на диск.

Редактирование и блокировка

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

Если просто закрыть Word, файл останется «занятым», а изменения — только в рабочем каталоге. Это самая частая причина жалоб «я поправил договор, а в 1С старая версия».

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

Электронная подпись и шифрование

Если в программе настроена электронная подпись, файл можно подписать прямо из списка вложений. Подпись хранится рядом с файлом, её можно проверить и выгрузить вместе с файлом. Шифрование делает файл недоступным для всех, кроме владельцев сертификатов, указанных при шифровании.

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

Где хранить присоединенные файлы в вашей базе?

Как вложения влияют на размер и скорость базы

Каждый скан на 2–3 МБ, сохранённый в базе, увеличивает её ровно на свой размер. Бухгалтерия, которая сканирует 40 первичных документов в день, за год добавит примерно 40 × 250 рабочих дней × 2,5 МБ ≈ 25 ГБ. Учётных данных за тот же год может быть в десять раз меньше.

Что от этого страдает:

  • 🐢 резервное копирование и выгрузка .dt идут дольше;
  • 🧱 файловая база подходит к пределам формата и начинает чаще повреждаться;
  • 🔄 обновление конфигурации с реструктуризацией справочников вложений занимает больше времени;
  • 💽 на SQL растут файлы данных и журналы транзакций.

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

Как узнать, сколько места занимают файлы

Быстрый способ — запрос в консоли запросов. Пример для вложений к договорам контрагентов, размер в мегабайтах:

ВЫБРАТЬ
	КОЛИЧЕСТВО(Файлы.Ссылка) КАК Количество,
	СУММА(Файлы.Размер) / 1048576 КАК РазмерМБ
ИЗ
	Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК Файлы
ГДЕ
	НЕ Файлы.ПометкаУдаления

Замените имя справочника на нужный: например, вложения к документам поступления лежат в справочнике с именем документа и суффиксом ПрисоединенныеФайлы. Список всех таких справочников видно в дереве конфигурации или в консоли запросов по фильтру «ПрисоединенныеФайлы».

Что ещё помогает держать базу компактной

  1. Сканируйте в чёрно-белом режиме 200–300 dpi и сохраняйте в PDF. Цветной скан 600 dpi весит в 10–20 раз больше и для бухгалтерии не нужен.
  2. Отключите хранение версий там, где оно не нужно. Каждая версия — полная копия файла.
  3. Удаляйте помеченные на удаление вложения через стандартную обработку удаления помеченных объектов. Пока файл только помечен, он занимает место.
  4. Проверьте, включено ли извлечение текста из файлов для полнотекстового поиска. Оно полезно, но нагружает сервер регламентным заданием. На маленьких базах это незаметно, на крупных его иногда ограничивают по расписанию.

Кто видит присоединенные файлы: права доступа

В типовых конфигурациях права на вложение наследуются от владельца. Видит документ — видит и его файлы. Нет доступа к договору — файлы к нему тоже скрыты. Отдельно настраивать доступ к каждому скану не нужно.

Где ограничивать:

Что нужноГде делается
Запретить добавлять и менять файлыПрофили групп доступа: роли на добавление и изменение файлов
Скрыть файлы по организации или контрагентуОграничение доступа на уровне записей для владельца
Закрыть содержимое даже от администратора базыШифрование файла сертификатом
Запретить загрузку исполняемых файловСписок запрещённых расширений в настройках работы с файлами

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

Тома на диске защищены только правами файловой системы. Если у всех пользователей есть полный доступ к папке тома, любой может открыть или удалить файлы в обход 1С. В клиент-серверной базе дайте права на папку только учётной записи службы 1С и администраторам.

Ещё одна деталь: в томах файлы лежат под служебными именами в подпапках, а не как «Договор №15.pdf». Найти конкретный скан проводником сложно, поэтому выгружайте файлы через 1С.

Подключение вложений к своему объекту в Конфигураторе

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

Порядок:

  1. Создайте справочник с именем <ИмяВладельца>ПрисоединенныеФайлы. Проще всего скопировать любой типовой справочник вложений — так перенесутся все реквизиты, формы и модули.
  2. В скопированном справочнике укажите в типе реквизита ВладелецФайла ваш объект.
  3. Добавьте тип вашего объекта в определяемый тип ВладелецПрисоединенныхФайлов, а ссылку на новый справочник — в определяемый тип ПрисоединенныйФайл и связанные с ним типы объекта.
  4. Выведите на форму владельца команду или гиперссылку файлов — посмотрите, как это сделано в форме типового документа, и повторите.
  5. Включите новый справочник в нужные роли и в ограничения доступа так же, как типовые справочники вложений.
  6. Обновите конфигурацию базы данных и проверьте добавление, открытие и удаление файла под пользователем без полных прав.

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

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

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

Пропадут ли файлы при выгрузке базы в .dt?
Файлы, хранящиеся в информационной базе, попадут в выгрузку. Файлы из томов на диске — нет: их нужно копировать отдельно, иначе в новой базе останутся только пустые карточки.
Почему после переноса базы на новый сервер файлы не открываются?
Чаще всего у томов остался старый путь. Скопируйте папки томов на новое место и исправьте путь в карточке каждого тома. Права на папку дайте учётной записи, от которой работает сервер 1С.
Можно ли прикрепить один файл к нескольким документам?
Вложение всегда принадлежит одному владельцу. Для второго документа файл добавляют ещё раз — это отдельная копия, она занимает место повторно.
Есть ли ограничение на размер одного файла?
Да, в настройках работы с файлами задаётся максимальный размер загружаемого файла. Если пользователь получает отказ при загрузке крупного файла, сначала проверьте это значение.
Как проверить, что файлы в томах не повреждены и все на месте?
В типовых конфигурациях на БСП есть проверка целостности тома: она сравнивает карточки файлов с содержимым папки и показывает отсутствующие и лишние файлы. Запускайте её после переноса томов и восстановления из резервной копии.