V8: Связь задач и бизнес-процессов. Бизнес-процессы Бизнес процесс 1с 8 2

Механизм бизнес-процессов «1С:Предприятия 8»

Андрей Колесов


Управление бизнес-процессами (Business Process Management, ВРМ) - термин, уже давно хорошо известный ИТ-специалистам, но в то же время имеющий до сих пор некий налет загадочности и недоступности для «простых» пользователей. Действительно, практически все ведущие поставщики платформенного и делового софта уже давно и регулярно заявляют о своих достижениях в области BPM, но при этом вкладывают порой в это понятие различные значения, делая акцент на специфику собственных предлагаемых технологий. На самом же деле общая идея BMP достаточно проста - использование процессной модели управления организацией, когда отдельные деловые операции связываются в цепочки. Такой подход реализуется на методологической базе концепции Workflow (управление потоками работ), но только в более широком ее понимании. Если в классической Workflow акцент делается на документах, то BMP увязывает воедино документы (информацию), людей и приложения (средства обработки информации).

Механизм бизнес-процессов (МБП) появился в составе «1C:Предприятия» в начале 2005 г., и можно утверждать, что это - очень перспективное и полезное новшество платформы. Его суть - автоматизация цепочек связанных операций, направленных на достижение общей цели, обычно в контексте организационной структуры, определяющей функциональные роли и связи. Автоматизация бизнес-процессов позволяет повысить качество организации работы и эффективность управления.

Повышение качества . Бизнес-процессы формулируют и реализуют правила выполнения отдельных операций и их взаимосвязь, что позволяет значительно сократить или даже полностью исключить из бизнес-процесса ошибки, обуславливаемые человеческим фактором. Простой список заданий позволяет сотрудникам сконцентрироваться на своих непосредственных обязанностях.

Повышение эффективности . С помощью МБП можно формализовать организационную деятельность и возложить функции управления совместной работой сотрудников на прикладное решение, что ведет к более эффективному использованию рабочего времени.

Обеспечение новых возможностей . Данные о выполнении задач и о ходе бизнес-процессов могут служить основой для оптимизации организационной структуры предприятия, выявления «узких» мест и скрытых ресурсов. Таким образом, в полной мере реализуется методология процессного управления.

В целом использование МБП в прикладных решениях позволит предприятиям, в том числе и малым, перейти от традиционной функциональной модели управления к современной процессно-ориентированной схеме, качественно улучшив свою деятельность путем реинжиниринга и автоматизации бизнес-процессов.

Основные сведения о механизме бизнес-процессов

Бизнес-процессы в «1С:Предприятии» нужны для того, чтобы объединять отдельные операции (выписка счета, прием наличной оплаты, отпуск товара со склада и т. д.) в цепочки взаимосвязанных действий, приводящих к достижению конкретной цели (например, продажа товара за наличный расчет). Участие сотрудников в жизненном цикле бизнес-процесса достигается ролевой маршрутизацией.

МБП обеспечивается сразу несколькими объектами конфигурирования: бизнес-процессы, задачи, регистр сведений и параметр сессии. Как правило, типы реквизитов адресации задачи и измерений регистра сведений назначаются ссылками на соответствующие справочники, поэтому к четырем вышеперечисленным видам добавляются еще справочники.

Основные объекты МБП - это бизнес-процессы и задачи. Они используют друг друга и еще три вспомогательных объекта - параметр сеанса, регистр сведений и справочники. Вспомогательные объекты не используют ни друг друга, ни основные объекты.

Задача предназначена для учета заданий и описывает способ их распределения по исполнителям с учетом организационной структуры предприятия. Адресация заданий сотрудникам определяется реквизитами, в которых можно предусмотреть многомерную ролевую маршрутизацию, например по ролям, рабочим группам, подразделениям, помещениям, филиалам и т. д. При этом задачи могут создаваться не только бизнес-процессами, но и другими объектами информационной базы и непосредственно пользователями. Более того, в общем случае исполнителем задания может быть не только сотрудник, но и любая внешняя система, например другая учетная система.

Понятие задачи фактически определяет лишь интерфейс взаимодействия бизнес-процесса с заданием, выполнение которого может быть, в общем случае, не связано с выполнением операций в самой системе. Например, бизнес-процесс по ходу своего выполнения может потребовать согласования какого-то вопроса с руководителем фирмы. Сформулированная таким образом задача будет, к примеру, адресована секретарю, который станет решать ее любыми доступными ему способами: по электронной почте, по телефону и т. д. Задача будет считаться выполненной, когда в систему поступят сведения о получении нужного согласования.

Объект «Бизнес-процесс» описывает логику выполнения операций для достижения той или иной цели и управляет жизненным циклом созданных бизнес-процессов (их экземпляров) от момента старта до момента завершения. Логика бизнес-процесса (взаимосвязь и последовательность обхода точек маршрута, условные переходы и пр.) наглядно описывается в виде карты маршрута, которая позволяет визуально описывать маршрут бизнес-процесса в виде связного графа и позволяет легко описывать алгоритмы условных переходов и реакцию бизнес-процесса на различные события.

Операции, выполняемые в ходе бизнес-процесса, представлены на карте маршрута точками действий, которые содержат информацию о том, кто и что должен сделать на данном этапе. Исполнитель может определяться персонально (Иванов) или с учетом ролевой маршрутизации («Кладовщик», «Руководитель отдела продаж»). При переходе бизнес-процесса на точку действия он автоматически формирует задачи, устанавливая в них предусмотренные реквизиты адресации. После того как исполнитель отметит задачу как выполненную, бизнес-процесс автоматически переходит к следующей точке маршрута в соответствии с картой.

