Хранение и обработка файлов#
Документ описывает механизмы работы с прикреплёнными файлами в системе: настройку хранилищ, простое и версионное хранение, а также вставку изображений в документы форматов Word и PDF. Все функции управляются через метаданные и поддерживают конфигурацию без кода.
Сервис прикреплённых файлов#
Сервис прикреплённых файлов позволяет прикреплять к объектам класса произвольные файлы, которые сохраняются в специальном хранилище на сервере и сопоставляются с конечным объектом-владельцем.
Файловое хранилище#
Global3-Framework позволяет классифицировать места хранения файлов по функциональной принадлежности. Для этого используется справочник файловых хранилищ системы.
Файловое хранилище может быть:
Локальным — расположено в директории сервера приложений.
Сетевым — использует протокол SMB.
Перед работой с файлами необходимо настроить файловые хранилища:
Откройте приложение «Настройка системы».
Выполните пункт меню «Сущности > Файловые хранилища».
В системе должно быть настроено минимум два хранилища:
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 — определяет координаты (точка отсчёта — нижний левый угол документа).
Ширина и высота изображения — задают размер вставляемого изображения.
Как только в коллекции появится активное изображение, в отображении прикреплённых файлов для документов данного типа становятся доступны операции:
Вставка изображения в один документ.
Вставка изображения во все документы сразу.