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

Справочники и Данные · 10 мин

Как прикрепить файл к справочнику в 1С

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

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

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

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

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

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

Файлы могут храниться двумя способами: внутри информационной базы или во внешних томах на диске сервера. Выбор влияет на размер базы и скорость её резервного копирования.

Где хранить файлы

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

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

В томах на диске

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

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

Если кнопки прикрепления нет, сначала проверьте настройку на уровне всей базы. Она доступна пользователю с правами администратора.

Как включить хранение файлов
  1. 1
    Откройте раздел «НСИ и администрирование» (в некоторых конфигурациях — «Администрирование»).
  2. 2
    Перейдите в «Общие настройки» или «Настройки работы с файлами».
  3. 3
    Установите флажок «Хранить присоединённые файлы» (или «Присоединённые файлы»).
  4. 4
    При необходимости включите «Хранить файлы в томах на диске» и настройте тома.
  5. 5
    Сохраните настройки и откройте карточку элемента справочника — команда прикрепления должна появиться.

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

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

Прикрепление файла к элементу справочника

Основной сценарий выполняется в режиме «1С:Предприятие» и занимает меньше минуты.

Порядок прикрепления
  1. 1
    Откройте нужный справочник, например «Номенклатура» или «Контрагенты».
  2. 2
    Откройте карточку конкретного элемента двойным щелчком.
  3. 3
    Нажмите кнопку «Прикрепить» (скрепка) на панели или перейдите по ссылке «Присоединённые файлы» / «Файлы».
  4. 4
    В открывшемся списке нажмите «Добавить» → «Из файла на диске» и выберите файл.
  5. 5
    Дождитесь загрузки: файл появится в списке с указанием размера и автора.
  6. 6
    Запишите карточку элемента, если программа этого требует.

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

Часть конфигураций позволяет добавить файл не только с диска, но и из шаблона, со сканера или вставкой из буфера обмена — состав команд зависит от конкретной прикладной конфигурации и её версии.

Ограничения по размеру и типам файлов

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

Работа с уже прикреплёнными файлами

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

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

При редактировании файл «занимается» текущим пользователем: другие видят признак занятости и не могут одновременно править тот же файл. Это защищает от потери изменений при совместной работе.

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

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

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

Если справочник не поддерживает файлы: вариант для разработчика

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

Альтернатива без полноценной подсистемы — добавить в справочник реквизит типа «Хранилище значения» и записывать туда двоичные данные программно:

bsl
&НаСервере
Процедура СохранитьФайлВЭлемент(ЭлементСсылка, АдресВоВременномХранилище)
    ЭлементОбъект = ЭлементСсылка.ПолучитьОбъект();
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресВоВременномХранилище);
    ЭлементОбъект.ДанныеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9));
    ЭлементОбъект.Записать();
КонецПроцедуры

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

Перед массовой загрузкой фотографий товаров уменьшите их разрешение до разумного (например, до 1000–1500 пикселей по большей стороне). Фото с телефона по 5–10 МБ при тысячах позиций заметно раздувают базу, а для карточки товара и печати прайса такое качество не требуется.
ПЗ
Практическое замечание

Типичные ошибки и проверка результата

Типичные ошибки
01
Прикрепление файла к незаписанному элементу — новый элемент сначала нужно записать, иначе команда прикрепления недоступна.
02
Хранение всех вложений в базе при больших объёмах — база разрастается, замедляются копирование и обновление.
03
Удаление файлов из тома через проводник — в 1С остаются битые ссылки, вложения не открываются.
04
Отключение настройки «Хранить присоединённые файлы» ради эксперимента — команды пропадают у всех пользователей, хотя сами данные сохраняются.
05
Игнорирование прав доступа — пользователю с ограниченными правами кнопка может быть недоступна, и это принимают за ошибку программы.
Контрольные точки

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

Видимость команды
Норма

В карточке элемента есть кнопка «Прикрепить» или ссылка «Присоединённые файлы»

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

Команды нет — проверьте настройку хранения файлов и права пользователя

Открытие вложения
Норма

Файл открывается из списка двойным щелчком без ошибок

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

Ошибка «файл не найден» — нарушена связь с томом или файл удалён

Состав списка
Норма

У файла указаны имя, размер, дата и автор загрузки

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

Пустые или нулевые сведения — загрузка завершилась с ошибкой, файл нужно перезагрузить

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

Итог

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

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

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

Почему в карточке справочника нет кнопки «Прикрепить»?

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

Можно ли прикрепить несколько файлов к одному элементу?

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

Что произойдёт с файлами при удалении элемента справочника?

При пометке элемента на удаление вложения обычно помечаются вместе с ним. Физически данные исчезают после запуска обработки «Удаление помеченных объектов». До этого момента удаление можно отменить, сняв пометку.

Занимают ли присоединённые файлы место в резервной копии базы?

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

Можно ли прикреплять файлы через веб-клиент или тонкий клиент?

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

Как массово загрузить файлы к большому числу элементов?

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