Пособие для партнёров DocsVision


Скачать 0.65 Mb.
Название Пособие для партнёров DocsVision
страница 9/9
Тип Реферат
rykovodstvo.ru > Руководство эксплуатация > Реферат
1   2   3   4   5   6   7   8   9

Приложение 3: примеры сценариев



Получение ФИО пользователя




class DVScript

{

// Получение ФИО пользователя DV

// На входе – переменная “UserDV” типа “Пользователь DV”

// На выходе – переменная “User” типа “Строка”

public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)

{

try

{

process.LogMessage("Получение ФИО Пользователя DV...");

// Переменная типа пользователь DV

ProcessVariable oEmployeeID = process.GetVariableByName("UserDV");

// Переменная типа строка

ProcessVariable oUserFIO = process.GetVariableByName("User");

//Получаем Гейт к DocsVision

DVGate m_oDVGate = (DVGate)process.Gates[DVGate.GateID];

//Получаем Сотрудника

DVPrincipal oEmployee = (DVPrincipal)oEmployeeID.Value;
///Подготоваливаем строки вида Фамилия И.О.

string sTempFIO = "";
if (oEmployee.LastName.Length > 0) { sTempFIO = oEmployee.LastName; }

if (oEmployee.FirstName.Length > 0) { sTempFIO += " " + oEmployee.FirstName.Substring(0, 1) + "."; }

if (oEmployee.MiddleName.Length > 0) { sTempFIO += oEmployee.MiddleName.Substring(0, 1) + "."; }

oUserFIO.Value = sTempFIO;

process.LogMessage("ФИО:" + sTempFIO);

}

catch (Exception ex)

{

// запись в журнал ошибки исполнения

process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);

}

return;

}

}

Получение заместителя пользователя


class DVScript

{

// вход: переменная "UserDV" процесса типа Пользователь DV

// выход: переменная "Deputy" процесса типа Пользователь DV,

// которая вычисляется как первый заместитель у пользователя из переменной1

public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)

{

try

{

process.LogMessage("Получение заместителя...");

// Переменная типа пользователь DV

ProcessVariable oUserDV = process.GetVariableByName("UserDV");

ProcessVariable oDeputy = process.GetVariableByName("Deputy");

DVPrincipal dvUser = (DVPrincipal)oUserDV.Value;

process.LogMessage("Пользователь: " +

dvUser.LastName + " " + dvUser.FirstName + " " + dvUser.MiddleName);

DVPrincipal dvDeputy = dvUser.ActiveDeputy;

oDeputy.Value = dvDeputy;

// Результат

process.LogMessage("Заместитель: " +

dvDeputy.LastName + " " + dvDeputy.FirstName + " " + dvDeputy.MiddleName);

}

catch (Exception ex)

{

// запись в журнал ошибки исполнения

process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);

}

return;

}

}



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



class DVScript

{

// вход:

// переменная "Card" процесса типа "Карточка DV" – карточка

// выход:

// переменная "URL" процесса типа строка – содержит URL на карточку
private DVGate m_oDVGate;
public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)

{

try

{

process.LogMessage("Формирование URL карточки...");

// Переменные

ProcessVariable oURL = process.GetVariableByName("URL");

ProcessVariable oCard = process.GetVariableByName("Card");

// Получаем шлюз

m_oDVGate = (DVGate)process.Gates[DVGate.GateID];

// Приводим тип переменной

DVCard dvCard = (DVCard)oCard.Value;

// Формируем URL

string strUrl = oURL.Value.ToString();

if (m_oDVGate.BaseURL != null)

strUrl += Environment.NewLine + "<" + m_oDVGate.BaseURL + ((m_oDVGate.BaseURL.IndexOf('?') > 0) ? "&" : "?") + "CardID=" + dvCard.ID + ">";

// Результат

oURL.Value = strUrl;

process.LogMessage("Url: " + strUrl);

}

catch (Exception ex)

{

// запись в журнал ошибки исполнения

process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);

}

return;

}

}



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




class DVScript

{

// вход:

// переменная "TargetFolder" процесса типа "Папка DV" – целевая папка

// переменная "Card" процесса типа "Документ DV" – карточка
// выход:

// перемещает сильную ссылку карточки "Card" в "TargetFolder"
private DVGate m_oDVGate;
public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)

{

try

{

process.LogMessage("Перемещение ярлыка...");

// Переменные

ProcessVariable oTargetFolder = process.GetVariableByName("TargetFolder");

ProcessVariable oCard = process.GetVariableByName("Card");

// Приводим типы переменных

DVFolder dvTargetFolder = (DVFolder)oTargetFolder.Value;

DVCard dvCard = (DVCard)oCard.Value;

// Получаем шлюз

m_oDVGate = (DVGate)process.Gates[DVGate.GateID];

process.LogMessage("Получили шлюз");

// получаем сессию

UserSession oSes = m_oDVGate.Session;

process.LogMessage("Получили сессию");

// получение карточки папок

FolderCard oFoldersCard = (FolderCard)oSes.CardManager.get_Card(oSes.CardManager.GetCardByRow(dvTargetFolder.ID, "FE27631D-EEEA-4E2E-A04C-D4351282FB55").ID);

process.LogMessage("Получили карточку папок");

// получение ярлыка

Shortcut oShortcut = oFoldersCard.GetHardLink(dvCard.ID);

process.LogMessage("Получили ярлык, перемещаем");

// перемещение ярлыка

oShortcut.Move(dvTargetFolder.ID);

process.LogMessage("Ярлык перемещен успешно.");

}

catch (Exception ex)

{

// запись в журнал ошибки исполнения

process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);

}

