Хранение и обработка файлов#

Документ описывает механизмы работы с прикреплёнными файлами в системе: настройку хранилищ, простое и версионное хранение, а также вставку изображений в документы форматов Word и PDF. Все функции управляются через метаданные и поддерживают конфигурацию без кода.

Сервис прикреплённых файлов#

Сервис прикреплённых файлов позволяет прикреплять к объектам класса произвольные файлы, которые сохраняются в специальном хранилище на сервере и сопоставляются с конечным объектом-владельцем.

Файловое хранилище#

Global3-Framework позволяет классифицировать места хранения файлов по функциональной принадлежности. Для этого используется справочник файловых хранилищ системы.

Файловое хранилище может быть:

  • Локальным — расположено в директории сервера приложений.

  • Сетевым — использует протокол SMB.

Перед работой с файлами необходимо настроить файловые хранилища:

  1. Откройте приложение «Настройка системы».

  2. Выполните пункт меню «Сущности > Файловые хранилища».

В системе должно быть настроено минимум два хранилища:

  • Default — хранилище по умолчанию.

  • btkAttach — хранилище прикреплённых файлов.

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

  • Файл загружается в хранилище только один раз.

  • При копировании объектов создаётся символическая ссылка (через btk_attachitem), а не физическая копия.

Существует два режима работы:

  • Простой.

  • Версионный.

Простое хранение файлов#

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

Доступные операции:

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

  • Удаление — удаляется запись из закладки. Если запись отмечена как основная, файл удаляется из хранилища.

    Внимание

    Операция удаления записи из хранилища необратима.

  • Скачать файл — из хранилища скачивается файл с именем и расширением, указанными в записи.

  • Сделать файл основным — устанавливается флаг «Основной». У предыдущей основной записи флаг снимается.

При копировании родительской записи копируются и записи прикреплённых файлов, но без флага «Основной».

Версионное хранение файлов#

Версионирование сохраняет историю изменений. Любое изменение файла создаёт новую версию.

Доступны все операции простого хранения, а также:

  • Добавить новую версию — к записи добавляется версия; предыдущие сохраняются.

  • Удалить последнюю версию — удаляется последняя версия. Если версия одна, предлагается удалить всю запись.

    Внимание

    Операция удаления записи из хранилища необратима.

  • Отобразить историю изменений — открывается список версий. Для каждой доступны операции скачивания и удаления.

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

Настройка#

По умолчанию сервис прикреплённых файлов для класса отключён. Для подключения укажите тип хранения в ODM-файле класса:

<class xmlns="http://www.global-system.ru/xsd/global3-class-1.0"
       name="Gds_ControlDoc"
       caption="Документ контроля"
       cardEditor.representation="Card"
       listEditor.representation="List"
       viewOptions.openCardType="mdi"
       supertype="document"
       attachType="versioned"/>

После генерации AVM-файла во все отображения (Card, List, Tree) автоматически добавляется закладка «Прикреплённые файлы».

Вставка изображений в прикреплённые файлы типов Word и PDF#

Для вставки изображений в прикрепляемые файлы документа настройте нужные изображения в коллекции-расширении «Настройки вставки изображений» для типа объекта этого документа.

В коллекции доступны следующие настройки:

  • Активность — определяет, будет ли изображение вставлено в прикреплённый файл.

  • Печатная форма — указывается форма типа Jasper с форматом PNG. Передаётся один аргумент: IDDOC (ID документа).

  • Изображение — файл в формате PNG.

    Примечание

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

  • Положение изображения по осям X, Y — определяет координаты (точка отсчёта — нижний левый угол документа).

  • Ширина и высота изображения — задают размер вставляемого изображения.

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

  • Вставка изображения в один документ.

  • Вставка изображения во все документы сразу.