Перемещение ярлыка карточки

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

Сценарий работает со следующими переменными процесса:
  • TargetFolder — папка Docsvision, в которую будет перемещена ссылка. Тип "Папка DV".

  • Card — карточка, на которую указывает сильная ссылка. Тип "Карточка DV".

using System;
using System.Xml; (1)

using DocsVision.Workflow.Objects;
using DocsVision.Workflow.Runtime;
using DocsVision.Workflow.Gates;
using DocsVision.Platform.HelperAPI;
using DocsVision.Platform.ObjectManager.SystemCards;
using DocsVision.Platform.ObjectManager; (2)

namespace DVScriptHost
{
 class DVScript
 {
  public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)
  {
   try
   {

    ProcessVariable oTargetFolder = process.GetVariableByName("TargetFolder");
    ProcessVariable oCard = process.GetVariableByName("Card"); (3)

    DVFolder dvTargetFolder = oTargetFolder.Value as DVFolder; (4)

    DVCard dvCard = oCard.Value as DVCard; (5)

    DVGate dvGate = process.Gates[DVGate.GateID] as DVGate;

    FolderCard folder = dvGate.UserSession.CardManager.GetCard(new Guid("DA86FABF-4DD7-4A86-B6FF-C58C24D12DE2")) as FolderCard; (6)

    Shortcut shortcut = folder.FindHardLink(new Guid(dvCard.ID)); (7)

    if(shortcut != null)
    {

     shortcut.Move(new Guid(dvTargetFolder.ID)); (8)
    }
   } catch (Exception ex)
   {

    process.LogMessage("Ошибка выполнения скрипта:" + ex.Message); (9)
   }
  }
 }
}
1 Подключение системных библиотек.
2 Подключение библиотек СУБП.
3 Получение переменных процесса.
4 Приведение переменной к типу "Папка DV".
5 Приведение переменной к типу "Карточка DV".
6 Получение карточки папок.
7 Получение сильной ссылки.
8 Перемещение ярлыка.
9 Добавление сообщения об ошибке в журнал процесса.