В точке действия возможно также назначение групповых и коллективных задач. В первом случае действие должны выполнить все члены группы, - например, когда всем менеджерам нужно предоставить ежемесячный отчет. Во втором - действие должен выполнить только один из членов группы (например, завизировать документ у одного из старших менеджеров). В точке действия можно описать проверку необходимых условий выполнения задачи, интерактивный диалог с пользователем при переходе далее по маршруту и указать, например, какие документы следует открывать при активации задач, связанных с этой точкой маршрута бизнес-процесса.

МБП допускает несколько видов маршрутизации.

Жесткая . Бизнес-процесс имеет карту, не содержащую условных и параллельных переходов с жестко определенными адресатами для каждой точки маршрута. Отклонение таких бизнес-процессов не допускается.

Свободная . Адресаты точки карты маршрута бизнес-процесса не установлены и определяются программно или интерактивно в течение жизненного цикла бизнес-процесса.

Условная . Карта маршрута предусматривает проверку условий и переход по соответствующим ветвям. Переходы могут быть как бинарными (условие), так и множественными (выбор варианта)

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

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

Ключевое понятие в механизме бизнес-процесса и задачах в «1С:Предприятии» - система адресации, которая обеспечивает возможность не только персональной, но и ролевой адресации задач участникам бизнес-процессов.

Ролевая маршрутизация позволяет назначать задания не только конкретным исполнителям, но и ролям, группам, подразделениям и т. д., как это определено в прикладном решении. Она построена на взаимодействии объектов «задача» и «регистр сведений». Первый определяет состав реквизитов адресации (роли, подразделения и т. д.), а второй отражает актуальную, т. е. соответствующую текущему моменту, информацию о принадлежности сотрудников ролям, подразделениям, рабочим группам и т. д.

Регистр сведений можно использовать для реализации механизмов замещения или учета отсутствия сотрудников. Например, если в нем указано, что роль главного бухгалтера исполняет Иванов и Иванов уходит в отпуск, а его обязанности передаются Петрову, то запись в регистре сведений меняется так, чтобы роль главного бухгалтера исполнял Петров. По возвращении Иванова из отпуска соответствующая информация восстанавливается.

Подводя итог сказанному, можно констатировать, что механизм бизнес-процессов состоит из следующих основных компонентов:

  • многомерная система адресации задач исполнителям (роли, отделы, организации, группы и т. д.),
  • визуальное проектирование карты бизнес-процесса,
  • генерация задач по исполнителям,
  • ролевая маршрутизация,
  • переход по точкам маршрута в соответствии с картой бизнес-процесса.

Общая же логика выполнения бизнес-процессов выглядит примерно так:

  • бизнес-процессы формируют задачи, устанавливая нужные значения в их реквизитах адресации (роли, группы, отделы);
  • конечные исполнители определяются с помощью «матрицы разыменования», которая, например, устанавливает соответствие пользователей ролям.

Разработка и исполнение

В принципе программирование бизнес-процессов в «1С:Предприятии» можно было делать и ранее, но только на уровне языка программирования. Новый механизм автоматизирует эту процедуру, предлагая визуальные средства проектирования и возможность настройки программы с помощью методов параметризации и сводя к минимуму (или вовсе исключая) ручное написание программного кода. Все это теперь реализовано на уровне платформы, которая содержит объекты метаданных и механизмы, обеспечивающие единообразную реализацию бизнес-процессов в прикладных решениях.

В статье мы часто используем термин «бизнес-процесс», хотя порой под ним понимаются разные вещи. С одной стороны, это обобщенное описание последовательности действий при выполнении каких-то деловых задач (например, продажа товара). В данном случае такое описание реализуется в виде некоторой программы (только представленной не в кодах, а в виде карты-маршрута), которую можно условно назвать частным бизнес-решением. С другой стороны, бизнес-процесс - это выполнение конкретных действий в соответствии с этим описанием (при обслуживании конкретного покупателя), т. е. выполнение написанной ранее программы.

Согласно терминологии «1С», в первом случае мы будем использовать термин «бизнес-процесс» (БП), во втором - «экземпляр бизнес-процесса» (ЭБП). БП создают разработчики, а пользователи выполняют свои действия с помощью ЭБП. Разработка БП ведется в «Конфигураторе», исполнение ЭПБ - в среде прикладных решений («1С:Предприятие»).

«Конфигуратор» системы «1С:Предприятие» предоставляет широкие возможности по формированию бизнес-процессов, логика которых задается с помощью маршрутных карт. Особенность реализации МБП (по сравнению с некоторыми BMP-механизмами других ИТ-поставщиков) состоит в том, что в результате визуального проектирования бизнес-процесса разработчик не получает программу с исходным кодом внутреннего языка (большинство других средств визуального проектирования формируют такой код). С определенной долей упрощения можно утверждать, что исходный код создаваемой программы образован как раз визуальным представлением ее логики (карта маршрута), которая дополнена отдельными фрагментами, написанными на внутреннем языке программирования.

Таким образом, карта маршрута одновременно адресована системе инструкцией по выполнению последовательности действий бизнес-процесса, описанием структуры этих действий в виде, понятном пользователю, и средством отображения текущего состояния бизнес-процесса.

Исполнение бизнес-процессов (точнее, экземпляров бизнес-процессов) осуществляется в среде платформы «1С:Предприятие». При этом бизнес-процесс можно рассматривать в качестве такого объекта информационной базы, как документ или элемент справочника. Его жизненный цикл начинается со старта (вызов метода «старт» или нажатие соответствующей кнопки в форме объекта бизнес-процесса) и завершается по достижении конечной точки (разумеется, если все задачи были выполнены).

