Перейти к содержанию

Диск — Администрирование

Обзор

Домен disk охватывает настройки, влияющие на доступность файлового хранилища, операции с файлами и журналирование. Собственных Admin API контроллеров и EntityEditor-схем у домена нет -- настройки распределены по смежным доменам. Администрирование использует:

  • Автоадминка (dbadmin) -- 2 формы напрямую связанных (workplaces -- видимость, file-actions-log -- журнал)
  • Настройки через смежные домены -- system-settings (квоты), subcategories (вложения), extparams (ДП-файлы)

Механизмы администрирования

Автоадминка (dbadmin)

Alias формы Название Таблица БД Полей Секций Deps Папка
workplaces Рабочие места группы dbo.UserGroupSettings 45 5 0 Пользовательский интерфейс
file-actions-log Диск (журнал) dbo.FileActionsLog 10 1 0 Журналы

Настройки через смежные домены

Домен Форма/контур Таблица Что контролирует
system system-settings dbo.Settings Квоты, версионирование файлов
categories subcategories dbo.Subcategories Вложения в задачах, автоудаление версий
ext-params extparams dbo.ExtParamsFileSettings Провайдер, размер, мультифайл, логирование

Ключевые настройки

Видимость диска (UserGroupSettings)

Где настраивается: автоадминка -> форма workplaces → секция функций Таблица БД: dbo.UserGroupSettings

Поле Что контролирует
DiskFunctionalityVisible Показывает/скрывает «Диск» в меню сервисов, в задаче и операции ДП

Эффект в runtime: приоритет рабочего места учитывается, если пользователь в нескольких группах.

Квоты файлового хранилища (Settings)

Где настраивается: автоадминка -> форма system-settings Таблица БД: dbo.Settings

Поле Что контролирует
FileStorageUserPartitionQuota Квота личной папки. Если 0 или null -- раздел «Мои файлы» скрывается
FileStorageFileVersionCount Максимальное количество версий файла

Вложения в задачах (Subcategories)

Где настраивается: автоадминка -> FormsGenerator subcategories Таблица БД: dbo.Subcategories

Поле Что контролирует
AllowAttachFiles Разрешает/запрещает вложения в задачах категории
ForbidUploadFilesIntoClosedTasks Блокирует вложения после завершения задачи
AutoDeletePrevVersionsOfFiles При совпадении имени удаляет старую версию

Настройки ДП «Файл» (ExtParamsFileSettings)

Где настраивается: Admin API ДП → настройки файлового ДП Таблица БД: dbo.ExtParamsFileSettings

Поле Что контролирует
IsLogFileReadsAction Логирование операций в журнал «Диск»
FileProviderId Переопределяет провайдер хранения для конкретного ДП
MaxFileSizeKb Ограничивает размер вложения
IsMultifile Включает хранение нескольких файлов в одном ДП
PreventDeletingFromHistory Блокирует удаление пользователем
ExtParamFileSource Управляет сценарием «Вставить из диска»

Журнал действий (FileActionsLog)

Где настраивается: автоадминка -> форма file-actions-log (read-only) Таблица БД: dbo.FileActionsLog

10 полей: аудит операций с файлами на диске: загрузка и удаление файлов, создание и удаление папок, изменение прав доступа и названий. Логирование работает только при включённой опции IsLogFileReadsAction («Логировать действия с файлами») в настройках ДП «Файл» или колонки «Файл» в ДП «Таблица».

Разделы, права и связанные папки Диска

Диск состоит из нескольких служебных разделов с разными правилами доступа:

Раздел Назначение Ключевое правило доступа
«Мои файлы» Личные файлы пользователя Другие пользователи не видят раздел, кроме прямых руководителей; раздел скрыт, если FileStorageUserPartitionQuota не задан или равен 0
«Общие файлы» Совместные файлы сотрудников Доступ к папкам и файлам определяется правами; подпапки по умолчанию наследуют права родителя
«Обмен файлами» Обмен файлами между пользователями Доступен с версии 2.263; по умолчанию доступ есть только у владельца и администраторов, владелец выдаёт доступ вручную
«Файлы автоматизации» Папки, привязанные к задачам смарт-автоматизацией Видят сотрудники с правами администратора; связанные с задачами папки следует создавать здесь, а не в «Общих файлах»
«Файлы замещаемых» Личные файлы замещаемых сотрудников Отображается при настроенном замещении
«Файлы подчиненных» Личные файлы подчинённых Отображается руководителю

⚠️ Системные корни Диска нельзя менять напрямую на уровне данных. Не создавайте в корне раздела папки, имя которых состоит только из цифр: такие имена конфликтуют со служебной маршрутизацией по URL.

Связь задачи с папкой Диска создаётся смарт-действием «Связать файловую папку с задачей». После привязки файлы задачи и файловых ДП попадают в связанную папку. Пользователь получает права на связанную папку, если видит хотя бы одну задачу, связанную с этой папкой: через права категории, теги/смарт-доступ или роль в задаче. Если все связанные задачи завершены, редактирование папки запрещается.

