[ELMA3] Добавление/удаление прав на подписание документа
При помощи сценария добавляются/удаляются права на подписание типа документа, а не конкретного документа.
В сценарии используются переменные:
Документ – тип объект Документ;
Пользователь – пользователь системы, подписывающий документ, тип – объект Пользователь
Нужно объявить пространства имен:
using EleWise.ELMA.Documents.Metadata; using EleWise.ELMA.Model.Metadata; using EleWise.ELMA.Security; using EleWise.ELMA.Documents.Managers; using EleWise.ELMA.Documents.Models; using EleWise.ELMA.Documents; using EleWise.ELMA.Services;
1. Добавление прав доступа на подписание документа.
Текст сценария:
//Загружаем метаданные var metadata = (DocumentMetadata)MetadataLoader.LoadMetadata(context. Document.TypeUid); var profile = DocumentMetadataProfileManager.Instance.LoadByDocumentType(metadata.ImplementationUid); //Добавляем права на подписание profile.Permissions.Add( new InstanceOf<IDmsObjectDefaultPermissions> { New = { DocumentMetadataProfile = profile, PermissionId = DocflowPermissionProvider.DocumentMetadataSignInstance.Id, TypeRoleId = CommonRoleTypes.User.Id, Assigned = context.Poljzovatelj } }.New); profile.Save();
В результате после выполнения сценария пользователь (переменная Poljzovatelj) получит права на подписание документа (переменная Document).
2. Удаление прав на подписание документа.
Текст сценария:
//Загружаем метаданные var metadata = (DocumentMetadata)MetadataLoader.LoadMetadata(context.Document.TypeUid); var profile = DocumentMetadataProfileManager.Instance.LoadByDocumentType(metadata.ImplementationUid); //Задаем права доступа, которые хотим удалить var permToDel = profile.Permissions.FirstOrDefault(p => p.DocumentMetadataProfile == profile && p.PermissionId == DocflowPermissionProvider.DocumentMetadataSignInstance.Id && p.TypeRoleId == CommonRoleTypes.User.Id && p.Assigned == context. Poljzovatelj); //Удаляем права на подписание profile.Permissions.Remove(permToDel); profile.Save();
В результате после выполнения сценария у пользователя (переменная Poljzovatelj) удалятся права на подписание документа (переменная Document).