Задачи - это тоже обычные объекты информационной базы, которые могут быть сформированы как механизмом бизнес-процессов, так и другими прикладными объектами и даже вручную. Задача имеет два состояния - «выполнена» и «не выполнена». Если задача сформирована в рамках бизнес-процесса, то после своего завершения она сообщает ему об этом, что приводит к продвижению бизнес-процесса по маршруту дальше (при выполнении всех необходимых для этого условий).

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

Возможности применения МБП

Механизм бизнес-процессов - составная часть технологической платформы, а это означает, что его возможности могут стать доступными всем прикладным решениям, созданным на основе «1С:Предприятия 8». В целом МБП нацелен на повышение эффективности разработки и сопровождения прикладных решений. Однако опыт его применения показывает, что наложение бизнес-процессов поверх готовых приложений вызывает определенные трудности: зачастую приходится по-новому смотреть на проектные решения и кое-что переделывать. Конечно же, в этом нет ничего удивительного - точно так же автоматизация предприятия, как правило, требует пересмотра общей схемы его функционирования. Для эффективного применения МБП желательно, чтобы процессная модель управления была изначально заложена в прикладное решение.

Само по себе проектирование бизнес-процессов требует не только знания основ конфигурирования «1С:Предприятия», но и хорошего понимания предметной области и конкретных потребностей заказчика. Фактически МБП стимулирует привлечение к работе по проектированию и настройке конкретных прикладных систем специалистов качественно иного уровня - бизнес-аналитиков, консультантов, а также менеджеров заказчика. Более того, положительный эффект от МБП для клиента проявляется даже тогда, когда он не участвует непосредственно в проектировании бизнес-процессов, а только применяет схемы, разработанные кем-то. Возможность формального описания действий системы и представления их структуры в визуальной форме позволяет заказчику лучше понять логику работы решения, в том числе проконтролировать правильность выполнения поставленной перед разработчиком задачи.

Таким образом, речь идет еще об одном ключевом направлении развития прикладных решений «1С:Предприятия» - повышении уровня их управляемости. Применение МБП дает возможность собирать качественно иную информацию о работе системы управления предприятием, на основе которой руководители могут проводить объективный анализ эффективности функционирования как организации в целом, так и отдельных ее сотрудников. Этот механизм позволяет перенести акцент с учетных задач на управление бизнесом в целом.

Подробнее познакомиться с механизмом бизнес-процессов, реализованным в «1С:Предприятии 8», разработчики и пользователи могут с помощью демонстрационной конфигурации, распространяемой на диске «Информационно-технологическое сопровождение» (ИТС). Там представлены несколько простых бизнес-процессов («Продажа товара», «Поручение» и «Согласование» и др.), которые показывают различные варианты практического применения этого механизма.

New Page 2

Изучаем 1С 8.3. Урок 31. Бизнес процессы. Продолжение.

Чтобы смотреть урок полностью, подпишитесь на .

В платном разделе статья находится .

На мы начали изучать такой механизм 1С, как бизнес процессы. Мы создали алгоритм бизнес процесса (блок-схему) и научились отображать ее на экране. Идем дальше. Хорошо бы, чтобы схема отображалась не только при открытии бизнес процесса, но чтобы ее еще и можно было обновить. Для этого нам нужна кнопочка "обновить". Для того, чтобы сделать ее, создадим новую команду:

Проверим:

А теперь рассмотрим такой механизм бизнес процесса, как адресация. Для этого нам необходимо создать регистр ...

аналогично, в справочник подразделений введем СлужбаБезопасности, а в должности Менеджер. Теперь идем в карту бизнес процесса и устанавливаем адресацию. Для задачи "Прием заявки" ставим должность "Менеджер":

Длязадачи "Рассмотрение заявки" устанавливаем подразделение СлужбаБезопасности: ...

Заводим новый бизнес процесс, он начинается с задачи "Прием заявок":

В форме по исполнителю, которая запускается при старте системы, эту задачу у нас будут видеть только те сотрудники, которым в регистре адресации сопоставлена должность менеджер, в нашем случае, это Сидоров, и он будет видеть только эти задачи:

Создадим другой бизнес процесс и до ведем его до состояния рассмотрения заявки:

Эту задачу будут видеть только те, кто сопоставлен в регистре адресации с подразделением "Служба безопасности", в нашем случае Петров:

Но в общей форме задач, в той, которая не по исполнителю, будут видны по прежнему все задачи:

Если это не надо, то вы можете в последующем удалить эту форму и сделать основной форму по исполнителю, нам же сейчас она нужна просто для отладки.

Что характерно, вы можете сделать так, чтобы задачи по должности или по отделу были видны нескольким пользователям, для этого просто надо добить их в регистр адресации:

На сегодня пока все, а на следующем уроке мы займемся второй веткой нашего бизнес процесса, которая пока у нас еще не реализована.

Предположим, что к нам поступил заказ реализовать бизнес-процесс заказа товара и получения последующей оплаты по следующей схеме:

При старте бизнес-процесса способ оплаты (через банк или кассу) должен быть известен, чтобы в процессе выполнения произошел переход на соответствующее действие.

Шаг за шагом

И так, начнем. Мы имеем пустую конфигурацию, поэтому необходимо будет добавить все используемые в дальнейшем объекты самостоятельно. Все действия проделаем в несколько этапов:

1) На первом этапе добавим в конфигурацию необходимые справочники с соответствующими предопределенными элементами.

Заполнение предопределенных элементов мы осуществили в соответствии со значениями адресации задач на карте маршрута (см. выше).

