четверг, 8 марта 2012 г.

Получение строк сотрудников из секции Исполнители карточки задания БП

Функция  Execute пробегает по коллекции oCardsColl (задания БП) и добавляет в коллекцию  PerformersVar (ИД сотрудников (для удаления ярлыков)) идентификаторы сотрудников исполнителей заданий БП



// подключение системных библиотек
using System;
using System.Xml;

// подключение библиотек СУБП
using DocsVision.Workflow.Objects;
using DocsVision.Workflow.Runtime;
using DocsVision.Workflow.Gates;
using DocsVision.Platform.HelperAPI;

namespace DVScriptHost
{
class DVScript
{
// стандартная функция, которая будет вызвана подсистемой СУБП
//
// входные параметры функции:
//
// process - информация о процессе. содержит коллекции
// Gates - коллекция шлюзов процесса
// Variables - коллекция переменных процесса
// passInfo - информация о текущем проходе
//
public void Execute(ProcessInfo process, PassState passInfo)
{
try
{

    ProcessVariable oCardsColl = process.GetVariableByName("Задания процессов");
    ProcessVariable PerformersVar = process.GetVariableByName("ИД сотрудников (для удаления ярлыков)");

   PerformersVar.Values.Clear();
   int iCount = oCardsColl.Values.Count;
   for (int i = 1; i <= iCount; i++)
  {
      DVCard oCard = (DVCard)oCardsColl.Values[i].Value;

      DVCardSection Section_Performers = (DVCardSection)oCard.GetSectionByAlias("Performers");
      DVCardRows Performers = (DVCardRows)Section_Performers.Rows;
      for (int j=0; j< Performers.Count; j++)
      {
         PerformersVar.Values.AddNew(((DVCardRow)Performers[j]).Value["PerformerID"]);
      }
   }
   process.LogMessage ("Значение переменной изменено");
}
catch (Exception ex)
{
// запись в журнал ошибки исполнения
process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);
}
return;
}
}
}

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

Отправить комментарий