1. Зайдите в систему RunaWFE под учётной записью Administrator. Перейдите в раздел "Редактор процессов".
2. Создайте новый проект - "Занятие 05". Создайте в нём новый бизнес-процесс "Пример 05-1". Используйте следующие элементы для создания бизнес-процесса в соответствии с Рис. 10.1:
Создайте роли на вкладке редактора Roles:
Далее для узлов бизнес-процесса выберите роли в соответствии с Рис.10.1.
Замечание. Роль "Руководитель" инициализируется в стартовом узле бизнес-процесса сотрудником, запустившим этот экземпляр бизнес-процесса. Но для получения ожидаемого в примере результата предполагаем, что процесс будет запускать Паучков.
3. Создайте группы на вкладке слева "Исполнители" (в среде исполнения):
4. Инициализируйте роли "Директор", "Отдел кадров", "Бухгалтер" и "Сотрудник" с помощью соответствующих групп (Директор, Отдел кадров, Бухгалтеры, Сотрудники Паучкова).
Для этого вернитесь в редакторе к разрабатываемому процессу, перейдите на вкладку Роли, выберите роль и щёлкните на кнопку "Edit", находящуюся перед ней. Используйте инициализацию с помощью групп wf.
5. Создайте указанных ниже исполнителей и распределите их по группам:
Добавьте в группу "Директор" пользователей:
Добавьте в группу "Бухгалтеры" пользователей:
Добавьте в группу "Отдел кадров" пользователей:
Добавьте в группу "Сотрудники" пользователей:
Добавьте в группу "Сотрудники Паучкова" пользователей:
6. Создайте переменные в соответствии с Рис.10.2.
7. Создайте форму для стартового узла "Подать заявку на премию".
На данной форме Руководитель, стартуя бизнес-процесс, будет вводить данные для подачи заявки на премию: сотрудник, размер премии, выполненные работы.
Щёлкните правой кнопкой по стартовому узлу и выберите пункт "Createcustomform" ("Создайте пользовательскую форму") (Рис.10.3).
Для создания поля щёлкните в этом меню кнопку "addnewcomponent". Значение поля "Сотрудник" будет выбираться из списка - из группы "Сотрудники Паучкова". Поэтому в меню формирования компонента в поле "component" выбираем значение "Selectionfromgroupmembers" ("Выбор из членов группы") (Рис.10.4).
В появившемся меню заполните поля как показано на Рис.10.5 и выберите кнопку "create".
Аналогичным образом создайте поля "Размер премии" и "Описание выполненных работ". Эти поля имеют текстовое заполнение и для них следует выбирать тип компонента "Inputvariable" (Рис.10.4). Окончательный вид меню создания формы для стартового узла представлен на Рис.10.6.
8. Настройте задачи сценариев.
По задаче сценария "ФИО сотрудника" щёлкните правой кнопкой мыши и из выпавшего меню выберите команду "Configuratescript" ("Отконфигурировать скрипт"). В поле "Handler" появившегося меню выберите "Getexecutorunfo" ("Получить информацию об исполнителе"). Меню приобретёт вид, показанный на Рис.10.7. Заполните остальные поля согласно этому рисунку и выберите кнопку "update".
Выбранный обработчик определяет полное имя (ФИО) Сотрудника и сохраняет результат в строковую переменную "ФИО сотрудника", но в служебной записке и приказе на премирование должно использоваться ФИО в дательном падеже.
Это значение позволит получить следующая задача сценария "ФИО сотрудника в дательном падеже", в конфигурации которого необходимо выбрать класс обработчика "Executeformula" ("Выполнить формулу"). В текстовое поле конфигурацию обработчика добавьте следующую формулу:
'ФИО сотрудника 3'=FIO_case_ru('ФИО сотрудника', 3, "F i o");
'ФИО сотрудника 3' - переменная, в которую будет сохранено ФИО в дательном падеже,
FIO_case_ru(fio, caseNumber, mode) - функция, склоняющая ФИО, имеет параметры:
fio - фамилия, имя и отчество в именительном падеже (в нашем случае задана с помощью переменной 'ФИО сотрудника')
caseNumber - номер падежа от 1 до 6 (в нашем случае 3 - это Дательный падеж)
mode - строка форматирования:
Символы форматирования F, I и O заменяются на фамилию, имя или отчество в соответствующем падеже
Символы форматирования f, i и o заменяются на первую букву фамилии, имени или отчества.
Т.е. данный обработчик сформирует Фамилию в дательном падеже, добавив к ней первую букву Имени и первую букву Отчества, например "Иванову И.И.".
Для облегчения вставки в конфигурацию переменных воспользуйтесь пунктом "Вставить переменную", соответственно для вставки функции используйте "Вставить функцию". Вставка производится в текущее положение курсора.
Следующая задача сценария (Рис.10.9) - это "Определение текущей даты". Здесь также используется обработчик "Executeformula" ("Выполнить формулу"). Конфигурация имеет следующее выражение
'Текущая дата' = current_date();
Функция current_date определяет текущую дату и сохраняет результат в переменную "Текущая дата".
Для узла "Проверка данных для оформления служебной записки" создайте пользовательскую форму с компонентами
ФИО сотрудникаРазмер премииОписание выполненных работТекущая дата,
как показано на Рис.10.9а .
Следующая задача сценария "Генерация служебной записки" создаст файл служебной записки.
Предварительно в редакторе Word-файлов (они имеют расширение .DOCX) необходимо создать файл с шаблоном служебной записки, вид которого изображён на Рис. 10.10.
При выполнении экземпляра бизнес-процесса обработчик заменит выражения вида ${Переменная} на текущие значения одноимённых переменных из процесса в формате, определенном в среде разработки.
Кроме ранее рассмотренных переменных, тут также используется поле fullName, определяющее ФИО пользователя (в именительном падеже) роли Руководитель (как свойство объекта Руководитель).
Сохраните шаблон и закройте редактор Word-файлов.
Далее откройте меню конфигурирования узла-сценария "Генерация служебной записки". В качестве класса обработчика выберите - "Wordhandler". Заполните поля как показано на Рис.10.11.
Для того, чтобы привязать к данной конфигурации созданный нами файл с шаблоном служебной записки, выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо будет найти и выбрать созданный шаблон. Сохраните созданную конфигурацию ("update" + синяя дискета). В результате содержимое файла будет включено в контент процесса и меню примет окончательный вид (Рис.10.11).
9. Создайте форму для узла "Подписать служебную записку и отдать ее в отдел кадров".
Отконфигурируйте файловую переменную "Служебная записка" как показано на Рис.10.12.
Это будет единственное поле на форме (Рис.10.13).
Т.е. на данной форме Руководитель получит ссылку на файл служебной записки, которую необходимо подписать и отдать в бумажном виде в отдел кадров.
Задание "Получить подписанную служебную записку на премию сотруднику" предназначено для фиксации факта получения бумажной служебной записки от Руководителя. Здесь важем сам факт прохождения документа, который и фиксируется фактом выполнения данного задания. Поэтому форма этого узела-действия не имеет полей.
10. Создайте форму для узла "Рассмотреть заявку на премию" (Рис.10.14).
Расположите 4 компоненты "Отобразить переменную". Для отображения роли "Руководитель" (будет выведено ФИО Руководителя), переменных "ФИО сотрудника", "Размер премии" - используйте форму отображения "Как строку". Для отображения переменной "Описание выполненных работ" используйте в качестве формы отображения вариант "Как неактивный компонент ввода".
Добавьте компонент для ввода переменной "Комментарий директора".
В этой форме Директор рассматривает заявку, вводит комментарии и одобряет или отказывает в премировании.
11. Создайте форму для узла "Ознакомиться с решением об отказе" (Рис.10.15).
Сделайте отображение значений переменных "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Комментарий директора". При этом для строковых переменных используйте отображение "Как строка", для текстовых переменных - "Как неактивный компонент ввода".
12. Создайте форму для узла "Ознакомиться с сообщением о согласии" (Рис.10.16).
Т.к. данная форма отличается от формы "Ознакомиться с решением об отказе" лишь заголовком, то можно воспользоваться функцией создания формы на основе существующей
13. Создайте композицию "Издание приказа и начисление премии".Композиция похожа на подпроцесс, однако является более "легкой" конструкцией, т.к. для композиции не порождается нового экземпляра процесса, следовательно, у неё нет своих собственных переменных, инициализаторов ролей и т.д.. Выделите на схеме элемент подпроцесс "Издание приказа и начисление премии", затем щёлкните на данном элементе правой кнопкой мыши и выберите пункт "Новая композиция" (Рис.10.17).
В появившемся окне введите название "Издание приказа и начисление премии".
Будет создана новая композиция и привязана к этому узлу-подпроцессу.
14. Создайте композицию вида, изображенного на Рис.10.19.
Проинициализируйте задачи ролями в соответствии с Рис.10.19.
15. Создайте пользовательскую (Custom) форму для узла "Издать приказ о премировании".
Расположите на ней единственный компонент для ввода переменной "Номер приказа".
16. Настройте задачи сценария.
В задаче сценария "ФИО директора", используя класс обработчика "Получить информацию об исполнителе", определите фамилию, имя и отчество Директора ( Рис.10.21).
Для задачи сценария "Сгенерировать текст приказа" выберите класс обработчика "Выполнить формулу".
Используйте следующую конфигурацию для данного обработчика:
'Текст приказа о премировании'="Начислить сотруднику " + 'ФИО сотрудника 3' + " премию за высокие достижения в работе в сумме " + 'Размер премии' + " руб."
Здесь используются переменные: 'Текст приказа о премировании' , 'ФИО сотрудника 3' и 'Размер премии'.
17. Сконфигурируйте узел-сценария "Сгенерировать приказ".
Предварительно в любом редакторе сформируйте DOCX-файл с шаблоном приказа, как показано на Рис.10.23.
Далее, нажав правую кнопку на узле-сценарии, вызовите меню конфигурирования сценария. Заполните поля, как показано на Рис.10.24, и выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо выбрать файл с шаблоном приказа. Вернувшись с выбранным файлом в меню, выберите кнопку "update". Выбранный вами файл шаблона будет встроен в процесс. Именно после этого меню приобретёт окончательный вид, показанный на Рис.10.24.
18. Создайте пользовательскую форму для узла "Ознакомиться с приказом" (Рис.10.25).
На ней файловую переменную "Приказ" с помощью компонента "Displayvariable" ("Отобразить переменную") отобразите "Как строку".
Чтобы вставить в форму заголовок "Вам необходимо подойти в Отдел кадров и ознакомиться с приказом под подпись", выберите ссылку "edit" поля "htmlcode" и вставьте этот текст как заголовок второго уровня в начале текста. Выберите ссылку "update" для сохранения.
19. Создайте пользовательскую форму для узла "Получить подпись сотрудника об ознакомлении с приказом".
Графическая форма может быть создана на основании формы "Ознакомиться с приказом" и содержит только поля "Сотрудник" и "Приказ". В созданной по прототипу форме добавьте поле "Сотрудник" и замените заголовок в поле "htmlcode" ( Рис.10.26). Выберите ссылку "update".
Теперь в поле "htmlcode" поменяйте местами блоки кода, относящиеся к полям "Приказ" и "Струдник" (Рис.10.27). Выберите ссылку "update" для сохранения внесённых правок. Обатите внимание, что порядок полей в списке тоже изменился.
20. Создайте пользовательскую форму для узла "Начислить премию сотруднику" с полями "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Приказ".
При этом для текстовой переменной "Описание выполненных работ" используйте форму отображения "Как неактивный компонент ввода", для остальных - "Как строка" (Рис.10.28). При создании этой формы вы можете использовать форму узла "Получить подпись сотрудника об ознакомлении с приказом" в качестве прототипа.
Создайте в форме недостающие поля, в поле "htmlcode" удалите заголовок и отстройте порядок полей как показано на Рис.10.28. Сохраните композицию (синяя дискета).
21. Создайте пользовательскую форму для узла "Ознакомиться с начислением премии" (Рис.10.29). В качестве прототипа целесообразно использовать предыдущую форму.
22. Экспортируйте разработанный процесс "Пример 05-1" в раздел "Запустить процесс" RunaWFE.
Для этого щёлкните разработанный бизнес-процесс правой кнопкой, в выпавшем меню выберите команду "Deploy".
23. Войдите на сервер под пользователем Administrator.
Процесс "Пример 05-1" должен запускать "Руководитель" - пользователь "Паучков" (который является руководителем Сверчкова).
24. Выполните процесс "Пример 05-1".
Войдите в систему под пользователем "Паучков", запустите процесс. Введите данные на стартовой форме и нажмите "Запустить" (Рис.05.31).
"Паучков" получит задачу "Подписать служебную записку и передать её в отдел кадров". Откройте задание, нажмите на ссылку "Служебная записка о начислении премии.docx", скачайте/откройте сформированную с помощью обработчика "Wordhandler" на основе шаблона служебную записку (Рис.10.31).
Распечатайте служебную записку. Выполните задание.
Параллельно "Отдел кадров" получает задание "Получить подписанную служебную записку на премию сотруднику".
Войдите в систему под пользователем, входящим в группу "Отдел кадров", например, "Личинкин". Возьмите задачу на выполнение и исполните её ( Рис.10.32).
Член группы "Директор" (в нашем случае это пользователь Стрекозин) получает задание "Рассмотреть заявку на премию".
Войдите в систему под пользователем "Стрекозин", возьмите задание на выполнение, введите комментарий и одобрите заявку на премию (Рис. 10.33).
Руководитель (Паучков) получит задание "Ознакомиться с сообщением о согласии", параллельно с этим будет запущена композиция "Издание приказа и начисление премии", в которой "Отделу кадров" поступит задание "Издать приказ о премировании".
Войдите в систему под пользователем "Паучков", выполните активное задание (Рис.10.34).
Войдите в систему под пользователем "Личинкин", входящим в группу "Отдел кадров", возьмите на выполнение задание, введите "Номер приказа" и выполните задачу (Рис. 10.35).
Войдите в систему под пользователем "Сверчков", откройте задание "Ознакомиться с приказом".
Нажмите ссылку на сгенерированный с помощью Word сценария файл "Приказ.docx"
Распечатайте сгенерированный сценарием документ. Завершите запущенный экземпляр бизнес-процесса, последовательно выполнив соответствующие задания под пользователями Личинкин (входит в группу Отдел кадров), Бражникова (входит в группу Бухгалтеры) и Сверчков (сотрудник, которому начисляется премия).
Разработайте бизнес-процесс "Пример 05-2", схема которого изображена на Рис.10.38.
Для генерации приказа на отпуск используйте тот же шаблон для документа "Приказ", который был использован в процессе "Пример 05-1". "Заявление на отпуск" должно формироваться в задаче сценария с помощью обработчика "Wordhandler". При этом создайте новый шаблон для документа "Заявление на отпуск" непосредственно в процессе.
В задании "Введите номер приказа на отпуск", кроме непосредственно ввода номера приказа также необходимо расположить компонент "Выбор из членов группы", необходимый для формирования на форме списка пользователей группы "Директор и заместители". Соответственно роль Директор будет проинициализирована выбранным из списка пользователем.
В компоненте форм "Выбор из членов группы" в качестве параметра "Группа" можно использовать предварительно созданную переменную формата "Группа", проинициализированную значением "Директор и заместители" (подобный пример см. в Практическое занятие "Изучение перспективы данных")
Используйте задачи сценария для определения и формирования:
В бизнес-процессе "Пример 05-2" должны быть автоматически сгенерированы документы "Заявление на отпуск" и "Приказ на отпуск".
Документ "Заявление на отпуск" должен содержать:
Документ "Приказ" должен содержать:
Замечание. В отличие от приказа из процесса "Пример 05-1", в данном приказе на отпуск используется дата, совпадающая с датой ввода номера приказа сотрудником отдела кадров, а не с датой запуска бизнес-процесса.
Administrator, если он отличается от wf.
1. Зайдите в систему RunaWFE под учётной записью Administrator. Перейдите в раздел "Редактор процессов".
2. Создайте новый проект - "Занятие 05". Создайте в нём новый бизнес-процесс "Пример 05-1". Используйте следующие элементы для создания бизнес-процесса в соответствии с Рис. 10.1:
Создайте роли на вкладке редактора Roles:
Далее для узлов бизнес-процесса выберите роли в соответствии с Рис.10.1.
Замечание. Роль "Руководитель" инициализируется в стартовом узле бизнес-процесса сотрудником, запустившим этот экземпляр бизнес-процесса. Но для получения ожидаемого в примере результата предполагаем, что процесс будет запускать Паучков.
3. Создайте группы на вкладке слева "Исполнители" (в среде исполнения):
4. Инициализируйте роли "Директор", "Отдел кадров", "Бухгалтер" и "Сотрудник" с помощью соответствующих групп (Директор, Отдел кадров, Бухгалтеры, Сотрудники Паучкова).
Для этого вернитесь в редакторе к разрабатываемому процессу, перейдите на вкладку Роли, выберите роль и щёлкните на кнопку "Edit", находящуюся перед ней. Используйте инициализацию с помощью групп wf.
5. Создайте указанных ниже исполнителей и распределите их по группам:
Добавьте в группу "Директор" пользователей:
Добавьте в группу "Бухгалтеры" пользователей:
Добавьте в группу "Отдел кадров" пользователей:
Добавьте в группу "Сотрудники" пользователей:
Добавьте в группу "Сотрудники Паучкова" пользователей:
6. Создайте переменные в соответствии с Рис.10.2.
7. Создайте форму для стартового узла "Подать заявку на премию".
На данной форме Руководитель, стартуя бизнес-процесс, будет вводить данные для подачи заявки на премию: сотрудник, размер премии, выполненные работы.
Щёлкните правой кнопкой по стартовому узлу и выберите пункт "Createcustomform" ("Создайте пользовательскую форму") (Рис.10.3).
Для создания поля щёлкните в этом меню кнопку "addnewcomponent". Значение поля "Сотрудник" будет выбираться из списка - из группы "Сотрудники Паучкова". Поэтому в меню формирования компонента в поле "component" выбираем значение "Selectionfromgroupmembers" ("Выбор из членов группы") (Рис.10.4).
В появившемся меню заполните поля как показано на Рис.10.5 и выберите кнопку "create".
Аналогичным образом создайте поля "Размер премии" и "Описание выполненных работ". Эти поля имеют текстовое заполнение и для них следует выбирать тип компонента "Inputvariable" (Рис.10.4). Окончательный вид меню создания формы для стартового узла представлен на Рис.10.6.
8. Настройте задачи сценариев.
По задаче сценария "ФИО сотрудника" щёлкните правой кнопкой мыши и из выпавшего меню выберите команду "Configuratescript" ("Отконфигурировать скрипт"). В поле "Handler" появившегося меню выберите "Getexecutorunfo" ("Получить информацию об исполнителе"). Меню приобретёт вид, показанный на Рис.10.7. Заполните остальные поля согласно этому рисунку и выберите кнопку "update".
Выбранный обработчик определяет полное имя (ФИО) Сотрудника и сохраняет результат в строковую переменную "ФИО сотрудника", но в служебной записке и приказе на премирование должно использоваться ФИО в дательном падеже.
Это значение позволит получить следующая задача сценария "ФИО сотрудника в дательном падеже", в конфигурации которого необходимо выбрать класс обработчика "Executeformula" ("Выполнить формулу"). В текстовое поле конфигурацию обработчика добавьте следующую формулу:
'ФИО сотрудника 3'=FIO_case_ru('ФИО сотрудника', 3, "F i o");
'ФИО сотрудника 3' - переменная, в которую будет сохранено ФИО в дательном падеже,
FIO_case_ru(fio, caseNumber, mode) - функция, склоняющая ФИО, имеет параметры:
fio - фамилия, имя и отчество в именительном падеже (в нашем случае задана с помощью переменной 'ФИО сотрудника')
caseNumber - номер падежа от 1 до 6 (в нашем случае 3 - это Дательный падеж)
mode - строка форматирования:
Символы форматирования F, I и O заменяются на фамилию, имя или отчество в соответствующем падеже
Символы форматирования f, i и o заменяются на первую букву фамилии, имени или отчества.
Т.е. данный обработчик сформирует Фамилию в дательном падеже, добавив к ней первую букву Имени и первую букву Отчества, например "Иванову И.И.".
Для облегчения вставки в конфигурацию переменных воспользуйтесь пунктом "Вставить переменную", соответственно для вставки функции используйте "Вставить функцию". Вставка производится в текущее положение курсора.
Следующая задача сценария (Рис.10.9) - это "Определение текущей даты". Здесь также используется обработчик "Executeformula" ("Выполнить формулу"). Конфигурация имеет следующее выражение
'Текущая дата' = current_date();
Функция current_date определяет текущую дату и сохраняет результат в переменную "Текущая дата".
Для узла "Проверка данных для оформления служебной записки" создайте пользовательскую форму с компонентами
ФИО сотрудникаРазмер премииОписание выполненных работТекущая дата,
как показано на Рис.10.9а .
Следующая задача сценария "Генерация служебной записки" создаст файл служебной записки.
Предварительно в редакторе Word-файлов (они имеют расширение .DOCX) необходимо создать файл с шаблоном служебной записки, вид которого изображён на Рис. 10.10.
При выполнении экземпляра бизнес-процесса обработчик заменит выражения вида ${Переменная} на текущие значения одноимённых переменных из процесса в формате, определенном в среде разработки.
Кроме ранее рассмотренных переменных, тут также используется поле fullName, определяющее ФИО пользователя (в именительном падеже) роли Руководитель (как свойство объекта Руководитель).
Сохраните шаблон и закройте редактор Word-файлов.
Далее откройте меню конфигурирования узла-сценария "Генерация служебной записки". В качестве класса обработчика выберите - "Wordhandler". Заполните поля как показано на Рис.10.11.
Для того, чтобы привязать к данной конфигурации созданный нами файл с шаблоном служебной записки, выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо будет найти и выбрать созданный шаблон. Сохраните созданную конфигурацию ("update" + синяя дискета). В результате содержимое файла будет включено в контент процесса и меню примет окончательный вид (Рис.10.11).
9. Создайте форму для узла "Подписать служебную записку и отдать ее в отдел кадров".
Отконфигурируйте файловую переменную "Служебная записка" как показано на Рис.10.12.
Это будет единственное поле на форме (Рис.10.13).
Т.е. на данной форме Руководитель получит ссылку на файл служебной записки, которую необходимо подписать и отдать в бумажном виде в отдел кадров.
Задание "Получить подписанную служебную записку на премию сотруднику" предназначено для фиксации факта получения бумажной служебной записки от Руководителя. Здесь важем сам факт прохождения документа, который и фиксируется фактом выполнения данного задания. Поэтому форма этого узела-действия не имеет полей.
10. Создайте форму для узла "Рассмотреть заявку на премию" (Рис.10.14).
Расположите 4 компоненты "Отобразить переменную". Для отображения роли "Руководитель" (будет выведено ФИО Руководителя), переменных "ФИО сотрудника", "Размер премии" - используйте форму отображения "Как строку". Для отображения переменной "Описание выполненных работ" используйте в качестве формы отображения вариант "Как неактивный компонент ввода".
Добавьте компонент для ввода переменной "Комментарий директора".
В этой форме Директор рассматривает заявку, вводит комментарии и одобряет или отказывает в премировании.
11. Создайте форму для узла "Ознакомиться с решением об отказе" (Рис.10.15).
Сделайте отображение значений переменных "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Комментарий директора". При этом для строковых переменных используйте отображение "Как строка", для текстовых переменных - "Как неактивный компонент ввода".
12. Создайте форму для узла "Ознакомиться с сообщением о согласии" (Рис.10.16).
Т.к. данная форма отличается от формы "Ознакомиться с решением об отказе" лишь заголовком, то можно воспользоваться функцией создания формы на основе существующей
13. Создайте композицию "Издание приказа и начисление премии".Композиция похожа на подпроцесс, однако является более "легкой" конструкцией, т.к. для композиции не порождается нового экземпляра процесса, следовательно, у неё нет своих собственных переменных, инициализаторов ролей и т.д.. Выделите на схеме элемент подпроцесс "Издание приказа и начисление премии", затем щёлкните на данном элементе правой кнопкой мыши и выберите пункт "Новая композиция" (Рис.10.17).
В появившемся окне введите название "Издание приказа и начисление премии".
Будет создана новая композиция и привязана к этому узлу-подпроцессу.
14. Создайте композицию вида, изображенного на Рис.10.19.
Проинициализируйте задачи ролями в соответствии с Рис.10.19.
15. Создайте пользовательскую (Custom) форму для узла "Издать приказ о премировании".
Расположите на ней единственный компонент для ввода переменной "Номер приказа".
16. Настройте задачи сценария.
В задаче сценария "ФИО директора", используя класс обработчика "Получить информацию об исполнителе", определите фамилию, имя и отчество Директора ( Рис.10.21).
Для задачи сценария "Сгенерировать текст приказа" выберите класс обработчика "Выполнить формулу".
Используйте следующую конфигурацию для данного обработчика:
'Текст приказа о премировании'="Начислить сотруднику " + 'ФИО сотрудника 3' + " премию за высокие достижения в работе в сумме " + 'Размер премии' + " руб."
Здесь используются переменные: 'Текст приказа о премировании' , 'ФИО сотрудника 3' и 'Размер премии'.
17. Сконфигурируйте узел-сценария "Сгенерировать приказ".
Предварительно в любом редакторе сформируйте DOCX-файл с шаблоном приказа, как показано на Рис.10.23.
Далее, нажав правую кнопку на узле-сценарии, вызовите меню конфигурирования сценария. Заполните поля, как показано на Рис.10.24, и выберите кнопку "Выбрать файл". Откроется файловое меню, в котором надо выбрать файл с шаблоном приказа. Вернувшись с выбранным файлом в меню, выберите кнопку "update". Выбранный вами файл шаблона будет встроен в процесс. Именно после этого меню приобретёт окончательный вид, показанный на Рис.10.24.
18. Создайте пользовательскую форму для узла "Ознакомиться с приказом" (Рис.10.25).
На ней файловую переменную "Приказ" с помощью компонента "Displayvariable" ("Отобразить переменную") отобразите "Как строку".
Чтобы вставить в форму заголовок "Вам необходимо подойти в Отдел кадров и ознакомиться с приказом под подпись", выберите ссылку "edit" поля "htmlcode" и вставьте этот текст как заголовок второго уровня в начале текста. Выберите ссылку "update" для сохранения.
19. Создайте пользовательскую форму для узла "Получить подпись сотрудника об ознакомлении с приказом".
Графическая форма может быть создана на основании формы "Ознакомиться с приказом" и содержит только поля "Сотрудник" и "Приказ". В созданной по прототипу форме добавьте поле "Сотрудник" и замените заголовок в поле "htmlcode" ( Рис.10.26). Выберите ссылку "update".
Теперь в поле "htmlcode" поменяйте местами блоки кода, относящиеся к полям "Приказ" и "Струдник" (Рис.10.27). Выберите ссылку "update" для сохранения внесённых правок. Обатите внимание, что порядок полей в списке тоже изменился.
20. Создайте пользовательскую форму для узла "Начислить премию сотруднику" с полями "ФИО сотрудника", "Размер премии", "Описание выполненных работ", "Приказ".
При этом для текстовой переменной "Описание выполненных работ" используйте форму отображения "Как неактивный компонент ввода", для остальных - "Как строка" (Рис.10.28). При создании этой формы вы можете использовать форму узла "Получить подпись сотрудника об ознакомлении с приказом" в качестве прототипа.
Создайте в форме недостающие поля, в поле "htmlcode" удалите заголовок и отстройте порядок полей как показано на Рис.10.28. Сохраните композицию (синяя дискета).
21. Создайте пользовательскую форму для узла "Ознакомиться с начислением премии" (Рис.10.29). В качестве прототипа целесообразно использовать предыдущую форму.
22. Экспортируйте разработанный процесс "Пример 05-1" в раздел "Запустить процесс" RunaWFE.
Для этого щёлкните разработанный бизнес-процесс правой кнопкой, в выпавшем меню выберите команду "Deploy".
23. Войдите на сервер под пользователем Administrator.
Процесс "Пример 05-1" должен запускать "Руководитель" - пользователь "Паучков" (который является руководителем Сверчкова).
24. Выполните процесс "Пример 05-1".
Войдите в систему под пользователем "Паучков", запустите процесс. Введите данные на стартовой форме и нажмите "Запустить" (Рис.05.31).
"Паучков" получит задачу "Подписать служебную записку и передать её в отдел кадров". Откройте задание, нажмите на ссылку "Служебная записка о начислении премии.docx", скачайте/откройте сформированную с помощью обработчика "Wordhandler" на основе шаблона служебную записку (Рис.10.31).
Распечатайте служебную записку. Выполните задание.
Параллельно "Отдел кадров" получает задание "Получить подписанную служебную записку на премию сотруднику".
Войдите в систему под пользователем, входящим в группу "Отдел кадров", например, "Личинкин". Возьмите задачу на выполнение и исполните её ( Рис.10.32).
Член группы "Директор" (в нашем случае это пользователь Стрекозин) получает задание "Рассмотреть заявку на премию".
Войдите в систему под пользователем "Стрекозин", возьмите задание на выполнение, введите комментарий и одобрите заявку на премию (Рис. 10.33).
Руководитель (Паучков) получит задание "Ознакомиться с сообщением о согласии", параллельно с этим будет запущена композиция "Издание приказа и начисление премии", в которой "Отделу кадров" поступит задание "Издать приказ о премировании".
Войдите в систему под пользователем "Паучков", выполните активное задание (Рис.10.34).
Войдите в систему под пользователем "Личинкин", входящим в группу "Отдел кадров", возьмите на выполнение задание, введите "Номер приказа" и выполните задачу (Рис. 10.35).
Войдите в систему под пользователем "Сверчков", откройте задание "Ознакомиться с приказом".
Нажмите ссылку на сгенерированный с помощью Word сценария файл "Приказ.docx"
Распечатайте сгенерированный сценарием документ. Завершите запущенный экземпляр бизнес-процесса, последовательно выполнив соответствующие задания под пользователями Личинкин (входит в группу Отдел кадров), Бражникова (входит в группу Бухгалтеры) и Сверчков (сотрудник, которому начисляется премия).
Разработайте бизнес-процесс "Пример 05-2", схема которого изображена на Рис.10.38.
Для генерации приказа на отпуск используйте тот же шаблон для документа "Приказ", который был использован в процессе "Пример 05-1". "Заявление на отпуск" должно формироваться в задаче сценария с помощью обработчика "Wordhandler". При этом создайте новый шаблон для документа "Заявление на отпуск" непосредственно в процессе.
В задании "Введите номер приказа на отпуск", кроме непосредственно ввода номера приказа также необходимо расположить компонент "Выбор из членов группы", необходимый для формирования на форме списка пользователей группы "Директор и заместители". Соответственно роль Директор будет проинициализирована выбранным из списка пользователем.
В компоненте форм "Выбор из членов группы" в качестве параметра "Группа" можно использовать предварительно созданную переменную формата "Группа", проинициализированную значением "Директор и заместители" (подобный пример см. в Практическое занятие "Изучение перспективы данных")
Используйте задачи сценария для определения и формирования:
В бизнес-процессе "Пример 05-2" должны быть автоматически сгенерированы документы "Заявление на отпуск" и "Приказ на отпуск".
Документ "Заявление на отпуск" должен содержать:
Документ "Приказ" должен содержать:
Замечание. В отличие от приказа из процесса "Пример 05-1", в данном приказе на отпуск используется дата, совпадающая с датой ввода номера приказа сотрудником отдела кадров, а не с датой запуска бизнес-процесса.
Administrator, если он отличается от wf.Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.