2) На втором этапе нужно реализовать механизм, который будет хранить в системе текущего пользователя, а именно ссылку на элемент справочника "Пользователи" связанного с пользователем информационной базы.

Чтобы не усложнять пример, соответствие между элементом справочника "Пользователи" и пользователем информационной базы будем осуществлять по наименованию. При запуске программы система должна сохранить ссылку на текущего пользователя (элемент справочника "Пользователи") в параметр сеанса "ТекущийПользователь". Тип данного параметра - "СправочникСсылка.Пользователи".

На скриншоте выше показан программный код для инициализации значения параметра сеанса "ТекущийПользователь" для текущего пользователя информационной базы. Поиск в справочнике осуществляется по наименованию. Если элемент не найден, то создается новый. В конце стандартной процедуры "УстановитьПараметрыСенаса", в модуле сеанса конфигурации, полученная ссылка на элемент справочника "Пользователи" записывается в соответствующий параметр сеанса.

3) На третьем шаге создадим объект конфигурации "Задача", чтобы в дальнейшем бизнес-процесс адресовал задачи установленным пользователям. Для этого добавим объект конфигурации в ветке "Задачи" и дадим ему такое же имя.

Прежде чем настраивать свойства добавленного объекта, нам необходимо создать регистр адресации задач, по содержимому которого система будет определять конечного исполнителя для задачи (пользователя). Для этого добавим регистр сведений "РолиИсполнителейЗадач" с тремя измерениями. Тип измерений понятен по их именам.

Теперь необходимо в свойстве объекта задач выполнить следующие настройки:

Описанные настройки на вкладке "Адресация" влияют на поведение системы при присвоении исполнителя задачам, создаваемым бизнес-процессом. Немного подробнее:

  1. Параметр "Адресация" используется для указания таблицы, в которой настраивается адресация задач.
  2. Свойство "ТекущийПользователь" ссылается на значение, в котором сохраняется текущий исполнитель для задачи (в нашем примере это текущий пользователь).
  3. Основной реквизит адресации выбирается из реквизитов адресации задачи. Значение этого реквизита будет заполнятся системой при автоматическом создании задачи из текущего исполнителя.

Стоит отменить еще один важный момент: при создании реквизитов адресации, которые будут заполнятся бизнес-процессом автоматически, необходимо установить соответствие их и измерений таблицы адресации.

На этом настройка объекта "Задачи" завершена. Теперь мы можем перейти непосредственно к созданию бизнес-процесса.

4) Четрвертый шаг - он важный самый. Теперь мы начинаем работать непосредственно с бизнес-процессом. Создаем новый объект конфигурации "БизнесПроцесс" в ветке "Бизнес-процессы".

В нем мы добавили реквизит "ОплатаИзКассы" с типом "Булево", чтобы перед стартом бизнес-процесса указать способ выплаты (через банк или кассу). Значение именно этого реквизита будет указывать на какую точку действия необходимо перейти на карте маршрута.

В свойствах бизнес-процесса на вкладке "Основные" укажем для свойства "Задачи" созданный нами ранее объект задач.

Теперь главное - необходимо создать карту маршрута бизнес-процесса в соответствии со схемой, показанной в начале статьи. Для этого перейдем на вкладку "Прочее" и выполним команду "Карта маршрута".

Начертить простую карту маршрута может любой, даже тот, кто впервые зашел сюда. Интуитивно понятная панель инструментов позволяет создавать даже сложные карты маршрута бизнес-процессов. Единственная сложность, которая может возникнуть - это настройка точек маршрута в отношении проделываемых действий. В нашем примере для точек действий нужно установить значения реквизитов адресации. На скриншоте выше показана точка действия, задачи по которой приходят всем сотрудникам подразделения "Бухгалтерия". Соответственно, настройки адресации для нее будут выглядеть следующим образом:

Мы еще вернемся к настройке адресации. Коснемся точки условия. Для нее нам не нужно настраивать параметры адресации, единственное условие для ее работы - описать обработчик проверки условия.

Программный код обработчика приведен на следующем листинге: Процедура ОплатаНаличнымиПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) // Если параметр "Результат" равен ИСТИНА, то процесс подет по ветке "ДА", и наоборот. Результат = ОплатаИзКассы; // "ОплатаИзКассы" - реквизит бизнес-процесса (см. выше) КонецПроцедуры

И последний штрих для объекта бизнес-процесса. Добавим собственную основную форму объекта. На ней будем отображать текущее состояние карты маршрута для бизнес-процесса. Для этого добавим новый реквизит формы "Карта" с типом "ГрафическаяСхема" и поместим для него элемент на форму с типом "Поле графической схемы". Для отображения текущего состояния карты маршрута на форму добавим команду "ОбновитьКарту" и соответствующую ей кнопку.

При нажатии на кнопку "Обновить карту" будет выполнен следующий программный код:

& НаКлиенте Процедура ОбновитьКарту(Команда) // Обработчик команды формы ОбновитьКартуСервер() ; КонецПроцедуры & НаСервере Процедура ОбновитьКартуСервер() // Серверная контекстная процедура получения карты маршрута // Конвертируем объект формы в объект бизнес-процесса ОбъектБП = РеквизитФормыВЗначение(" Объект " ) ; // Вызываем метод получения карты маршрута текущего бизнес-процесса Карта = ОбъектБП. ПолучитьКартуМаршрута() ; КонецПроцедуры

Примечание: конвертировать обеъкт формы в объект бизнес-процесса необходимо для вызова метода "ПолучитьКартуМаршрута()", поскольку объект формы не поддерживает его.