return;

}

}

Удаление унаследованных прав на карточку


class DVScript

{

// Удаление унаследованных прав на карточке

// На входе – переменная “Карточка” типа “Карточка DV”

public void Execute(DocsVision.Workflow.Runtime.ProcessInfo process, PassState passInfo)

{

try

{

ProcessVariable varCard = process.GetVariableByName("Карточка");
// получение шлюза

DVGate dvGate;

dvGate = (DVGate)process.Gates[DVGate.GateID];
// получение объекта сессии для доступа к API

UserSession session = dvGate.Session;
// получение дескриптора

string cardID = ((DVCard)varCard.Value).ID;

ISecurable secureCard = session.AccessManager.GetSecureCard(cardID);

byte[] descBytes = (byte[])secureCard.ADsSecurityDescriptor;

CommonSecurityDescriptor desc = new CommonSecurityDescriptor(true, false, descBytes, 0);
// отключение наследования

desc.SetDiscretionaryAclProtection(true, false);
// сохранение измененного дескриптора

descBytes = new byte[desc.BinaryLength];

desc.GetBinaryForm(descBytes, 0);

secureCard.ADsSecurityDescriptor = descBytes;
process.LogMessage("Унаследованные права удалены");

}

catch (Exception ex)

{

process.LogMessage("Ошибка выполнения скрипта:" + ex.Message);

}

return;

}
}

3Copyright © DocsVision, 2002–2010. Все права защищены v.4.5.0


1   2   3   4   5   6   7   8   9

Похожие:

Пособие для партнёров DocsVision icon DocsVision 6 sr1: Руководство по установке и настройке
Особенности конфигурации серверного программного обеспечения для установки DocsVision 5
Пособие для партнёров DocsVision icon Техническое задание
Сопровождение и разработка прикладных решений на платформе «DocsVision» в 2016 году
Пособие для партнёров DocsVision icon Руководство по установке Иркутск, 2016 г
Конфигурирование программного обеспечения перед установкой серверной части Docsvision 25
Пособие для партнёров DocsVision icon Эпидемиологическое лечение пациентов
Синдромное (эмпирическое, эпидемиологическое) лечение пациентов с клиническими проявлениями иппп и их половых партнеров в практике...
Пособие для партнёров DocsVision icon Руководство разработкой системы документооборота
Разработка приложений для пользователей и партнеров на платформе AndroidДостижения
Пособие для партнёров DocsVision icon Информационное письмо для партнеров
В параметры функции коррекции бд добавлен чек «Контроль пустых мнемокодов» с возможностью их автоматического заполнения
Пособие для партнёров DocsVision icon На русском языке
Членам нп «Гидроэнергетика России» все материалы Международной комиссии по большим плотинам доступны на портале для партнеров в разделе...
Пособие для партнёров DocsVision icon На русском языке
Членам нп «Гидроэнергетика России» все материалы Международной комиссии по большим плотинам доступны на портале для партнеров в разделе...
Пособие для партнёров DocsVision icon Преимущества для партнеров
Партнерам с действующим компетенциями уровня Gold или Silver дополнительно доступна профессиональная техническая поддержка по телефону...
Пособие для партнёров DocsVision icon Данное методическое пособие издается в соответствии с Соглашением...
Пособие содержит материалы и лексику, которые могут быть необходимы при преподавании и использовании профессионально ориентированного...
Пособие для партнёров DocsVision icon Инновационная деятельность. 2009. №1 (6)
Научно-аналитический журнал для ученых, производственников, разработчиков новой продукции, инвесторов, властных структур и организаторов...
Пособие для партнёров DocsVision icon Методическое пособие Саратов 2008 г. Организация комплексной системы...
Методическое пособие предназначено для руководителей и преподавателей- организаторов обж образовательных учреждений
Пособие для партнёров DocsVision icon Главный редактор: Атоян Вазген Рубенович
Научно-аналитический журнал для ученых, производственников, разработчиков новой продукции, инвесторов, властных структур и организаторов...
Пособие для партнёров DocsVision icon Информационное письмо для партнеров
Начиная с версии 71 мастер-диск и инсталлятор единый для Парус-Бюджет, Парус-Муниципальное образование, Парус-Бюджетный учет поселений,...
Пособие для партнёров DocsVision icon Информационное письмо для партнеров
Начиная с версии 71 мастер-диск и инсталлятор единый для Парус-Бюджет, Парус-Муниципальное образование, Парус-Бюджетный учет поселений,...
Пособие для партнёров DocsVision icon Информационное письмо для партнеров
Начиная с версии 71 мастер-диск и инсталлятор единый для Парус-Бюджет, Парус-Муниципальное образование, Парус-Бюджетный учет поселений,...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск