Как получить сведения об элементе рабочего процесса из livelink с помощью c #?

#c# #api #webservice-client #opentext #livelink

#c# #API #веб-сервис-клиент #opentext #livelink

Вопрос:

У меня есть документ в livelink и документ, имеющий рабочий процесс. В этом рабочем процессе у нас есть вложения и некоторые атрибуты по умолчанию.

Мое требование получить данные рабочего элемента рабочего процесса. Я попытался использовать workflowservice для доступа к деталям. Но мне нужно ProcessID и SubProcessID .

Может кто-нибудь сказать мне, как читать ProcessID и SubProcessID ?

Как получить данные рабочего элемента рабочего процесса? Я использовал эту функцию: workflowservice.GetWorkItemdata(wc,processID,subprocessId,activityID)

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

1. Какую версию Livelink / OpenText вы используете?

Ответ №1:

Вы можете использовать listWorkItems() метод, предоставляемый WorkflowService интерфейсом веб-службы.

Я добавляю сюда версию Java, показывающую, как извлекать данные рабочего элемента, поскольку я не уверен в C #, но процедура почти такая же:

 WorkItemResult result = wfSvc.listWorkItems(null);
List<WorkItem> items = result.getWorkItems();
for (WorkItem item : items){
    // Attached data
    List<ApplicationData> dataList =
    wfSvc.getWorkItemData(item.getProcessID(), item.getSubProcessID(), item.getID());
    for (ApplicationData data : dataList){
       if (data instanceof AttributeData){
          AttributeData aData = (AttributeData) data;
          AttributeGroupDefinition groupDef = aData.getAttributes();
          for (Attribute attr : groupDef.getAttributes()) {
              if (attr instanceof StringAttribute) {
                  StringAttribute sAttr = (StringAttribute) attr;
                  System.out.println("Attr: "   sAttr.getDisplayName()  " ("   sAttr.getValues().get(0)   ")");
              }
           }
       }
    }
}
 

Главное здесь то, что listWorkItems метод позволяет вам легко получить доступ к каждому рабочему элементу ProcessID SubProcessID и ID значениям.

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

1. Спасибо abarisone. Я использовал ваш код, например Workflowservice. Getworkitems(). Но я получаю нулевое значение.