5) На этом этапе выведем на панель рабочего стола список задач для текущего пользователя. Для этого будем использовать виртуальную таблицу объекта задач - "ПоИсполнителю". Создадим новую форму списка "РабочийСтол", при этом не будем устанавливать ее основной. Откроем ее в редакторе форм и в качестве основной таблицы для динамического списка (реквизит формы "Список") изменим основную таблицу.

После этого добавим созданную форму в рабочую область рабочего стола.

Теперь перейдем к последнему этапу - настройки регистра адресации задач в режиме 1С:Предприятие.

6) Настройка регистра адресации задач - очень важный этап. Запустим программу в режиме предприятия и перейдем в таблицу регистра адресации задач. Создадим там следующие записи:

А теперь подробнее. Первая запись с заполненным измерением "Пользователь" говорит системе, что если для точки действия на карте маршрута в качестве исполнителя установлен пользователь "Сидоров", то задача адресуется непосредственно ему. Если бы мы заполнили измерение "Должность" или "Бизнес-процесс", то задача бы пришла к пользователю только в том случае, если адресация точки маршрута была настроена аналогичным образом.

Если рассмотрим шестую запись из таблицы, где заполнены все измерения, то мы можем заключить следующее: задача пользователю "Бухгалтер" придет только в том случае, если для точки действия установлены в параметрах адресации подразделение - "Бухгалтерия" и должность - "Кассир". В текущем примере для этого условия удовлетворяет одна точка действия:

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

Таким образом, основной принцип работы механизма адресации платформы заключается в следующем: задача адресуется пользователю в соответствии со значением основного реквизита адресации в объекте конфигурации "Задача", если совпадают значения остальных измерений регистра адресации (кроме связанного с основным реквизитом адресации) и значений адресации на точке маршрута бизнес-процесса.

На этом задача решена. Проведем небольшое тестирование.

Тестируем

В режиме предприятия выполним старт нового бизнес-процесса.

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

Тест завершен, все работает.

Итог

Механизм бизнес-процессов теперь используется во многих типовых конфигурациях. Даже в задачах для сертификации "1С:Специалист" по платформе 8.2 имеется отдельный блок задач по бизнес-процессам. Но несмотря на привлекательность данного механизма, во многом он остается неудобным с точки зрения разработки в таких моментах, как программное формирование карты маршрута и связь объекта бизнес-процесса с другими объектами конфигурации.

Часто задачи расценивают как вспомогательный объект бизнес-процессов. Однако это вполне самостоятельный объект, наделенный многими свойствами. При правильном подходе задачи могут стать мощным механизмом планирования и управления временем. Данная статья призвана показать пример связи задач и бизнес-процессов, для назначения конкретным исполнителям бизнес-процессов автоматически формируемых задач. Автор статьи: GROOVY | Редакторы: Волшебник , Добрый
Последняя редакция №13 от 04.06.06 | История
URL:

Ключевые слова: задачи, адресация, бизнес-процесс, точка действия, групповая адресация

Исходная ситуация.

Как говорилось в описанной ранее статье () для объекта "Задача" очень важны свойства адресации. В этой статье я постараюсь на простом примере показать как правила адресации могут применяться в контексте задач создаваемых точками маршрута бизнес процессов.

Исходная структура метаданных такая:
Справочники: Исполнители, Отделы. Оба без дополнительных настроек, без иерархии и без предопределенных элементов.

Перечисление Роли с двумя значениями: Руководитель и РядовойСотрудник.

Параметр сеанса "ТекущийИсполнитель", тип: СправочникСсылка.Исполнители.

Регистр сведений "ПравилаАдресации" с тремя измерениями: Исполнитель (ведущее, запрет незаполненных значений, тип: СправочникСсылка.Исполнители), Отдел (не ведущее, запрет незаполненных значений не установлен, тип значения: СправочникСсылка.Отделы) и Роль (не ведущее, запрет незаполненных значений не установлен, тип значения: ПеречислениеСсылка.Роли).

Задача "ЗадачиБП" с тремя реквизитами адресации: Исполнитель (основной реквизит адресации, тип: СправочникСсылка.Исполнители), Отдел (тип значения: СправочникСсылка.Отделы) и Роль (тип значения: ПеречислениеСсылка.Роли). В свойстве "Адресация" указан регистр сведений "ПравилаАдресации", "Основной реквизит адресации" - "Исполнитель", "ТекущийИсполнитель" – ссылка не параметр сеанса "ТекущийИсполнитель".

Настройка механизма задач классическая. Умышленно не создано ни одного дополнительного реквизита задачи, так как нас интересует именно работа бизнес-процессов в связке с задачами.

Несколько слов о свойствах бизнес-процессов

Описанием алгоритма бизнес-процесса служит карта маршрута. Точки маршрута карты маршрута бизнес-процесса делятся на две основные категории:

1. Точки маршрута, которые порождают задачи. При прохождении бизнес-процесса через эти точки создаются задачи, и до их выполнения бизнес процесс останавливается.

2. Точки маршрута, которые не создают задачи. При прохождении бизнес-процесса через такие точки обычно выполняются, какие либо проверки, обработки.
В свойствах точек маршрута, которые создают задачи можно на этапе конфигурирования жестко задач параметры адресации. Но, как правило, это не конкретный исполнитель, а лишь косвенные параметры адресации.

Обычно точки маршрута, которые создают задачи, обладают возможностью описания событий интерактивной работы пользователя. Точки маршрута не создающие задачи такими событиями не обладают (!).
Одним из свойств бизнес-процесса (БП) является связь с объектом "Задача" в котором создаются задачи точек маршрута этого БП.

