Перемещение ярлыка карточки
Приведенный далее скрипт осуществляет перемещение сильной ссылки на карточку в заданную папку.
Сценарий работает со следующими переменными процесса:
-
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 | Добавление сообщения об ошибке в журнал процесса. |