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

Документы и Печать · 10 мин

Как вложить файл в 1С: полное руководство по прикреплению файлов

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

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

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

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

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

Хранение в базе проще в администрировании: файл попадает в резервную копию вместе с остальными данными. Минус — база быстро растёт в размере, если сотрудники вкладывают тяжёлые сканы и архивы. Хранение в томах разгружает базу, но требует отдельного резервного копирования папок с файлами и настройки прав доступа на уровне файловой системы.

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

Как вложить файл через интерфейс документа или справочника

Основной сценарий — прикрепление файла к конкретному объекту. Порядок действий одинаков для большинства типовых конфигураций.

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

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

Вложение файла к письму встроенной почты

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

Перетаскивание файла мышью (Drag-and-Drop)

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

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

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

Как вложить файл программно (для разработчиков)

В собственных доработках и обработках файл вкладывается через программный интерфейс Библиотеки стандартных подсистем — модуль «РаботаСФайлами». Типовой вызов создаёт присоединённый файл из двоичных данных или из пути на диске и привязывает его к владельцу.

bsl
ПараметрыФайла = РаботаСФайлами.ПараметрыДобавленияФайла();
ПараметрыФайла.ВладелецФайлов = СсылкаНаДокумент;
ПараметрыФайла.ИмяБезРасширения = "Акт_сверки";
ПараметрыФайла.РасширениеБезТочки = "pdf";
ПараметрыФайла.Автор = Пользователи.ТекущийПользователь();
ПрисоединённыйФайл = РаботаСФайлами.ДобавитьФайл(ПараметрыФайла, ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные("C:\Docs\akt.pdf")));

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

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

Ограничения, права и настройки

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

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

Типичные ошибки
01
Вложение файла без записи объекта-владельца: пользователь добавил файл, закрыл форму без записи — вложение потеряно или привязано некорректно.
02
Хранение больших файлов в базе без контроля: размеры базы растут, замедляются резервное копирование и обновление.
03
Перенос базы в .dt без папок томов: после восстановления ссылки на файлы есть, а сами файлы недоступны.
04
Редактирование файла без команды «Занять»: два пользователя перезаписывают версии друг друга, изменения теряются.
05
Ожидание, что присоединённые файлы сами попадут в обмен между базами: по умолчанию в ряде планов обмена файлы не передаются, требуется отдельная настройка.

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

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

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

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

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

Файл в списке присоединённых
Норма

Отображается имя, расширение, размер; открывается двойным щелчком

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

Запись есть, но при открытии ошибка «файл не найден» — проверьте тома хранения

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

Коллега с правами видит и открывает вложение

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

Коллега не видит команду или файл — проверьте роли и права на владельца

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

Файлы восстанавливаются из копии вместе с базой

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

В копии только ссылки — тома на диске не копировались

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

Можно ли вложить сразу несколько файлов?

Да. В диалоге выбора файлов выделите несколько файлов с зажатой клавишей Ctrl, либо перетащите группу файлов мышью в список присоединённых. Каждый файл станет отдельным присоединённым объектом.

Какой максимальный размер файла можно вложить в 1С?

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

Почему команда «Присоединённые файлы» не отображается?

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

Как извлечь вложенный файл обратно на диск?

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

Передаются ли вложенные файлы при обмене между базами 1С?

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

Можно ли удалить вложенный файл безвозвратно?

Удаление присоединённого файла обычно выполняется через пометку на удаление, как для других объектов 1С. Окончательно файл стирается после процедуры «Удаление помеченных объектов». Если включено версионирование, проверьте также историю версий.

Итог

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

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