С одним объектом "Задача" может быть связано несколько БП.

А что на практике

Создадим простой БП. Ну например БП внутреннего аудита компании.

Карта маршрута бизнес процесса будет включать в себя три точки действия. Это основные точки карты маршрута бизнес процесса. Эти точки создают задачи и имеют интерактивные события.

Кроме точек действия любой бизнес процесс должен включать в себя хотя бы по одной точке старта и точки завершения. Эти точки не создают задачи, а используются лишь для описания не интерактивных событий "ПередСтартом" и "ПриЗавершении".

Но нас сейчас интересуют в первую очередь точки действия и те задачи, которые они создают.

Рассмотрим свойства каждой из точек действия подробно.

1. Начать Аудит. Кроме имени для точки действия можно настроить адресацию (Адресация – это группа свойств точки действия). К сожалению, указать на этапе разработки бизнес процесса конкретного исполнителя не получится, так как это элемент справочника – раз, да и для каждого бизнес процесса видимо может быть разный ответственный за проведение аудита – два. Назначать косвенные свойства адресации в нашем конкретном случае нет смысла так как инициатор этого бизнес-процесса сам назначит ответственного (это будет дополнительным реквизитом бизнес-процесса). Как же назначить исполнителя для задачи формируемой точкой действия? Довольно просто. Необходимо перехватить событие создания задач этой точкой действия. Сделать это можно в двух обработчиках событий: "ПередСозданиемЗадач" – этот обработчик событий вызывается когда задачи еще не созданы, можно создать новый задачи и полностью заполнить их свойства; "ПриСозданииЗадач" – здесь задачи уже созданы их можно отредактировать.

В нашем случае лучше воспользоваться обработчиком события "ПриСозданииЗадач", так как необходимо лишь указать исполнителя, а все остальные свойства задачи менять ни к чему.

Процедура НачатьАудитПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ) Для каждого Задача Из ФормируемыеЗадачи Цикл Задача.Исполнитель = ОтветственныйЗаПроведение; //ОтветственныйЗаПроведение – реквизит БП. КонецЦикла; КонецПроцедуры

Вопрос: Почему цикл? Разве задача не одна формируется? А вот этого никто не знает. Точка действия может формировать сколь угодно задач.

Кстати, если в событии "ПриСозданииЗадач" установить свойство "Выполнена" в Истина, то задача будет выполнена, но ход бизнес-процесса дальше не сдвинется.

В принципе все что связано с первой точкой действия мы сделали. Теперь задача формируемая этой точкой будет наделена конкретным исполнителем, указанным в реквизите бизнес-процесса.

2. Подготовить отчетную документацию. В свойствах адресации этой точки действия установим значение "Роль" – Руководитель. И флаг "Групповая".

Что нам это даст? По правилам адресации заданным в регистре сведений будут созданы задачи для каждого исполнителя являющимся руководителем. Так как задач будет создано (возможно) несколько, то точка маршрута будет считаться пройденной только в том случае, если все задачи будут выполнены.

В принципе флаг "Групповая" отвечает за создание множества задач по подходящим правилам адресации. В том случае если флаг установлен не будет, то задача будет создана одна, но она появится у всех исполнителей в их списке задач (об этом будет чуть ниже).

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

Но давайте посмотрим, как ведет себя стандартный механизм.

Для проверки понадобится инициализировать параметр сеанса. Конечно, хорошо бы это делать при начале работы системы, но нам для удобства проверки как себя ведут задачи, инициализацию можно сделать в форме списка справочника "Исполнители". Я создал форму списка (не меняя настройки, которые по умолчанию предлагает конструктор форм) и в панели действий формы описал новую кнопку "УстановитьПС" (ПС – параметр сеанса). Вот процедура, которая связана с действием этой кнопки:

Процедура УстановитьПС(Кнопка) Исполнитель = ЭлементыФормы.СправочникСписок.ТекущиеДанные.Ссылка; ПараметрыСеанса.ТекущийИсполнитель = Исполнитель; Предупреждение("В параметр сеанса установлен исполнитель " + Исполнитель,60 ); КонецПроцедуры

В справочнике "Исполнители" уже в режиме 1С:Предприятие введу нескольких пользователей.

И регистр сведений "Правила адресации" заполним следующим образом:


Что-то многовато у меня руководителей получилось:)

Самое время создать и запустить бизнес-процесс. В качестве ответственного укажем Петрова.

Надеюсь, что параметр сеанса до того как стартануть БП установили, иначе появится сообщение о том, что он не инициализирован. Все потому что при старте БП создается первая задача, и система проверяет, случайно, не текущий ли исполнитель должен ее выполнить? Для этого системой анализируется значение параметра сеанса, и в том случае если исполнитель совпадает, и у задачи описано событие интерактивной активизации (об этом чуть позже) оно выполняется.

Итак, БП стартовал, первая задача должна была создаться с исполнителем указанным в БП.

Выполним задачу. По правилам адресации вторая точка действия должна создать три задачи:

То есть независимо от того, в каком отделе числится руководитель, для него создается задача. Так действуют правила адресации на задачи с флагом "Групповая".

Могу предположить, что у некоторых вместо трех задач создалась одна без исполнителя, только с указанной ролью "Руководитель". Это связано с тем, что в свойствах задачи "ЗадачиБП" в реквизитах адресации не проставлено соответствие измерению регистра сведений "ПравилаАдресации".

Как ни парадоксально, но в конце этой статьи мы разберем самое классическое создание задачи с назначением исполнителя по косвенным свойствам адресации.

