Расширение возможностей скриптов карточек DocsVision

Источник: dvprofessionals
МИхаил Захаров

Как известно, скрипты в карточках делопроизводства создаются на VisualBasic Script (VBS). Возникает вопрос - а можно ли в скрипте показать форму? Ответ - можно, но только создав внешний компонент с данной формой.

Итак, пример. Создадим дополнительную команду в контекстном меню Навигатора, которая будет создавать задачу в Outlook с напоминанием. При создании задачи у пользователя будем запрашивать дату и время напоминания.

Создаем проект в VisualStudio6: ActiveX Dll (ссылка на файлы внизу).
В данном проекте создаем класс OTaks с методом CreateTask.


Добавляем форму

И описываем её логику.


Компилируем проект, в результате чего появляется библиотека, которую нужно будет зарегистрировать на всех машинах, на которых будет использоваться скрипт.

Создаем дополнительную команду Навигатора. В которой указываем где она появится, и для каких карточек будет действительна.

В скрипте создаем наш объект через CreateObject. В нашей реализации в метод CreateTask передается Subject - тема задания, и Body - текст. В качеcтве темы получаем имя карточки и полный номер. Текст - значение из поля Digest

Sub DoEvent(UserSession, CardHost, FolderType, FolderID, SelectionIDs)
On Error Resume Next
Set oTask=CreateObject("DVMHelper.OTask")
For Each Id In SelectionIDs
Set oCard = UserSession.CardManager.CardData(Id)
Set oMain = oCard.Sections.Item(oCard.Type.Sections.GetByAlias("MainInfo").ID).FirstRow

Body=CStr(oMain.Value("Digest"))
Number=CStr(oMain.Value("FullNumber"))
Subject=Number+" " + CStr(oMain.Value("Name"))
oTask.CreateTask CStr(Subject),CStr(Body)
Next
Set oTask=Nothing
End Sub

После переоткрытия Навигатора в контекстном меню появляется команда.

При выборе запускается сценарий и появляется окно из нашего объекта


После работы скрипта, в Outlook видна задача.


Ниже приведена ссылка на пример проекта и на библиотеку, которую уже можно использовать.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=21394