Диск — Администрирование¶
Обзор¶
Домен 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 или шаблоне печатного документа, печатается на документе, а после сканирования используется для автоматического связывания файла с задачей.
Типовой контур настройки:
- В категории есть ДП для хранения изображения штрих-кода/печати и ДП «Файл» для итогового документа.
- Смарт-пакет генерирует изображение кода, накладывает его на DOCX/PDF и вкладывает результат в ДП.
- При вложении скана срабатывает пакет со смарт-действием «Связывание файла с задачей по штрих-коду».
Распознавание поддерживается для 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-- карта всех форм автоадминки