3. Обработать документы. Ничего необычного в этой точке действия нет. В свойствах адресации мы не можем указать признаки адресации (из-за того, что данные в конфигураторе недоступны). В реквизитах бизнес-процесса создадим два новых реквизита значения, в которых и послужат значениями параметров адресации при формировании задачи.

Формы БП в нашей конфигурации нет, по этому новые реквизиты у пользователя появятся автоматически.
Опишем, по аналогии с первой точкой действия заполнение реквизитов адресации в событии "ПриСозданииЗадач":

Процедура ОбработатьДокументыПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ) Для каждого Задача Из ФормируемыеЗадачи Цикл Задача.Отдел = ОтделАудита; Задача.Роль = РольАудитора; КонецЦикла; КонецПроцедуры

Для наглядного назначения задач сформируем форму списка. В форме списка предусмотрим переключение в режим просмотра задач "По исполнителю". Для этих целей в панели действия формы создадим новую кнопку "ПоИсполнителю" с установленным свойством "Пометка".

В модуле формы опишем две процедуры.

Процедура ПоИсполнителю(Кнопка) ЭлементыФормы.ДействияФормы.Кнопки.ПоИсполнителю.Пометка = НЕ ЭлементыФормы.ДействияФормы.Кнопки.ПоИсполнителю.Пометка; Если ЭлементыФормы.ДействияФормы.Кнопки.ПоИсполнителю.Пометка Тогда ЭлементыФормы.ЗадачаСписок.ОтображениеЗадач = РежимСпискаЗадач.ПоИсполнителю; Иначе ЭлементыФормы.ЗадачаСписок.ОтображениеЗадач = РежимСпискаЗадач.ВсеЗадачи; КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() ЭлементыФормы.ДействияФормы.Кнопки.ПоИсполнителю.Пометка = Ложь; КонецПроцедуры

То есть при открытии форма открывается со всеми задачами, а после нажатия на новую кнопку в форме остаются только задачи по свойствам адресации подходящие текущему исполнителю.

Не забудьте, при проверке, устанавливать в справочнике "Сотрудники" текущего исполнителя. Ну и естественно, что при повторном нажатии форма возвращается в первоначальное состояние.

Форма задач в режиме отображения "По исполнителю" анализируя параметр сеанса, в котором указан текущий исполнитель, и правила адресации в регистре сведений показывает те (активные!) задачи которые по правилам адресации назначены текущему исполнителю.

Теперь можно проверять. Для проверки я введу еще одного исполнителя "Каменский", и в регистре сведений задам новое правило адресации: Каменский, отдел ремонта, рядовой сотрудник.
В стартованном БП укажем значения реквизитов "ОтделАудита" – Отдел ремонта, и "РольАудитора" – рядовой сотрудник.

Выполним три задачи, которые были созданы второй точкой действия.

По третьей точке маршрута была создана одна задача, без указания конкретного исполнителя, но с двумя заполненными реквизитами адресации.

По тем правилам адресации которые заданы в регистре сведений созданная задача должна отображаться в режиме просмотра "ПоИсполнителю" у двух сотрудников: Каменский и Сидоров. У Иванова, не смотря на то, что в регистре сведений он числится прикрепленным к отделу "Отдел ремонта", задача отображаться не будет, так как роль не соответствует правилам адресации.

Указать конкретного исполнителя можно, например, при открытии задачи (кто первый открыл тот и исполняет) или для целей хранения истории при выполнении.

Причем событие "ПриВыполнении" ("ПередВыполнением") отрабатывает не только у задачи, но и у точки маршрута, которая ее породила!

В нашем примере я именно так и поступлю. Опишу событие "ПриВыполнении" точки действия "ОбработатьДокументы". Событие возникает после одноименного события самой задачи.

Процедура ОбработатьДокументыПриВыполнении(ТочкаМаршрутаБизнесПроцесса, Задача, Отказ) ЗадачаОбъект = Задача.ПолучитьОбъект(); ЗадачаОбъект.Исполнитель = ПараметрыСеанса.ТекущийИсполнитель; ЗадачаОбъект.Записать(); КонецПроцедуры

Исходя из того, что было описано выше, можно прийти к следующему выводу.
Для точек действия можно назначить параметры адресации при описании маршрута БП, но только в том случае если значения адресации доступны в режиме "Конфигуратор" (предопределенные реквизиты справочников, значения перечислений и т.п.).

Если при создании задачи по точке действия исполнитель или другие параметры адресации известны можно задать их в событии "ПриСозданииЗадач" или "ПередСозданиемЗадач", ориентируясь на реквизиты БП или другие данные.

Точки маршрута с признаком "Групповая" создают столько задач, сколько исполнителей подходит по правилам адресации, причем правила адресации в этом случае трактуются по указанным значениям адресации в точке маршрута, не указанные значения не учитываются вообще.

Точки маршрута без признака "Групповая" создают одну задачу (если в соответствующем событии точки маршрута не прописано обратное), адресация таких задач стандартная.

Вот и все. Надеюсь эта статья кому-нибудь поможет разобраться с связью задач и бизнес-процессов. Пример специально был взят примитивный, однако он раскрывает все возможные стандартные варианты создания задач точками бизнес-процессов.

Павел Чистов aka GROOVY
Институт технологий сопровождения.
1С:Центр сертифицированного обучения, Санкт-Петербург.
www.its-spb.ru
its(at)its-spb.ru

1С, 1С:Предприятие, 1С:Предприятие 8.0 являются зарегистрированными товарными знаками ЗАО "1С", Москва.
Все представленные снимки экрана, фрагменты пользовательского интерфейса и интерфейса разработчика представлены в целях ознакомления и никаким образом не нацелены на получение какой либо коммерческой прибыли. Никакая часть этих снимков не может быть воспроизведена без согласия правообладателя (ЗАО "1С").

