Получение URL-ссылки на карточку

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

Сценарий работает со следующими переменными процесса:
  • Card — карточка, для которой формируется ссылка. Тип "Карточка DV".

  • URL — переменная будет использована для сохранения ссылки. Тип "Строка".

using System;
using System.Xml; (1)

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

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

    ProcessVariable oURL = process.GetVariableByName("URL");
    ProcessVariable oCard = process.GetVariableByName("Card"); (3)

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

    string strUrl = oURL.Value.ToString(); (5)

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

    if (dvGate.BaseURL != null)  (6)
    {
     strUrl += Environment.NewLine + "<" + dvGate.BaseURL + ((dvGate.BaseURL.IndexOf('?') > 0) ? "&" : "?") + "CardID=" + dvCard.ID + ">";
    }

    oURL.Value = strUrl; (7)
   } catch (Exception ex)
   {

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