Как известно, скрипты в карточках делопроизводства создаются на 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 видна задача.  Ниже приведена ссылка на пример проекта и на библиотеку, которую уже можно использовать. Скачать проект и библиотеку
Читать дальше
Пример назначения прав на карточку из скрипта карточки (через ADSI): ' Rights iRights = &H1 + &H2 ' read+change! aEmpl = Array ("DOMAIN\User1","DOMAIN\User2") ' Get secure object Set oSecureObj = UserSession.AccessManager.GetSecureCard(CardData.ID) Set oSD = oSecureObj.ADsSecurityDescriptor Set oDACL = oSD.DiscretionaryAcl ' remove old ace's Do bFlag = False For Each oACE In oDACL oDACL.RemoveAce (oACE) bFlag = True Next Loop Until bFlag = False ' Add Rights For n = 0 To iCount sEmpl = aEmpl(n) If CStr(sEmpl) <> "" Then Set oNewAce = CreateObject("AccessControlEntry") oNewAce.AccessMask = iRights oNewAce.AceType = 0 ' allowed oNewAce.AceFlags = 2 'inherit oNewAce.Trustee = sEmpl oDACL.AddAce oNewAce End If Next Set oSecureObj.ADsSecurityDescriptor = oSDСписок прав (все значения являются битовой маской и могут суммироваться): "000F001F" Полный доступ "00000001" Чтение данных объекта "00000002" Изменение данных объекта "00000004" Создание дочерних объектов "00000008" Удаление дочерних объектов "00000010" Копирование объекта "00010000" Удаление объекта "00020000" Чтение разрешений "00040000" Изменение разрешений "00080000" Смена владельца "00020001" Чтение "0000001E" Изменение "00010000" Удаление "000C0000" Владение При назначении прав в бизнес-процессе или из .net приложений, нужно пользоваться методами .net framework
Читать дальше
Чтобы пользоваться сессией - объект UserSession, в сценариях, нужно её создать. Делается это так: C# // получаем шлюз DVGate oGate = (DVGate)process.Gates[DVGate.GateID]; // получаем сессию UserSession oSession = oGate.Session;VB.NET ' получаем шлюз Dim oGate As DVGate = CType(process.Gates(DVGate.GateID), DVGate) ' получаем сессию Dim oSession As DocsVision.Platform.ObjectManager.UserSession = oGate.SessionНельзя пользоваться сессией Workflow: process.Session
Читать дальше
Задача. Нужно урезать пользователям права на папки в DocsVision 4.1, так чтобы у них была возможность создавать в папке карточки и подпапки, но удалить папку или изменить её название было нельзя. Для этого нужно выставить следующий набор прав: Чтение данных объекта, Создание дочерних объектов, Копирование объекта, Изменение объекта. Но поскольку есть права на изменение (а убрать их нельзя, иначе невозможно будет создавать ярлыки), то как запретить редактирование свойств. Для этого необходимо создать папку определенного типа, в настройках типа в справочнике типов папок должен стоять флаг "Запретить изменение свойств пользователю"
Читать дальше
Наверное один из самых актуальных вопросов, который довольно просто решается. СимптомЗапускается задача или согласование на исполнение, но исполнители не получают свои задания. В чем причинаЗа рассылку заданий отвечает подсистема бизнес-процессов (Workflow). Возможные причины. - Остановлены системные процессы «Экземпляр процесса Мониторинг задач» («Instance of process Approval Monitoring») и/или «Экземпляр процесса Мониторинг согласований» («Instance of process Resolution Monitoring»)
- Сервис бизнес-процессов остановлен и не обрабатывает процессы
- При создании задачи или согласования установлена опция «Обрабатывать в отдельном процессе» («Use approving function in own process»), и при этом экземпляр процесса, который отвечает за обработку согласований остановлен или не существует.
Что нужно сделать1. Проверьте, что системные процессы «Экземпляр процесса Мониторинг задач» («Instance of process Approval Monitoring») и/или «Экземпляр процесса Мониторинг согласований» («Instance of process Resolution Monitoring») работают. Для этого найдите данные экземпляры при помощи атрибутивного поиска, указав в качестве условия название экземпляра процесса.
 Откройте каждый из этих экземпляров. Если они остановлены, запустите их. Проверьте, приходят ли задания исполнителям 2. Проверьте, что сервис бизнес-процессов запущен и обрабатывает экземпляры процессов. Для этого достаточно создать простой бизнес-процесс с двумя функциями начальной и конечной, и запустить его. Если бизнес-процессы не обрабатываются, то нужно выяснить и устранить причину. 3. Если в карточке задачи или согласования установлена опция «Обрабатывать в отдельном процессе» («Use approving function in own process»), то нужно выяснить, запущен ли бизнес-процесс, который отвечает за обработку задач и согласований. О наличии данного процесса должен сообщить поставщик решения. Настройка устанавливается a) в карточке задачи, в параметрах бизнес-процесса (кнопка на панели)  b) в карточке согласования в настройках  Если все вышеописанные действия не привели к успеху, то необходимо обратиться в службу технической поддержки.