Основа ведения учета в 1С – это операция ввода документа пользователем. Один документ оформляет одну произошедшую хозяйственную операцию (например – продали три утюга).

Вопрос в том, что в жизни организации существуют не единичные операции, а целые цепочки хозяйственных операций, связанные логически, которые называют бизнес-процессами 1С. Каждую отдельную операцию из этой цепочки могут выполнять разные сотрудники, а контролировать – еще другие.

Примеры бизнес-процессов 1С — оформление покупателем заказа с последующей оплатой и отгрузкой:

  • Принять заказ (девочка оператор)
  • Ожидание поступление денежных средств (платежку загружают из клиент банка в бухгалтерии)
  • Формирование сбора заказа на складе (складские работники)
  • Согласование отгрузки (начальнег)
  • Отгрузка (грузчики).

Каждую из этих операций возможно оформить в 1С. Каждую оформляют разные сотрудники разных отделов.

  • Как сообщить каждому следующему пользователю, что ему пора выполнять действия в этом бизнес процессе 1С?
  • Как связать события в одну цепочку и оставить для истории потомкам?
  • Как проконтролировать цепочку от начала до конца и понять когда все ок?

Бизнес процессы 1С

Сначала разберемся в терминах.

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

В 1С бизнес-процесс означает организованную цепочку точек, в которых платформа 1С обеспечивает автоматически (варианты):

  • Постановка пользователю на выполнение чего-либо
  • Выполнение программы на языке 1С (например в случае, когда нужно создать автоматически какой-либо документ)
  • Автоматически выбрать путь, по которому пойдет цепочка далее, в зависимости от условий.

Хозяйственные операции (вернее их оформление) при ходе бизнес-процесса 1С выполняется:

  • Или автоматически создаются и проводятся документы (выполняемой часть программы)
  • Или пользователем вручную, когда ему ставится такая .

Бизнес-процессы 1С и задачи 1С

Мы обсуждали . Это объект 1С, который является информационной напоминалкой пользователю о необходимости выполнить какие-то действия.

Бизнес-процессы 1С и задачи сильно связаны, так как в простом случае бизнес-процесс 1С является цепочкой таких задач, формируемых последовательно разным пользователям.

При старте формируется задача первому пользователю. Он отметил ее как выполненную. Система автоматически создает вторую задачу другому пользователю. И так далее.

Один бизнес-процесс 1С связан с одним видом задач, созданным в конфигураторе. Для указания вида задач, который будет формироваться, нужно в конфигураторе зайти в бизнес-процесс 1С и на закладке Основные указать свойство Задача.

Обычно в конфигурации создают один вид задач – универсальный и все бизнес-процессы 1С использует ее.

Однако имеется следующее затруднение — для разных задач часто требуются разные формы. Для одной задачи на форме нужно выбрать товары, для другой проекты. Как быть?

Из этого находят следующий выход:

  • В задаче создают универсальную форму
  • В событии ПередОткрытием() этой формы задачи:
    o Определяют какой бизнес-процесс 1С выполняется
    o Определяют какая точка бизнес-процесса 1С выполняется
    o Открывают нужную форму этого бизнес процесса 1С.

Карта маршрута бизнес-процесса 1С

Итак бизнес-процесс 1С состоит из цепочки точек выполнения. Цепочка точек настраивается на карте маршрута бизнес-процесса 1С. Чтобы открыть карту маршрута нужно нажать правой кнопкой на бизнес-процесс 1С и выбрать пункт меню Открыть карту маршрута.

Чтобы создать новую точку – просто перетащите ее на карту маршрута со специальной панели снизу.

Виды точек:


Начало и завершение бизнес-процесса 1С

Бизнес-процесс 1С может быть просто создан и записан, также как и непроведенный документ.

Чтобы начать выполнение бизнес-процесса 1С, нужно его «стартовать», выполнив метод Старт() в программе или нажав кнопку Старт в режиме 1С Предприятие.

После завершения у бизнес-процесса 1С будет установлена галочка Завершен.

Бизнес-процессы 1С и роботы

Некоторые скептически относятся к бизнес-процессам 1С по причине их построения на основе задач – информационных напоминалок пользователям.

Они говорят — как напоминалка такая задача работает – пользователь увидел ее в списке и сделал, но:

  • всем будет лень отмечать факт ее выполнения (или будут забывать)
  • могут нажать, чтоб задача выполнена (для отчетности), а сами ничего не сделать.

Другие на таких скептиков придумали варианты участия роботов в бизнес-процессах 1С. Роботом на сленге 1С называют регламентное задание.

Регламентное задание – это задача, автоматически по расписанию выполняемая сервером 1С или специально запущенным клиентом 1С. Важно – что оно выполняется автоматически, само собой.

Такого робота можно запустить по расписанию с частотой раз в минуту (раз в десять секунд) и адресовать ему задачи также.

Вариант использования:

  • У каждой задачи ставить галочку Групповая
  • Формировать две задачи
  • Одну задачу адресовать пользователю, другую – роботу
  • Робот каждые N минут проверяет условие, что задача была выполнена (например, документ введен) и если это так указывает выполненными обе задачи, и за пользователя в том числе.

Другой вариант использования – когда в цепочке есть точка ожидания. Например ожидание оплаты заказа. Эта задача может быть адресована роботу, который проверяет ее наличие раз в день/час и выполняет когда оплата поступила.

2024 psiholog112.ru. Интернет. Безопасность. Полезные советы. Программы. Система.