Нужна помощь по workflow (перемещение согласованного договора в реестр договоров )

Сделал workflow по трехступенчатому согласованию договора по http://confluence.ecm-alfresco.ru/pages/viewpage.action?pageId=5144907
решил добавить перенос файла после согласования в реестр договоров.
вот описание данного шага
 <userTask id="coordinationEndTask" name="Договор согласован" activiti:assignee="${bpm_assignee.properties.userName}" activi
   <extensionElements>
    <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
     <activiti:field name="script">
      <activiti:string>
         if (typeof bpm_workflowDueDate != 'undefined') task.setVariable('bpm_dueDate', bpm_workflowDueDate);
         if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;
         var folder = companyhome.childByNamePath("/Сайты/current/dataLists/Договора");
         logger.error("folder "+folder);
         for (var i = 0; bpm_package.children.length > i; i++) {
           var child = bpm_package.children[i];
           child.move(folder);
         }
      </activiti:string>
     </activiti:field>
    </activiti:taskListener>
   </extensionElements>
  </userTask>
но вылетает ошибка:
17:18:01,066 DEBUG [org.alfresco.repo.jscript.RhinoScriptProcessor.calls] string script Exception
org.mozilla.javascript.WrappedException: Wrapped org.alfresco.repo.security.permissions.AccessDeniedException:
 08180070 Отказано в доступе.  У вас недостаточно прав для выполнения данной операции. (AlfrescoJS#7)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1757)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:170)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66)
at org.mozilla.javascript.gen.c50._c0(AlfrescoJS:7)
at org.mozilla.javascript.gen.c50.call(AlfrescoJS)
at org.mozilla.javascript.gen.c50.exec(AlfrescoJS)
at org.alfresco.repo.jscript.RhinoScriptProcessor.executeScriptImpl(RhinoScriptProcessor.java:502)
at org.alfresco.repo.jscript.RhinoScriptProcessor.executeString(RhinoScriptProcessor.java:276)
at org.alfresco.repo.processor.ScriptServiceImpl.executeString(ScriptServiceImpl.java:286)
at org.alfresco.repo.processor.ScriptServiceImpl.executeScriptString(ScriptServiceImpl.java:193)
at org.alfresco.repo.processor.ScriptServiceImpl.executeScriptString(ScriptServiceImpl.java:183)
at sun.reflect.GeneratedMethodAccessor1254.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)

1. Файл присоединен из общего каталога. все его видят.
2. в реестр руками этот пользователь может загружать.

Уважаемые эксперты, подскажите, пожалуйста, где и какие права не прописаны?
Спасибо.

Комментарии

 Я выполняю подобную операцию но только немного по другому :
Сначала копирую карточку документа в другой реестр с архивами, а из текущего удаляю. Работает до того пока руками что-то не удалишь из исходного реестра и выдает ошибку прав доступа.

var site = siteService.getSite('my_site);
var cont = site.getContainer('dataLists'); 
var srcList = cont.children[1];
var dstList = cont.children[0];
for each( item in srcList.children )
if ((""+item.id) == (""+bpm_package.children[0].id)) {
item.properties["alvexcoursedocs:status"] = "В Архиве";
var node = dstList.createNode(null, "alvexcoursedocs:document_partner_agreement");
for (assoc in item.assocs)
for each(i in item.assocs[assoc])
node.createAssociation(i, assoc);
for (prop in item.properties)
node.properties[prop] = item.properties[prop];
node.save();
item.remove();
}}

Поэтому было принято решение сделать так:
Копировать карточку в архивный реестр, но при этом из исходного не удалять, а прятать карточку снимая права у всех пользователей.

Тот же код, что и выше но уже без item.remove(); и прятаем карточку:
item.removePermission("SiteManager","GROUP_AA-SED-Contracts_FRM-M");
item.removePermission("SiteConsumer","GROUP_AA-SED-Contracts_FRM-M");
item.removePermission("SiteConsumer","GROUP_AA-SED-Contracts_FRM-C");

Не знаю чем это вам поможет, но у меня работает именно такой подход.