TUS preupload для больших файлов

TUS-загрузка доступна с версии 2.264 и используется для предварительной фрагментарной загрузки файлов в ленту, карточку задачи, ДП, создание и обновление календарных встреч. Файлы сохраняются во временное хранилище S3/MinIO или локальную директорию, а затем прикрепляются к целевому объекту.

Секция Tus в appsettings.json:

Параметр Тип По умолчанию Описание
PreuploadEnabled bool false Включает TUS preupload
PreuploadEndpoint string /files/tus/preupload Endpoint TUS-загрузки
FileExpirationInHours int? null Время жизни временных файлов; null — не удалять
StoreType string S3 или Local
S3.Endpoint string URL S3/MinIO
S3.BucketName string Бакет временных TUS-файлов
S3.ForcePathStyle bool true Path-style доступ к бакетам
Local.Path string Локальная директория временных файлов
"Tus": {
  "PreuploadEnabled": true,
  "PreuploadEndpoint": "/files/tus/preupload",
  "FileExpirationInHours": 24,
  "StoreType": "S3",
  "S3": {
    "Endpoint": "https://s3.example.local",
    "BucketName": "tusd-dev",
    "AccessKey": "<access-key>",
    "SecretKey": "<secret-key>",
    "Region": "",
    "ForcePathStyle": true
  }
}

⚠️ TUS считается включённым только если PreuploadEnabled: true и заполнено хранилище: для S3 указан Endpoint, для Local указан Path. Если TUS включён на основном сервере приложения, он должен быть включён и на job-сервере, иначе CleanExpiredFilesFromPreuploadedTusStoreJob не сможет корректно очищать временное хранилище.

С версии 2.266.554 TUS-ключи поддерживаются при открытии документов в Р7-Офис. Формат ключа в PreUploadedFiles: tempfile:tus:{tus-id}. Старый формат tempfile:{id} продолжает поддерживаться для обратной совместимости.

Представление категории «Диск»

В представлении категории «Диск» задачи отображаются как папки, а название папки соответствует тексту задачи. При открытии папки показываются вложения задачи.

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

Штрих-коды и QR-коды в файловых сценариях

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

Типовой контур настройки:

  1. В категории есть ДП для хранения изображения штрих-кода/печати и ДП «Файл» для итогового документа.
  2. Смарт-пакет генерирует изображение кода, накладывает его на DOCX/PDF и вкладывает результат в ДП.
  3. При вложении скана срабатывает пакет со смарт-действием «Связывание файла с задачей по штрих-коду».

Распознавание поддерживается для jpg, gif, png, tiff, pdf. Для потокового сканирования используется режим разбиения файла на части по штрих-кодам.

Импорт документации на диск

С версии 2.268 в разделе администрирования Служебное доступен пункт Импорт документации на диск (URL: /administration/disk-import). Кастомная форма предназначена для загрузки ZIP-архива с документацией в папку «Документация Первой Формы» (PublicFolder/docs/).

Как пользоваться: 1. Перейдите в администрирование → СлужебноеИмпорт документации на диск. 2. Нажмите Выбрать файл, укажите ZIP-архив с документацией. 3. Нажмите Загрузить — содержимое архива будет распаковано и синхронизировано с папкой «Документация Первой Формы» на Диске.

Архив документации формируется автоматически из репозитория документации и доступен в служебной категории «Репозиторий версий приложения».

Типичные ошибки настройки

Симптом Причина Где проверить SQL-диагностика
Пользователь не видит «Диск» DiskFunctionalityVisible выключен для группы Форма workplaces select GroupId, DiskFunctionalityVisible from dbo.UserGroupSettings
Нет раздела «Мои файлы» Квота = 0 или null Форма system-settings select FileStorageUserPartitionQuota from dbo.Settings
Нет пункта «Вставить из диска» в ДП ExtParamFileSource не включён Настройки ДП select ExtParamFileSource from dbo.ExtParamsFileSettings where ExtParamId = {epId}
Операции есть, а в журнале пусто IsLogFileReadsAction выключен Настройки ДП select IsLogFileReadsAction from dbo.ExtParamsFileSettings where ExtParamId = {epId}
Приоритет рабочего места конфликтует Пользователь в нескольких группах с разными настройками dbo.UserGroupSettings select ugs.* from dbo.UserGroupSettings ugs inner join dbo.UserGroups ug on ugs.GroupId = ug.GroupId where ug.UserId = {userId}

Связанные документы

  • business.md -- бизнес-логика (папки, права, операции)
  • ../ext-params/admin.md -- настройка ДП (включая файловые)
  • ../system/admin.md -- системные настройки (квоты, провайдеры)
  • ../categories/admin.md -- настройки категорий (вложения)
  • ../../platform/backend/admin-architecture.md -- общая архитектура администрирования
  • ../../reference/database/dbadmin-forms-map.md -- карта всех форм автоадминки