Читать дальше
СитуацияНа компьютерах с ОС Windows Vista Business (Premium) или Windows 2008 Server установлены клиенты DocsVision Навигатор. При создании карточек недоступны настроенные виды документов, только типы, при попытке создать документ стандартного типа возникает ошибка: "Не удалось создать новый список файлов. 8002801D: Automation error. Library not registered." В чем причинаИз-за измененной схемы безопасности в Vista. Что нужно сделатьНеобходимо производить установку клиентской части в режиме "для всех пользователей". Данная инструкция так же продублирована в документе HowToInstall.html
Читать дальше
СитуацияПереустановили сервер DocsVision на новую машину, после подключения сервера к базе произошла ошибка при входе в Навигатор: "Базу данных обрабатывает максимальное количество серверов, указанное в лицензии". Либо после разворачивания кластера NLB при входе в Навигатор появляется сообщение "Базу данных обрабатывает максимальное количество серверов, указанное в лицензии" В чем причинаНачиная с версии 4.1. сервер StorageServer учитывает количество подключений к базе данных. Если в списке сессий значатся несколько имен серверов, и при этом в лицензионном ключе не указана возможность создания кластера NLB, то возникает такая ошибка. Что нужно сделать1. Если вы настраиваете кластер NLB, то необходимо, чтобы в лицензионном ключе была указана возможность создания кластера. 2. Если просто переносился бекап на другой сервер, или сервер DocsVision изменил имя, то для того, чтобы убрать ошибку нужно удалить всю информацию о сессиях: DELETE FROM dvsys_sessions
Читать дальше
Ситуация
После выполнения операций с базой данных, например, обновление или создание новой. При входе в Навигатор, или других операциях в Консоли настройки появляется сообщение об ошибке "Работа с системой временно запрещена администратором" В чем причина
При выполнении операции с базой произошла ошибка, и в целях недопущения дальнейшей работы база автоматически блокируется.
Что нужно сделать
Прежде всего важно помнить, что если произошла ошибка при обновлении базы данных, то работать с такой базой очень рискованно. База может иметь неустранимые повреждения, которые могут проявиться в последствии. Поэтому если проводилось обновление, то нужно восстановить не обновленную базу из бекапа. И повторить операцию обновления снова. Если была ошибка, то ошибку надо устранить. Если ошибка была при создании базы, то попытаться создать базу снова. Если ошибка не исчезает, то нужно её устранить. И последнее. Базу можно разблокировать, выполнив запрос: UPDATE dbo.dvsys_globalinfo SET Disabled='false'
Читать дальше
С сегодняшнего дня стартует раздел "Разбор полетов" в котором будем разбирать некоторые инциденты и методы их решения. Таким образом будет формироваться некая база знаний. Ситуация.Установили шлюз в SharePoint2007, при попытке добавить в бизнес-процесс переменную из данного шлюза (например, Элемент библиотеки документов). Появляется окно в предложением ввести логин и пароль. После ввода логина и пароля появляется сообщение "Доступ запрещен". В чем причина
При добавлении переменной шлюз производит попытку соединения с сервисом SharePointAccessService.asmx для получения данных об объектах. Авторизация происходит: а) по встроенной аутентификации, в случае если в настройках шлюза не указана конкретная учетная запись б) по базовой аутентификации если в настройках шлюза указана конкретная учетная запись. Настройки шлюза задаются в "Консоли настройки", ветка Шлюз в SharePoint. Следовательно причина может быть такова а) Сервис SharePointAccessService.asmx не установлен на сервере SharePoint б) Произошла ошибка доступа к сервису SharePointAccessService.asmx в) Произошла ошибка доступа сервиса SharePointAccessService.asmx к службам SharePoint г) Произошла ошибка при работе сервиса SharePointAccessService.asmx Что нужно сделать1. Проверить, что на сервере SharePoint установлен компонент AccessService (Веб сервис доступа), из дистрибутива шлюза в SharePoint 2007. Если нет, то произвести установку 2. Проверить на сервере SharePoint, что в ключе задано значение. HKEY_LOCAL_MACHINE\SOFTWARE\DocsVision\SharePointGate2007\4.1\TemplatesDir - папка, и существует ли она. Если нет, то нужно указать значение C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\. 3. Проверить в логах IIS на сервере SharePoint нет ли ошибок доступа к SharePointAccessService.asmx. Если есть, то нужно разбираться в причинах 4. Проверить, что пользователь, под которым осуществляется подключение, имеет права на доступ к SharePoint. Данный пользователь должен быть заведен на самом портале. Так же нужно помнить, что если подключение шлюза идет по встроенной аутентификации, то при работе экземпляра бизнес-процесса соединение с SharePoint будет происходить под учетной записью, под которой запущен сервис Workflow.
Читать дальше
Вот это да! DocsVision Навигатор теперь можно запускать не только в Internet Explorer и FireFox, но и в Opera и Safari (для Windows)!   Как же воспользоваться такой возможностью. [Отредактировано 14.07.2009 18:45]1. Скачать плагин2. Установить DocsVisionPlugin.msi на клиенте. 2. Заменить файл StartPage.js (для 4.3) или Start.js (для 4.1) в папке "<директория_установки>\DocsVision\Platform\4.1\Server\Site" на соответствующий файл из архива. Данный плагин подходит для всех версий DocsVision линейки 4.1 и 4.3. Так же можно использовать и для работы с DocsVision 4.0. Для этого возьмите файл Start.js. Найдите в тексте строку version="4.1" и замените на version="4.0". Далее файлик надо заменить в "<директория_установки>\DocsVision\Platform\4.0\Server\Site" Все. Теперь Навигатор можно открыть в Internet Explorer, FireFox, Opera и Safari (для Windows). Хоть во всех сразу. Known issues. 1. В Safari не работает ключ disableNTLM=1. Вход возможен только по встроенной авторизации 2. Для браузеров кроме IE параметры отображения панелей, скрытия заставки и т.п., которые передаются в адресной строке, не работают. 3. В Google Chrome Навигатор открывается но не работает :) Плагин создан в DocsVision. Пока предоставлятся в режиме "как есть", т.е. без гарантий. Подумаем о включении в поставку в будущем. Обо всех ошибках пишите в коментариях к публикации.
Читать дальше
Итак, летняя новость, - кто находится в отпуске не узнают, - теперь клиентскую часть DocsVision Навигатор можно запускать в FireFox!  Что нужно сделать. Прежде всего скачать файлы1. Установить плагин DocsVision.xpi стандартным для FireFox способом (откыть этот файл в FireFox). 2. Заменить файл StartPage.js (для 4.3.1826) или Start.js (для 4.1.1640) в папке "<директория_установки>\DocsVision\Platform\4.1\Server\Site" на соответствующий файл из архива. 3. Положить файл DocsVision.xpi в "<директория_установки>\DocsVision\Platform\4.1\Server\Site\Setup" Навигатор будет открываться как в InternetExplorer, так и в FireFox. И на закуску, скриншот веб-расширений 4.3, которые еще разрабатываются.
Читать дальше
Проще, конечно, воспользоваться ф-цией "Подпроцесс", но если очень нужно запустить при помощи сценария, то можно воспользоваться объектом DocsVision.Workflow.Objects.Library (из DocsVision.Workflow.Runtime). У данного объекта есть метод CreateProcess: Public Function CreateProcess(ByVal Template As DocsVision.Workflow.Objects.Process) As DocsVision.Workflow.Objects.Process На вход функция принимает шаблон процесса, а на выходе возвращает экземпляр. У экземпляра нужно вызвать метод Start: Public Sub Start(ByVal AccountName As String, ByVal Library As DocsVision.Workflow.Objects.Dictionary)Да, и в конструкторе Library нужно передать сессию, и два параметра 1 и 1 - это размер пула шлюзов и функций. Public Sub New(ByVal session As UserSession, ByVal SessionPoolSize As Integer, ByVal GatePoolSize As Integer)
Читать дальше
В чем, на ваш взгляд, заключается поддержка разработчиков?
Читать дальше
При генерации отчета в браузере (по преобразованию) в результирующий файл после преобразования записывается в начало и конец следующий код:  Т.е. при создании xslt шаблона это надо учитывать, и писать сразу тело (то, что будет потом между <body> < /body>) В связи с этим опрос. Убирать ли эту добавку при генерации отчета в будущих версиях модуля? Это, например, позволит менять название страницы в <title> < /title>. Ответы на опрос в комментах. Например: "Убирать не надо, потому, что мы все отчеты делали изначально с учетом этого. Придется переделывать".
Читать дальше
Блог испытал на себе косметический ремонт: новый шаблон + ярлыки в виде облака. Теперь не только читать, но и смотреть приятно. Нравится?
Читать дальше
На сайте DocsVision, в разделе "загрузки" выложена виртуальная машина с демонстрационной редакцией системы DocsVision 4.1 SR2, демобазой, сопутствующей документацией и вспомогательными материалами. Теперь для ознакомления с системой не нужно разворачивать всю инфраструктуру и инсталлировать DocsVision. В общем чрезвычайно удобно. Так же доступны два видеоролика http://docsvision.com/nc/video/- Демонстрация типового примера организации делопроизводства на базе системы DocsVision 4.1
- Демонстрация возможностей автоматизации бизнес-процессов в DocsVision 4.1
Читать дальше
|
|