Файловый каталог

Файловый каталог

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

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

Основные требования к файловому каталогу и как это реализовано в сервисной системе.

Единый каталог. Список зарегистрированных в системе файлов, должен хранится в одном, общем справочнике.

Почему единый каталог:

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

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

  • Диски сервера 1С Предприятия;
  • Каталоги локальной сети, доступные для сервера 1С Предприятия;
  • Локальные и удаленные FTP сервера;
  • В архиве. В этом случае в каталоге будет указан путь и имя файла внутри архива, и ссылка на файл архива;
  • Диски клиентов 1С Предприятия. Такие файлы будут доступны только с конкретного клиента, но они так же полезны. Своего рода закладки на файлы, в разрезе объектов на локальном компьютере.

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

  • Рабочие копии. Оригинальный файл хранится в архиве, либо FTP сервере, в таком виде с ним нельзя работать, прочитать данные или просмотреть. При запросе системой такого файла, создается копия на локальном диске, связывается с оригинальным файлом и далее мы работаем с копией. При повторном запросе файла, если возвращается сразу копия файла с локального диска, пока ее не удалить;
  • Клиентские копии. При запросе файла с сервера, создается локальная копия на компьютере, где запущено клиентское приложение 1С. При повторном запросе, с того же клиента файл не копируется с сервера, а сразу открываться локальная копия, пока ее не удалить;
  • Обработанные файлы. Файл созданный из оригинального с помощью обработки внешним приложением. Например обработка фотографии, изменение размера, формата файла. Любые преобразования исходного файла, любым внешним приложением, которое возможно запустить в консольном режиме с параметрами. Такие копии отмечены признаком Обработка, с указанием внешнего обработчика, которым был получен файл.

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

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

  • Отбор файлов по выбранному типу, чтобы не перечислять все расширения;
  • Просмотр карточки файла, по умолчанию при открытии карточки файла там будут общие свойства файла, где он хранится, размера дата и пр. В системе есть возможность добавить обработку индивидуальных типов. Например для картинок обработка с таким названием filestorТипФайла_картинка, где картинка это код типа файла. Теперь при открытии карточки файла, вместо типовой формы, будет открыта форма из расширяемой обработки, где будут дополнительные свойства, например для картинок это размеры, и поле с предварительным просмотром картинки.

Ссылки на файлы. Отдельная таблица с привязкой файла к заданному объекту. Чтобы к какому то объекту было возможно привязывать файлы, достаточно включить этот вид метаданных в определяемый тип ecmВладельцыФайлов. После этого в списках данного объекта появится меню выбора файла, просмотра привязанных файлов, и другие общие операции по работе с файлами.