close

Вход

Забыли?

вход по аккаунту

?

Развитие программных продуктов ЭОС в 2008 г.

код для вставкиСкачать
Управление процессами в системе Дело
Электронные офисные системы
Дмитрий Юдин
Определение
Пользователи
• Автоматизация процессов работы с
документами в организации путем
задания маршрутов движения
документов и запуска процедур,
включая и внешние процедуры
Разработчики
• Платформа и инструментарий для
разработки и выполнения
процессов, автоматизирующих
работу с документами в системе
Дело
Автоматизируемые операции
Автоматизировать можно любые операции
системы Дело
Сложные
правила
регистрации
Автоматическое
создание
поручений
Слежение за состоянием
документов
Списание
документа в
дело после
исполнения
поручений
Периодические
поручения
Автоматизация
процесса
согласования проектов документов
Взаимодействие с
внешними
системами
Последовательнопараллельные маршруты согласования
Вызов webслужб
Архитектура
Подсистема управления
процессами
База данных
Windows сервис
• Очередь событий
• Хранение
конфигурации
подсистемы
• Хранение состояния
процессов
• Создание среды для
выполнения процессов
WorkflowRuntime
• Слежение за
событиями системы
Дело
• Взаимодействие с
«внешним миром» по
запросу процессов
Приложение
управления
подсистемой
• Загрузка процессов в
систему
• Конфигурирование
процессов
• Отслеживание работы
процессов и служб
Для разработчика
• API доступа к БД Дело
– Сущности – объекты, отражающие схему БД
Дело
– Поисковая машина – генератор SQL
запросов для выполнения поиска по
критериям
– Хранимые процедуры для добавления и
модификации данных
Для разработчика
• Интерфейсы, отвечающие требованиям
стандартного WF-сервиса
ExternalDataExchangeService
– Позволяют использовать стандартные
активности WF 3.5 для доступа к БД Дело
– IDeloApi – позволяет выполнять поиск и
загрузку сущностей, выполнять хранимые
процедуры с помощью активности
CallExternalMethodActivity
– IDeloEvents – позволяет работать с событиями
системы Дело с помощью активности
HandleExternalEventActivity
– IDeloService – предоставляет доступ к
конфигурации процесса и сервиса
Для разработчика
• Библиотека активностей
– Предоставляет «оберточные» активности
для работы с интерфейсами IDeloApi,
IDeloEvents, IDeloService
– Служит примером написания собственных
активностей
• Учебный курс
– В данный момент разрабатывается
Пример разработки процесса
•
•
•
•
•
Описание процесса
Создание проекта в Visual Studio
Создание процесса
Установка процесса в систему
Проверка
Описание процесса
• При регистрации РК,
принадлежащей
группе документов
«Входящие из
вышестоящих
организаций»,
проверить наличие
поручений, и, в случае
их отсутствия, создать
поручение по шаблону
Прочитать РК
Группа?
Поручения
?
Создать
поручение
Создание проекта
• Запустить Visual
Studio
• Выбрать в меню
– File -> New ->
Project
Создание проекта
• Visual C# ->
Workflow ->
Sequential
Workflow Library
– Ввести название
проекта:
AutoResolution
– Нажать OK
Создание проекта
Создание проекта
• Выбрать в меню
– Project -> Add
Reference и
– Выбрать
библиотеки
• Eos.Delo.Common.dll
• Eos.Delo96.Api.dll
Создание процесса
• Для реализации логики
процесса понадобится
несколько переменных
– RcEntity – для
хранения данных РК
– DocgroupEntity – для
анализа группы
документов
– ResolutionList – для
хранения списка
поручений РК
• Для создания
переменных нужно
перейти в режим
редактирования кода
Создание процесса
• Добавить
директивы using
для следующих
пространств имен:
– Eos.Delo.Common
– Eos.Delo96.Api.Entities
– System.Collections.Generic
• Объявить
переменные:
– RcEntity
– DocgroupEntity
– ResolutionList
Создание процесса
• Вернуться в
дизайнер процессов
• Из Toolbox
перетащить
активность
CallExternalMethod в
окно дизайнера
– Name = GetRc
– InterfaceType =
Eos.Delo.WF.IDeloApi
– MethodName = Load
– ReturnValue = Binding
to Workflow1.RcEntity
Создание процесса
• Из Toolbox перетащить
активность
CallExternalMethod в
окно дизайнера
– Name = GetDocgroup
– InterfaceType =
Eos.Delo.WF.IDeloApi
– MethodName = Load
– ReturnValue = Binding
to
Workflow1.DocgroupEnt
ity
– entityRef = Binding to
Workflow1.RcEntity.DOC
GROUP_Ref
Создание процесса
• Из Toolbox
перетащить
активность
IfElseActivity в
окно дизайнера
– Name =
CheckDocgroup
Создание процесса
• Удалить одну из
активностей
IfElseBranchActivity
• Оставшуюся
IfElseBranchActivity
настроить:
– Name = IfDocgroup
– Condition = Declarative
Rule Condition
– ConditionName =
IfDocgroup
• Для ввода условия
используется редактор
правил, который
вызывается по нажатию
кнопки с многоточием
Создание процесса
• Ввести условие проверки
Создание процесса
•
Из Toolbox перетащить
активность
CallExternalMethod в
активность IfDocgroup
– Name = SearchResolutions
– InterfaceType =
Eos.Delo.WF.IDeloApi
– MethodName = Search
– ReturnValue = Binding to
Workflow1.ResolutionList
•
Для заполнения аргументов
поиска нужен обработчик
события MethodInvoking
– дважды щелкнуть по
активности, чтобы создать
его
Создание процесса
• Попадаем в редактор, где нужно ввести код
инициализации аргументов поиска
• После этого возвращаемся в дизайнер
процессов
Создание процесса
• Из Toolbox
перетащить
активность
IfElseActivity в
окно дизайнера
– Name =
CheckResolutions
Создание процесса
• Удалить одну из
активностей
IfElseBranchActivity
• Оставшуюся
IfElseBranchActivity
настроить:
– Name = IfNoResolutions
– Condition = Declarative
Rule Condition
– ConditionName =
IfNoResolutions
• С помощью редактора
правил вводим условие
– this.ResolutionList.Count
== 0
Создание процесса
•
Из Toolbox перетащить
активность
CallExternalMethod в
активность IfNoResolutions
– Name = AddResolution
– InterfaceType =
Eos.Delo.WF.IDeloApi
– MethodName = Execute
– procName =
ADD_RESOLUTION
•
Для заполнения аргументов
процедуры нужен
обработчик события
MethodInvoking
– дважды щелкнуть по
активности, чтобы создать
его
Создание процесса
• Попадаем в
редактор, где
нужно ввести код
инициализации
аргументов
процедуры
ADD_RESOLUITON
• После этого
возвращаемся в
дизайнер
процессов
Создание процесса
• Если нажать на
кнопку масштаба,
можно увидеть
весь процесс
целиком
• Последний шаг –
компиляция
процесса
– Build -> Build
Solution
Установка процесса в систему
• Запустить webприложение управления
подсистемой
• Зайти по ссылке
«Управление сервисами»
• Убедиться, что все
сервисы остановлены и
их выполнение
запрещено
– Если это не так, отметить
выполняющиеся сервисы
и нажать на кнопку
«Запретить»
Установка процесса в систему
• Зайти по ссылке
«Ведение процессов»
• Нажать на кнопку
«Загрузить»
• Нажать на кнопку
«Обзор» и выбрать
только что
полученный в
результате
компиляции файл
AutoResolution.dll
• Нажать кнопку
«Сохранить»
Установка процесса в систему
• После загрузки в
списке
появляется
информация о
библиотеке
процессов,
включая список
процессов,
находящихся в
ней
Установка процесса в систему
• Создать с помощью любого текстового
редактора (Блокнот) конфигурационный файл
для автоматического запуска процесса
• Сохранить файл, например, под именем
process_config.xml
Установка процесса в систему
• Зайти по ссылке
«Конфигурация
процессов»
• Нажать на кнопку
«Добавить»
• Настроить
ассоциацию как на
рисунке
• Нажать кнопку
«Сохранить»
Установка процесса в систему
• После сохранения, в списке появляется
информация о конфигурационной
ассоциации процесса
Установка процесса в систему
• Настройка
завершена, нужно
запустить сервисы
• Зайти по ссылке
«Управление
сервисами»
• Отметить нужные
сервисы и нажать
на кнопку
«Разрешить»
Проверка работы процесса
• Зайти в Дело WEB
• Создать РК группы документов
«Входящие из вышестоящих
организаций»
• Через 15 – 20 секунд нажать F5 для
обновления информации, у РК должна
появиться резолюция
Пример процесса согласования
• Данный процесс разработан для
поддержки согласования договоров по
реальному регламенту
• Как это началось: Согласование
договоров\Движение договоров от
сумм.htm
• После работы аналитика: Согласование
договоров\согласование.htm
• Постановка для разработки процесса:
Согласование договоров\Постановка2.htm
Пример процесса согласования
• Демонстрация работы процесса.
Работа по электронной почте
• Цель – обеспечить отсоединенный режим работы
с системой Дело, включая возможность работы с
мобильного устройства
– Электронная почта выбрана как наиболее
универсальный способ доставки информации,
независящий от используемых устройств, начиная от
ПК и заканчивая смартфонами
• Компонент взаимодействия с системой Дело через
электронную почту сначала разрабатывался
независимо от процессного управления, затем
было принято решение выделить бизнес
зависимую часть в виде процессов
Работа по электронной почте
Работа по электронной почте
• Демонстрация работы
СПАСИБО ЗА ВНИМАНИЕ!
ЭЛЕКТРОННЫЕ ОФИСНЫЕ СИСТЕМЫ
WWW.EOS.RU
Юдин Дмитрий Анатольевич
E-mail: yudindm@eos.ru
107023 Москва, ул. Электрозаводская, д. 52
Телефон для контактов (он же для факсов):
(495) 580-75-15
Электронная почта:
Служба маркетинга: market@eos.ru
Служба поддержки: support@eos.ru
Документ
Категория
Презентации
Просмотров
26
Размер файла
3 016 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа