При разработке конфигураций на платформе 1С часто возникает задача организовать полноценную работу с файлами. Разберем типичную ситуацию: необходимо создать справочник «Документы», который должен предоставлять пользователю удобный интерфейс для загрузки, открытия, версионирования и редактирования файлов прямо в форме списка или элемента, без привязки к сторонним объектам информационной базы.
Рассмотрим, с помощью каких механизмов Библиотеки Стандартных Подсистем (БСП) лучше всего решить эту задачу и в чем заключаются ключевые различия между встроенными подсистемами работы с контентом.
В БСП предусмотрены две похожие на первый взгляд, но абсолютно разные по архитектуре подсистемы. Проанализируем их особенности:
ЗаказПокупателя, справочникам Контрагенты или Номенклатура). В этой схеме для каждого типа владельца создается отдельный справочник вида [ИмяОбъекта]ПрисоединенныеФайлы. Права доступа (RLS) к файлам здесь полностью наследуются от самого объекта-владельца. Использовать этот механизм автономно, без наличия объекта-владельца, технически некорректно.ПапкиФайлов и Файлы, а также на справочник ВерсииФайлов. Права доступа настраиваются непосредственно на уровни каталогов (ПапкиФайлов).Выясним, как поступить, если требуется справочник «Документы», выполняющий роль полноценного файлового хранилища.
Использовать подсистему «Присоединенные файлы» в данном случае не нужно, так как она требует наличия стороннего объекта-владельца. Вместо этого задействуем подсистему «Работа с файлами». Разберем по шагам порядок действий:
Файлы.Файлы на «Документы» (или любое другое нужное наименование).При таком подходе пользователи получают полный спектр возможностей работы с файлами сразу при открытии справочника:
- Просмотр и редактирование файлов с механизмом блокировки («Занять» / «Освободить»);
- Сохранение и просмотр истории изменений через ВерсииФайлов;
- Загрузка документов с диска, создание по шаблонам или получение со сканера;
- Электронная подпись и шифрование данных.
Рассмотрим дополнительные технические нюансы, которые следует учитывать при автономной работе с файлами в 1С:
Хранение на диске (в томах): Чтобы база данных не разрасталась до критических размеров из-за хранения двоичных данных, в БСП предусмотрена возможность размещения файлов в томах на сервере. При использовании подсистемы «Работа с файлами» перенос хранилища во внешние тома выполняется с помощью штатных настроек подсистемы.
Полнотекстовый поиск: Подсистема позволяет извлекать текст из загруженных документов (PDF, DOCX, XLSX и др.) с помощью регламентных заданий, благодаря чему пользователи могут искать нужные документы не только по наименованию, но и по внутреннему содержимому.
Очистка и обслуживание: В процессе активной работы накапливается большое количество устаревших версий. Для поддержания быстродействия системы необходимо регулярно запускать регламентные задания БСП по очистке старых версий и окончательному удалению файлов, помеченных на удаление.