2016-02-21 5 views
0

В моем настраиваемом рабочем процессе, я внести некоторые изменения в PDF при создании рабочего процесса:Revert версии документа до процесса - Alfresco

<activiti:executionListener event="start" class="pt.entp.fields.CreateFields"></activiti:executionListener> 

Я хочу, когда я отменить рабочий процесс, рабочий процесс четкого изменения, которые были сделаны при его создании. Нет способа сделать это?

ответ

2

Первый магазин текущей версии в начало последовательности действий слушателя:

NodeRef myPdfnode = ... 
    String currentversion = serviceRegistry.getVersionService.getCurrentVersion(myPdfnode).getVersionLabel(); 
    execution.setVariable("mynode_currentversion", currentversion); 

Вам необходимо будет восстановить версию PDF документов с использованием конечного рабочего процесса слушателя

<activiti:executionListener event="end" 
class="pt.entp.fields.WorkflowEnded"></activiti:executionListener> 

Там, проверьте рабочий процесс был действительно отменен, а затем восстановлен до сохраненной версии:

String deleteReason = execution.getDeleteReason(); 

    if ("cancelled".equals(deleteReason)){ 
     NodeRef myPdfnode = ... 
     String initialversionLabel = execution.getVaraible("mynode_currentversion"); 
     Version initialversion = serviceRegistry.getVersionService.getVersionHistory(myPdfnode).getVersion(initialversionLabel); 
     serviceRegistry.getVersionService.revert(myPdfnode, initialversion); 
    } 
+0

Большое вам спасибо! Я попробую это :) – PRVS

+0

Я попробовал это и действительно пошел на версию 1.0, однако документ был тем же самым с полями, которые я создаю, когда я запускаю рабочий процесс. – PRVS

+0

Ты знаешь почему? Благодарю. – PRVS