Api рабочего процесса Alfresco теряет переменную

#workflow #alfresco

Вопрос:

У меня есть установка Alfresco community 5.2 с пользовательским рабочим процессом. Пользователям необходимо указать некоторых участников, которые будут участвовать в этом рабочем процессе, и просмотреть представленный документ. Пользователи разделены на 4 группы (соавторы, рецензенты, утверждающие, авторизатор), и я запускаю рабочий процесс с помощью Api Alfresco JS, передавая все переменные и участников.

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

 var wfparams = new Array();
wfparams["mywf:coAuthorsAssignees"] = coAuthorsProp;
wfparams["mywf:reviewersAssignees"] = reviewersProp;
wfparams["mywf:approverAssignee"] = approverProp;
wfparams["mywf:authorizerAssignee"] = authorizerProp;
wfparams["bpm:priority"] = workflowPriorityProp;
wfparams["mywf:taskDueDateDaysNumber"] = workflowTaskDueDateDaysNumberProp;
wfparams["bpm:description"] = workflowMessageProp;
wfparams["bpm:workflowDescription"] = workflowMessageProp;
wfparams["mywf:copyToInitiator"] = copyToInitiator;
wfparams["mywf:previousTaskComments"] = workflowInitiatorComment;
wfparams["_startTaskCompleted"] = new Date();

logger.info("mywf:reviewersAssignees"); // OK, the variable is correct

workflowAction.startWorkflow(package, wfparams);
 

И вот мое начало

 <?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://alfresco.org">
  <process id="DTTPublishWorkflow" name="Parallel Review And Approve Document" isExecutable="true">
    <extensionElements>
      <activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">
        <activiti:field name="script">
          <activiti:string><![CDATA[//checkSingleWFIstance();
              // printing the variable inside the workflow (bpmn), I see it null
              logger.info(execution.getVariable('mywf_reviewersAssignees')) // null
<!-- ... -->
 

Как это возможно? Что я упускаю?

Или что я могу сделать, чтобы выяснить, в чем проблема? Могу ли я как-то отладить, что происходит под startWorkflow(package, wfparams);

— РЕДАКТИРОВАТЬ —

Может быть, это какая-то странная проблема в преобразовании объектов javascript ?

Комментарии:

1. Надеюсь, что у всей группы есть пользователи, и, пожалуйста, проверьте эту группу во время назначения в js, а также проверьте это имя свойства.

2. что вы имеете в виду, говоря «Надеюсь, что у всей группы есть пользователи»?? Эти группы не являются обязательными. Они могут быть пустыми. Но проблема в том, что значение переменной, переданное в wfparams, теряется. Может ли это быть какая-то проблема с типом объекта javascript?

3. каждое из ваших пользовательских свойств равно нулю или только это?

4. к сожалению, только этот

Ответ №1:

Похоже на какую-то ошибку с префиксом. Вы назначаете по префиксу «mywf», а извлекаете по «eneawf». Это ваш способ извлечения или ошибка?

Комментарии:

1. К сожалению, это была только ошибка типа, когда я вставил в Stackoverflow…. переменная чтения верна, и это mywf_revieversAssignees