Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.
Доступ к форуму партнерам «1C-Рарус» по дистрибуции предоставляется на сайте rarus-soft.ru
Страницы: 1
Организация вложенного бизнес-процесса
Заглянувший
Сообщений: 25 Авторитет: 0 Регистрация: 25.03.2013
06.05.2013 11:48:18
Есть карта маршрута бизнес-процесса, в ней есть этап вложенного бизнес-процесса. Вложенный бизнес-процесс может иметь разные варианты завершения.
Вопрос: Как организовать прохождение по карте маршрута бизнес-проекта после вложенного бизнес-процесса в зависимости от того как он был завершен ?
Посетитель
Сообщений: 104 Авторитет: 45 Регистрация: 05.04.2012
07.05.2013 17:59:46
Александр Малозёмов пишет: Вопрос: Как организовать прохождение по карте маршрута бизнес-проекта после вложенного бизнес-процесса в зависимости от того как он был завершен ? |
Можно организовать следующим образом:
допустим, что после точки вложенного БП идет точка условия и в зависимости от того как завершен БП
будет выбран вариант «Да» или «Нет».
Для того, чтобы отрабатывался выбор условия так как нам требуется, следует открыть карту маршрута БП,
дважды кликнуть по точке условия (которя стоит после вложенного БП) и на закладке «Обработчики событий» для события «Проверка условия» добавить следующий обработчик:
Запрос = Новый Запрос; Запрос.УстановитьПараметр(«БизнесПроцесс»,БизнесПроцесс); Запрос.УстановитьПараметр(«ТочкаМаршрута»,ВходящаяТочка); Запрос.Текст = «ВЫБРАТЬ ПЕРВЫЕ 1 | ЗадачаИсполнителя.Ссылка, | ЗадачаИсполнителя.CRM_Итерация КАК CRM_Итерация |ПОМЕСТИТЬ Задача |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя |ГДЕ | ЗадачаИсполнителя.БизнесПроцесс = ТочкаМаршрута | |УПОРЯДОЧИТЬ ПО | CRM_Итерация УБЫВ |; | | |ВЫБРАТЬ | Задача.Ссылка, | CRM_БизнесПроцесс.Ссылка КАК Ссылка1, | CRM_БизнесПроцесс.ВариантЗавершения |ИЗ | Задача КАК Задача | ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.CRM_БизнесПроцесс КАК CRM_БизнесПроцесс | ПО Задача.Ссылка = CRM_БизнесПроцесс.ВедущаяЗадача»; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Если Выборка.ВариантЗавершения = Справочники.CRM_ВариантыЗавершенияБизнесПроцесса.Успешно Тогда ВариантВыполнения = 1; Иначе ВариантВыполнения = 0; КонецЕсли; КонецЕсли;
Изменено: Кучеров Андрей — 07.05.2013 18:00:07
Заглянувший
Сообщений: 25 Авторитет: 0 Регистрация: 25.03.2013
08.05.2013 08:47:52
Александр Малозёмов пишет: Вопрос: Как организовать прохождение по карте маршрута бизнес-проекта после вложенного бизнес-процесса в зависимости от того как он был завершен ? |
Можно организовать следующим образом:
допустим, что после точки вложенного БП идет точка условия и в зависимости от того как завершен БП
будет выбран вариант «Да» или «Нет».
Для того, чтобы отрабатывался выбор условия так как нам требуется, следует открыть карту маршрута БП,
дважды кликнуть по точке условия (которя стоит после вложенного БП) и на закладке «Обработчики событий» для события «Проверка условия» добавить следующий обработчик:
Запрос = Новый Запрос; Запрос.УстановитьПараметр(«БизнесПроцесс»,БизнесПроцесс); Запрос.УстановитьПараметр(«ТочкаМаршрута»,ВходящаяТочка); Запрос.Текст = «ВЫБРАТЬ ПЕРВЫЕ 1 | ЗадачаИсполнителя.Ссылка, | ЗадачаИсполнителя.CRM_Итерация КАК CRM_Итерация |ПОМЕСТИТЬ Задача |ИЗ | Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя |ГДЕ | ЗадачаИсполнителя.БизнесПроцесс = И ЗадачаИсполнителя.CRM_ТочкаМаршрута = CRM_Итерация УБЫВ |; | | |ВЫБРАТЬ | Задача.Ссылка, | CRM_БизнесПроцесс.Ссылка КАК Ссылка1, | CRM_БизнесПроцесс.ВариантЗавершения |ИЗ | Задача КАК Задача | ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.CRM_БизнесПроцесс КАК CRM_БизнесПроцесс | ПО Задача.Ссылка = CRM_БизнесПроцесс.ВедущаяЗадача»; Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда Если Выборка.ВариантЗавершения = Справочники.CRM_ВариантыЗавершенияБизнесПроцесса.Успешно Тогда ВариантВыполнения = 1; Иначе ВариантВыполнения = 0; КонецЕсли; КонецЕсли;
Все понял, большое спасибо.
Заглянувший
Сообщений: 25 Авторитет: 0 Регистрация: 25.03.2013
08.05.2013 08:57:34
Скажите пожалуйста, что еще доступно в данном контексте .
Вы написали, «БизнесПроцесс», «ВходящаяТочка».
Я поискал по метаданным конфигурации, думал это реквизиты данного справочника, оказывается нет.
От куда доступны эти переменные ?
Посетитель
Сообщений: 104 Авторитет: 45 Регистрация: 05.04.2012
08.05.2013 09:26:48
Александр Малозёмов пишет: От куда доступны эти переменные ? |
Если зайти в режиме конфигуратора, то можно посмотреть в Общем модуле «CRM_БизнесПроцессыПереопределяемый», там прописаны функции обработчиков событий точек маршрута, с описанием всех параметров.
Заглянувший
Сообщений: 25 Авторитет: 0 Регистрация: 25.03.2013
08.05.2013 10:42:40
Александр Малозёмов пишет: От куда доступны эти переменные ? |
Понял то, что можно оперировать параметрами ф-ии данного модуля, однако не понял каким образом они используются в теле функции ?
// Функция вызывается из Функции «CRM_БизнесПроцессыСервер.ПолучитьСледующиеТочкиМаршрута»
// Предназначена для выполнения обработчика «Выбор варианта» переданной точки Выбора варианта
// и возврата индекса варианта, по которому пойдет дальше бизнес-процесс
//
// Параметры:
// ТочкаМаршрута — СправочникСсылка — Точка маршрута, точка Выбора варианта
// ВариантВыполнения — Число — Индекс варианта, переданный результат выполнения предыдущей точки,
// если нет обработчика, то пойдет, по переданному результату.
// Обработчик должен возвращать индекс варианта точки выбора варианта.
//
// Возвращаемое значение:
// Число — Индекс варианта
//
Функция ОбработчикТочкиВыборВарианта(БизнесПроцесс, ВходящаяТочка, ТочкаМаршрута, ЗНАЧ ВариантВыполнения) Экспорт
Если ТипЗнч(БизнесПроцесс) = Тип(«СправочникСсылка.CRM_КартыМаршрутов») Тогда
Возврат ВариантВыполнения;
КонецЕсли;
// Получим обработчик текущей точки
Обработчик = ПолучитьОбработчикТочкиМаршрута(ТочкаМаршрута, Справочники.CRM_ОбработчикиСобытийТочекМаршрута.ВыборВарианта);
Если ЗначениеЗаполнено(Обработчик) Тогда
Попытка
Выполнить(Обработчик);
Возврат ВариантВыполнения;
Исключение
ТекстСообщения = НСтр(«ru = ‘Ошибка выполнения обработчика «»Выбор варианта»» в точке'») + » » + ТочкаМаршрута.Наименование + Символы.ПС + ОписаниеОшибки();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
Возврат ВариантВыполнения;
КонецПопытки;
Иначе
Возврат ВариантВыполнения;
КонецЕсли;
КонецФункции // ОбработчикТочкиВыборВарианта()
В параметре ф-ии есть «ВходящаяТочка», однако она никак не используется в теле функции
Источник: rarus.ru
3.3 Пример проектирования бизнес-процесса в «1с:Предприятие 8.0»
В качестве иллюстрации рассмотрим пример создания бизнес-процесса «Планирование отпусков». Для этого нужно выполнить следующие основные шаги.
Шаг 1. Словесное описание бизнес-процесса:
всем линейным руководителям — написать предложения;
линейный руководитель заполняет документ «предложение по графику отпусков»;
менеджер по персоналу рассматривает — отклоняет, просит уточнить, просит пересмотреть или принимает;
в какой-то момент (например, когда большинство сотрудников в график попали) менеджер направляет директору;
если принимается, то бизнес-процесс завершен.
Шаг. 2. Определение адресации
Сделанное описание позволяет нам выделить бизнес-роли — линейный руководитель, менеджер по персоналу, директор, которые нужно завести в справочнике «Роли Пользователей» для того, чтобы использовать их для адресации точек маршрута нашего будущего бизнес-процесса. Роли записываются в справочник в виде предопределенных данных.
Для того, чтобы задания доставлялись не ролям, а конечным пользователям необходимо указать соответствие конечных пользователей этим ролям. Это делается с помощью специального регистра сведений. В этот регистр нужно занести информацию о том, что например Иванов выполняет роль менеджера по персоналу, Петров является директором организации, а Федоров и Сидоров — линейными руководителями. При этом соответствие пользователей ролям может меняться с течением времени — например из-за отпусков или кадровых изменений. При этом механизм бизнес-процессов будет обеспечивать доставку заданий соответствующим пользователям с учетом изменений ролей.
Шаг 3. Формирование задачи
Для работы механизма бизнес-процессов необходим объект Задачи, с помощью которого будут формироваться задачи для конкретных пользователей. Конфигурирование этого объекта заключается в связывании задач с регистром сведений, в котором прописано соответствие ролей пользователям
Шаг 4. Проектирование бизнес-процесса:
Создаем наш первый бизнес-процесс и соединяем его с только что созданной задачей. Затем приступаем к рисованию карты маршрута (рис. 3.5):
Рис. 3.5 Карта маршрута бизнес-процесса «Планирование отпусков»
точки действия в порядке следования;
добавляем условные переходы;
Шаг 5. Добавляем формы
Чтобы пользователи могли выполнять свои действия в рамках данного бизнес-процесса им нужны экранные формы, в которые они будут вводить соответствующие данные:
Форма предложения по графику отпусков (использует документ «Планирование Отпуска»)
Форма для рассмотрения всех графиков – «Форма для согласования с руководством»
Шаг 6. Программируем.
Для настройки условных переходов необходимо написать обработчик проверки условия на встроенном языке (рис. 3.6).
Рис. 3.6 Программная реализация отдельных блоков бизнес-процесса
Обработчик возвращает результат, который влияет на направление дальнейшего пути бизнес-процесса — направо или налево. Для того, чтобы в процессе выполнения задач пользователями у них открывались нужные формы, нужно написать обработчики при интерактивной активации у соответствующих точек маршрута. Эти обработчики могут открывать формы, документы, выполнять предварительные обработки и т.д.
Шаг 7. Проверка работоспособности:
создаем новый экземпляр бизнес-процесса;
все руководители получают задачу «Подготовить график отпусков»;
после составления всех планов они все вместе поступают на рассмотрение кадровику в виде задачи «Рассмотреть графики»;
по результатам рассмотрения часть из них отправляется на доработку;
после доработки и успешного повторного рассмотрения перед менеджером по персоналу ставится задача согласовать с директором;
после успешного согласования бизнес-процесс завершается.
Для дальнейшего улучшения этого бизнес-процесса и более тесной его интеграции с прикладным решением можно добавить к нему дополнительные возможности (потом, после разработки, т.е. уже в ходе эксплуатации)
Мы завершили рассмотрение создания простейшего бизнес-процесса. Последующая автоматизация операция может включать реализацию следующих расширенных возможностей:
Обратная связь с документами. Например, чтобы при заполнении документа «График отпусков» автоматически инициировался бизнес-процесс согласования графика и соответствующая задача появлялась у менеджера по кадрам.
Проверка выполнения. Проверка актуальности и правильности составления графика линейными руководителями до передачи на согласование менеджеру по кадрам, например, не разрешать выполнение других задач при незаполненном графике.
Автоматическая сборка отдельных графиков в обобщенный. Можно предусмотреть в карте маршрута точку автоматической обработки, на которой система сама соберет все графики в общий и отправит его на согласование менеджеру по кадрам.
Согласование как вложенный бизнес-процесс. Сам процесс согласования можно выделить во вложенный бизнес-процесс и использовать его в дальнейшем не только в БП «Согласование отпусков», но и в других БП — например заключение договоров, выписка счетов и т.д.
Источник: studfile.net
Расширение возможностей бизнес-процессов с помощью Модуля «Корпоративные процессы»
Модуль «Корпоративные процессы для 1С:Документооборот КОРП» предоставляет востребованную и очень интересную возможность — использование типовых бизнес-процессов «1С:Документооборот КОРП», как вложенных процессов (подпроцессов) в визуальном конструкторе бизнес-процессов. С помощью Модуля «Корпоративные процессы для 1С:Документооборот КОРП» вы можете нарисовать сложный (или простой) бизнес-процесс и включить в него как вложенные процессы ранее созданные стандартные процессы.
Такое использование стандартных (типовых) бизнес-процессов позволяет расширить возможности стандартной конфигурации без дополнительного изменения каждого процесса в «Конфигураторе». Достаточно установить Модуль один раз и далее использовать его мощные возможности по созданию новых бизнес-процессов.
Стоит отметить, что все вызовы вложенных процессов, как и вообще построение бизнес-процессов в визуальном конструкторе выполняется мышкой в пользовательском режиме, без какого-либо программирования или изменения структуры метаданных в «Конфигураторе».
Вы можете использовать в качестве вложенных процессов не только типовые процессы, но и любые другие, ранее созданные бизнес-процессы вашими программистами. Таким образом, ни какие вложения в уже выполненную настройку не пропадут, они просто будут дополнены новыми возможностями, предоставляемыми Модулем «Корпоративные процессы для 1С:Документооборот КОРП».
Рассмотрим пример использования стандартного бизнес-процесса «1С:Документооборот КОРП» в качестве вложенного процесса. Например, у нас есть нарисованный в визуальном конструкторе бизнес-процесс оплаты счета. В нем, в случае, если сумма счета превышает определенное значение (в нашем примере 10 тыс. рублей), выдаётся задача регистрации договора в реестре. Пример, такого процесса в визуальном редакторе приведён на рисунке ниже.
Мы можем заменить эту простую выдачу задачи регистрации договора на вызов стандартного вложенного бизнес-процесса «Поручение».
Добавим новую точу «Вложенный процесс» в маршрут бизнес-процесса (предварительно удалив точку выдачи одной задачи). В точке вложенного процесса укажем, что вложенным процессом будет стандартный процесс «1С:Документооборот КОРП» с названием «Поручение», точнее мы укажем на один из ранее подготовленных шаблонов стандартного процесса «Поручение». Укажем параметры, которые будут передаваться в такой вложенный процесс из основного бизнес-процесса. На рисунке показан пример настройки точки вызова вложенного процесса в визуальном конструкторе бизнес-процессов.
Теперь, если наш нарисованный бизнес-процесс пойдёт по ветви с определенной суммой, то система автоматически сгенерирует новый стандартный бизнес-процесс «Поручение» с переданным набором параметров и нужными нам исполнителями.
Список исполнителей можно также передать из основного процесса во вложенный процесс или взять ранее закреплённый за этим типовым процессом список исполнителей. Данный бизнес-процесс «Поручение» будет выполняться в обычном режиме и выдавать свои задачи исполнителям.
При настройке точки вызова вложенного бизнес-процесса можно указать, нужно ли основному процессу ожидать окончания исполнения вызываемого процесса. В случае, если флажок «Остановить текущий процесс до окончания подпроцесса» включён, то выполнение основного процесса будет приостановлено до окончания работы вложенного процесса, в нашем примере до окончания выполнения бизнес-процесса «Поручение».
С помощью Модуля «Корпоративные процессы для «1С:Документооборот КОРП» можно составить сложные процессы, включающие вызовы следующих типовых процессов:
• Исполнение
• Ознакомление
• Поручение
• Рассмотрение
• Регистрация
• Согласование
• Утверждение
• Приглашение
• Комплексный процесс
• Обработка внутреннего документа
• Обработка входящего документа
• Обработка исходящего документа
Вы также можете добавить как вложенный процесс другой визуальный процесс, для этого в настройке точки «Вложенный процесс» установите переключатель «Тип подпроцесса» в значение «Вид корпоративного процесса» и укажите один из видов процесса.
Модуль «Корпоративные процессы для 1С:Документооборот КОРП» позволяет создавать сложные бизнес-процессы со множеством вызовов вложенных процессов, которые, в свою очередь, также могут иметь вызовы других вложенных бизнес-процессов.
Ещё одним вариантом использования Модуля «Корпоративные процессы для 1С:Документооборот КОРП» является быстрое и простое дополнение стандартных бизнес-процессов новыми возможностями. Например, у вас есть стандартный шаблон процесса «Поручение» и вам необходимо дополнить его выдачей дополнительной задачи нужному сотруднику после завершения процесса. Вы можете изменить типовой процесс «Согласование», добавив в его маршрут новую точку в «Конфигураторе» и написать программный код на языке «1С». Но, намного проще и эффективнее будет создать в визуальном конструкторе новый вид бизнес-процесса, включив мышкой в его маршрут сразу после точки «Старт» вызов типового вложенного процесса «Согласование» и далее после этой точки вызова добавить, также с помощью мышки и без программирования точку выдачи задачи исполнителю. Пример приведён на рисунке ниже.
Теперь, если запустить наш новый бизнес-процесс, то будет сразу запущен стандартный бизнес-процесс «Согласование» и после его выполнения система создаст требуемую дополнительную задачу.
У вас установлен 1С:Документооборот?
Тогда вам на эту страницу
Источник: xn--90afdtkhdeabaxvge.net