<< Click to Display Table of Contents >> Объектная модель > Базовое решение Directum RX > Projects – проекты Очереди выдачи прав |
![]() ![]() |
На сами проекты, документы по проекту и папки проектов права участникам выдаются асинхронно, чтобы не было задержек при сохранении проектов и документов.
Выдача прав фоновым процессом происходит по расписанию и при сохранении проекта, проектного документа.
В модуле «Проекты» права выдаются:
•на проект – очередь ProjectMemberRightsQueueItem;
•на папки проекта – очередь ProjectRightsQueueItem;
•на документы по проекту – очередь ProjectDocumentRightsQueueItem.
Все очереди работают в контексте проекта, поэтому они наследуются от ProjectQueueItemBase.
Массовое назначение прав на проектные документы:
1.Массовое назначение прав происходит по проектам, у которых изменился состав участников, руководитель, администратор или ведущий проект. При сохранении таких проектов создается ProjectMemberRightsQueueItem (Элемент очереди выдачи прав участникам проекта).
2.Фоновый процесс «Проекты. Автоматическое назначение прав на документы»:
•отбирает все элементы очереди ProjectMemberRightsQueueItem (Элемент очереди выдачи прав участникам проекта);
•создает на их основании элементы очереди ProjectDocumentRightsQueueItem (Элемент очереди выдачи прав на проектные документы) со статусом Sheduled и приоритетом 200. Максимальное количество документов в каждом элементе очереди определяется параметром ProjectAccessRightsBulkProcessingBatchSize в таблице Sungero_Docflow_Params, по умолчанию 100;
•отбирает для обработки элементы очереди ProjectDocumentRightsQueueItem (Элемент очереди выдачи прав на проектные документы), отсортированные по убыванию приоритета. Количество одновременно обрабатываемых элементов очереди определяется параметром ProjectAccessRightsBulkProcessingQueueItemsLimit в таблице Sungero_Docflow_Params, по умолчанию 70;
•устанавливает статус в значение InProcess и запускает асинхронные обработчики «Автоматическое назначение прав на список проектных документов» по отобранным для обработки элементам очереди ProjectDocumentRightsQueueItem (Элемент очереди выдачи прав на проектные документы);
•удаляет элементы очереди ProjectMemberRightsQueueItem (Элемент очереди выдачи прав участникам проекта).
3.Асинхронный обработчик «Автоматическое назначение прав на список проектных документов» назначает права на документы элемента очереди ProjectDocumentRightsQueueItem (Элемент очереди выдачи прав на проектные документы). После выдачи прав на все документы элемент очереди удаляется.
Для заблокированных документов создается новый элемент очереди ProjectDocumentRightsQueueItem (Элемент очереди выдачи прав на проектные документы) со статусом Sheduled, приоритетом 100 и увеличенным на 1 количеством переповторов.
Если превышен лимит переповторов новый элемент очереди не создается и обработка документов прекращается. Лимит определяется параметром GrantAccessRightsToProjectDocumentRetriesLimit в таблице Sungero_Docflow_Params и по умолчанию равен 50.
Для сохранения совместимости добавлен параметр UseObsoleteGrantAccessRightsToProjectDocuments в таблице Sungero_Docflow_Params, по умолчанию false. Если параметр имеет значение true, в фоновом процессе «Проекты. Автоматическое назначение прав на документы» будут использоваться устаревшие функции выдачи прав и будут вызываться их перекрытия. Но в режиме совместимости не будут применяться оптимизации, достигнутые за счет использования асинхронных обработчиков и порционирования документов.
© Компания Directum, 2025 |