a-b-c wrote:Дублирую с помощью скрипта after_add_message:
- Code: Select all
AdapterManager.getInstance().getSecuredTaskAdapterManager().pasteTasks(
message.getSecure(),
message.getTask().getParent().getId(),
message.getTaskId(),
"SINGLE_COPY");
return message;
В результате дата создания новой задачи совпадает с датой создания исходной. Хотелось бы, чтобы дата создания была равна дате выполнения этой операции. Как это можно сделать?
Варианта два. Либо копировать задачу не через pasteTasks, а через TaskManager.importTask (это Kernel-метод, т.е. не рекомендуется).
Либо после pasteTask создать SecuredTaskTriggerBean с нужной submit date и выполнить для него update().
- Code: Select all
SecuredTaskBean task = message.getTask();
SecuredTaskTriggerBean t = new SecuredTaskTriggerBean(task.getId(), task.getDescription(), task.getName(), task.getAlias(), <тут дата, которая нужна>, null, task.getClosedate(), null, task.getBudget(), task.getDeadline(), task.getNumber(), task.getSubmittedId(), task.getHandlerId(), task.getHandlerUserId(), String task.getHandlerGroupId(),task.getParentId(), task.getCategoryId(), task.getWorkflowId(), task.getStatusId(), task.getResolutionId(), task.getPriorityId(), udfMap, message.getSecure());
t.update(false);
Мы не сделали в SecuredTaskTriggerBean возможности устанавливать дату напрямую, это будет исправлено в ближайших версиях, тогда будет еще проще:
- Code: Select all
SecuredTaskTriggerBean t = new SecuredTaskTriggerBean(message.getTaskId(), message.getSecure());
t.setSubmitdate(...);
t.update(false);