Блокирование редактирования карточки документа.

 Задача стоит следующая: - Карточка документа в реестре доступна для редактирования, но когда мы стартуем бизнес-процесс нужно сделать так, чтоб редактирование карточки было недоступно пользователям. Как ограничичть такой доступ к карточке документов на время ведения бизнес-процесса ?

Комментарии

avasyukov аватар
Вариант - повесить листенер на старт процесса, в котором у всех отобрать права на запись.
 А как отобрать у всех права на запись?
Выполняю код под администратором в JavaScript Console, права удаляются. но редактирование по прежднему возможно. Почему? 

var site = siteService.getSite('nic');
var cont = site.getContainer('dataLists');
var srcList = cont.children[1];  
for each( item in srcList.children )
{
item.setInheritsPermissions(false);
item.removePermission("SiteManager", "GROUP_site_nic_SiteManager");
item.removePermission("SiteCollaborator", "GROUP_site_nic_SiteCollaborator");
item.removePermission("SiteConsumer", "GROUP_site_nic_SiteConsumer");
item.removePermission("SiteContributor", "GROUP_site_nic_SiteContributor");
item.removePermission("Write", "admin");
model.permissions = item.getPermissions();
item.save();
print (item.nodeRef);
print (item.getPermissions());
}
на админа не распространяется, на остальных пользователей работает нормально)
Подскажите, сейчас цикл перебирает все записи в реестре. а мне нужно конкретную карточку, которая участвует в бизнес-процессе, как это реализовать?
 Можно узнать параметры карточки, прикрепленной к бизнес-процессу так: 
 
bpm_package.children[0].name
bpm_package.children[0].nodeRef
bpm_package.children[0].id
 
Разобрался
По какой-то причине невозможно забрать права у создателя документа в реестре. Если я убираю права менеджеров до этого файла, все не могут иметь к нему досутп кроме того менеджера кто его создал. Как ограничить автора документа в правах на файл?
 Нашел решение. Перед ограничением прав для группы SiteManager передаем права хозяина другому пользователю document.owner = "admin";