Бизнес-процесс
Бизнес-процессы — это прикладные объекты конфигурации. Они описывают бизнес-логику в карте маршрута и управляют жизненным циклом созданных бизнес-процессов (экземпляров) от момента старта до момента завершения. Необходимым свойством описания бизнес-процесса является связь с задачей, которая задает систему адресации и позволяет проектировать карты маршрута в соответствии с поддерживаемой в прикладном решении организационной структурой.
Карта маршрута
Логика бизнес-процесса (взаимосвязь и последовательность обхода точек маршрута, условные переходы и пр.) наглядно описывается в виде карты маршрута, которая позволяет визуально описывать маршрут бизнес-процесса в виде связного графа и позволяет легко описывать алгоритмы условных переходов, и реакцию бизнес-процесса на различные события:
Для создания карты маршрута бизнес-процесса могут быть использованы все оформительские возможности, предоставляемые графической схемой.
При работе пользователя с системой предусмотрена возможность отображения актуальной карты маршрута для конкретных экземпляров бизнес-процессов с учетом пройденных и активных точек маршрута.
Точка действия
Точки этого вида описывают отдельную операцию (единицу работы), соответствующую определенному этапу (шагу) в жизненном цикле бизнес-процесса:
Точка действия содержит информацию кто и что должен сделать на данном этапе, например:
- бухгалтер — принять оплату наличными;
- кладовщик — выдать товар со склада по накладной;
- системный администратор — зарегистрировать нового сотрудника в сети и электронной почте.
Формулировка задания обычно составляется из глаголов и отглагольных существительных. Исполнитель может определяться персонально (Иванов), или с учетом ролевой маршрутизации («Кладовщик», «Руководитель отдела продаж»). При переходе бизнес-процесса на точку действия он автоматически формирует задачи, устанавливая в них реквизиты адресации, предусмотренные в точке действия.
Групповая и коллективная маршрутизация
- групповая — данное действие должны выполнить все члены группы. При этом формируется несколько задач (по количеству сотрудников, входящих в группу) и бизнес-процесс ожидает завершения всех задач для продвижения дальше по маршруту. Примером групповой маршрутизации может служить задача, например, всем менеджерам предоставить ежемесячный отчет;
- коллективная — только один из членов группы должен выполнить данное действие. Формируется одна задача. Пример коллективной задачи: кладовщики — выдать товар по данной накладной со склада.
В точке действия можно описать проверку необходимых условий выполнения задачи, интерактивный диалог с пользователем при переходе далее по маршруту, и указать, например, какие документы следует открывать при активации задач, связанных с этой точкой маршрута бизнес-процесса.
Персональная и ролевая маршрутизация
Ролевая маршрутизация позволяет назначать задания не только конкретным исполнителям, но и ролям, группам, подразделениям и т. д. как это определено в прикладном решении.
Ролевая маршрутизация построена на взаимодействии объектов задача и регистра сведений. Задача определяет состав реквизитов адресации (роли, подразделения и т. д.), а регистр сведений отражает актуальную, т. е. соответствующую текущему моменту информацию о принадлежности сотрудников ролям, подразделениям, рабочим группам и т. д. и поэтому называется регистром адресации.
Регистр сведений можно использовать для реализации механизмов замещения или учета отсутствия сотрудников. Например, если в регистре сведений указано, что роль главного бухгалтера исполняет Иванов, и Иванов уходит в отпуск и его обязанности передаются Петрову, то запись в регистре сведений меняется так, чтобы роль главного бухгалтера исполнял Петров. По возвращении Иванова из отпуска запись в регистре сведений восстанавливается.
Условная маршрутизация
Механизм бизнес-процессов в 1С:Предприятии 8 позволяет автоматизировать не только последовательные цепочки работ, но и осуществлять условную маршрутизацию, управляя выбором заранее предусмотренных маршрутов, на основе описанной разработчиком карты маршрута.
Условная маршрутизация обеспечивается точками маршрута двух видов:
- условный переход;
- выбор варианта.
Условный переход предоставляет возможность выбора одного из двух возможных вариантов дальнейшего маршрута (да/нет, больше/меньше, запрещено/разрешено и т. д.):
Точка выбора варианта предоставляет возможность выбора дальнейшего маршрута из неограниченного количества вариантов:
Использование в прикладных решениях
Для использования механизма бизнес-процессов не требуется изменения готовых решений, или эти изменения несущественны. Например, внесение незначительных изменений в конфигурацию позволит бизнес-процессам должным образом реагировать на запись важных для них объектов базы данных. В этом случае пользователи смогут работать привычным образом, не пользуясь списком заданий и не подозревая о существовании бизнес-процессов. Однако выполняемые ими операции будут приводить к продвижению соответствующих бизнес-процессов дальше по маршруту.
Процессы и задачи
Блок бизнес-процессов и задач предназначен для автоматизации порядка взаимодействия пользователей при совместной работе.
В программе предусмотрено несколько «простых» типовых процессов, на основе которых можно построить сложные составные и комплексные процессы.
Каждый «простой» типовой процесс при выполнении порождает задачи. Выполнение задач продвигает процесс по его карте маршрута. Процесс считается завершенным, когда выполнены все его задачи.
«Простые» типовые процессы можно разделить на процессы с одним и несколькими исполнителями.
Для некоторых процессов с несколькими исполнителями есть возможность настроить порядок выполнения задач. Этим порядком определяется создание задачи для конкретного исполнителя.
Комплексный процесс строится на основании «простых» типовых процессов с возможностью настроить порядок их выполнения.
Составные процессы построены на основе простых процессов, но порядок их выполнения жестко определен и недоступен для изменения в режиме «Предприятие». В программе есть три составных процесса обработки документов: обработка внутренних, входящих и исходящих документов.
Для работы с процессами и задачами предусмотрены специальные рабочие места. Подробнее в таблице ниже.
Рабочее место | Описание |
---|---|
Мои процессы | Содержит значения возможных вариантов уведомлений. Содержит список процессов, автором которых является текущий пользователь. В списке не отображаются процессы Ознакомления, Решения вопросов выполнения задач, а так же процессы, которые являются действиями сложных процессов (например, в списке не будет отображен процесс согласования, который является действием комплексного процесса). Как открыть: Совместная работа – Мои процессы |
Список процессов | В списке отображаются все процессы доступные пользователю. Как открыть: Совместная работа – Процессы |
Задачи мне | Список задач текущего пользователя. Отображаются в том числе ролевые и делегированные задачи. Как открыть: Совместная работа – Задачи мне |
Задачи от меня | Все задачи, в которых текущий пользователь является автором. Как открыть: Совместная работа – Задачи от меня. |
Все задачи | Список всех доступных задач. Как открыть: Совместная работа – Все задачи. |
Задачи отдела | Список с задачами подчиненных пользователей в соответствии с иерархией структуры предприятия. Как открыть: Совместная работа – Задачи отдела |
Помощник создания процессов | Форма отображающая список доступных процессов для запуска. Форма открывается при создании процесса из главного меню (Главное – Создать — Процесс), а также из меню «Отправить» и «Подзадачи» в рабочих местах и карточках объектов. |
Внутренне устройство
Блок «Процессы и задачи» использует ряд механизмов. Наиболее важные описаны ниже.
Работа процессов
Работа всех процессов определяется картой маршрута. У каждой точки карты маршрута есть свои обработчики, в которых содержится код, обеспечивающий функциональность процесса. Более подробно про объект конфигурации бизнес-процесс и его работу можно почитать в документации к платформе в главе «Бизнес-процессы и задачи».
Для задач ознакомления порядок работы процесса может не соответствовать карте маршрута. Например, задачи ознакомления с результатами выполнения могут создаваться после завершения процесса, что противоречит логике работы процессов, заложенной в платформе.
Такой подход встречается в процессах Приглашение, Рассмотрение, Регистрация, Согласование, Утверждение. Поведение обусловлено тем, что в случае положительного выполнения процесса (например, все согласовано, замечаний нет) автору больше не нужно ничего делать с предметами, и процесс можно считать завершенным. Это справедливо тогда, когда вышеперечисленные процессы являются частью комплексного процесса и их положительное завершение не должно зависеть от автора процесса. То есть если процесс завершился положительно, то комплексный процесс должен перейти к следующим действиям. Реализуется это путем переноса создания задачи ознакомления в точку маршрута Завершение (см. пример).
Условие отказа от создания задачи ознакомления
Копировать в буфер обменаПроцедура ОзнакомитьсяПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; // Если "Согласовано" и это вложенный процесс, // то задача Ознакомления создается в обработчике ПриЗавершении, // чтобы не препятствовать завершению процесса. Если РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано И ЗначениеЗаполнено(ВедущаяЗадача) Тогда БизнесПроцессВедущейЗадачи = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВедущаяЗадача, "БизнесПроцесс"); Если ТипЗнч(БизнесПроцессВедущейЗадачи) = Тип("БизнесПроцессСсылка.КомплексныйПроцесс") Тогда Возврат; КонецЕсли; КонецЕсли; .
Создание задачи ознакомления при завершении процесса:
Копировать в буфер обменаПроцедура ЗавершениеПриЗавершении(ТочкаМаршрутаБизнесПроцесса, Отказ) ... // Если "Согласовано" и это вложенный процесс, // то задача Ознакомления создается в обработчике ПриЗавершении, // чтобы не препятствовать завершению процесса. Если РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано И ЗначениеЗаполнено(ВедущаяЗадача) Тогда БизнесПроцессВедущейЗадачи = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВедущаяЗадача, "БизнесПроцесс"); Если ТипЗнч(БизнесПроцессВедущейЗадачи) > Тип("БизнесПроцессСсылка.КомплексныйПроцесс") Тогда Возврат; КонецЕсли; Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу(); ЗаполнитьЗадачуОзнакомиться(Задача); Задача.Записать(); НоваяСтрока = РезультатыОзнакомлений.Добавить(); НоваяСтрока.НомерИтерации = НомерИтерации; НоваяСтрока.ЗадачаИсполнителя = Задача.Ссылка; РаботаСБизнесПроцессами.ЗаписатьПроцесс(ЭтотОбъект, "ПростаяЗапись"); КонецЕсли; КонецПроцедуры
Рекомендации
На внедрении может возникнуть ситуация, при которой требуется вообще отключить формирование задачи ознакомления. Для этого достаточно закомментировать код по созданию задачи знакомления.
Комплексные процессы
Работа комплексных процессов также обеспечивается картой маршрута, но только для того, чтобы процесс завершился при выполнении всех подчиненных действий. Остальная логика работы процесса (порядок создания действий) определена вне карты маршрута.
Запуск подчиненных действий определяется процедурой СтартоватьНовыеДействия в модуле объекта комплексного процесса. Процедура вызывается изначально при создании подчиненных действий в точке маршрута «Выполнить все действия процесса».
Далее каждый раз при выполнении ведущей задачи действия комплексного процесса (подписка на событие ЗадачаКомплексногоПроцессаПриВыполнении ).
Процедурой СтартоватьНовыеДействия определяются следующие действия для старта процесса в соответствии с настроенным порядком и условиями маршрутизации.
Рекомендации
Не рекомендуется менять типовое поведение программы касаемо комплексных процессов из-за достаточно сложной логики их работы.
Ролевая маршрутизация
При настройке исполнителей любого процесса помимо указания конкретного пользователя можно использовать роли.
Для каждой роли в программе есть возможность определить несколько исполнителей.
При старте процесса для роли создается одна задача. Задача видна всем исполнителям роли, и любой из них может исполнить эту задачу.
Для настройки ролей предусмотрена отдельная форма, которая открывается по команде Управление процессами – Роли исполнителей .
Для каждой роли могут быть определены два объекта адресации. Объект адресации – это дополнительный разрез данных, который позволит использовать одну и ту же роль, например, для разных организаций, подразделений и т.д.
При использовании объектов адресации следует учесть следующую особенность – ролевые задачи с указанными объектами адресации доступны и могут быть исполнены только исполнителями роли с такими же объектами адресации. То есть задачу, направленную роли «Секретарь» с объектом адресации организация «ООО Меркурий Проект» не сможет исполнить исполнитель роли с другим объектом адресации или без объекта адресации.
Роли исполнителей содержатся в справочнике РолиИсполнителей , а соответствие исполнителей задач в регистре сведений ИсполнителиЗадач .
Ролевая маршрутизация обеспечивается стандартным механизмом адресации задач. Для этого используются объекты:
- План видов характеристик ОбъектыАдресацииЗадач ,
- Справочники Пользователи , РолиИсполнителей , Корреспонденты , Проекты , СтруктураПредприятия , Организации .
Корреспонденты, Проекты, СтруктураПредприятия, Организации используются в качестве разрезов ролевой маршрутизации. Это определяется в плане видов характеристик ОбъектыАдресацииЗадач .
Рекомендации
Для самостоятельного расширения списка возможных разрезов необходимо расшить тип и добавить свои предопределенные элементы в плане видов характеристик ОбъектыАдресацииЗадач .
Шаблоны процессов
Почти для всех процессов в конфигурации определены шаблоны. Под шаблоном понимаются настройки процессов, на основании которых запускаются сами процессы.
Для работы с шаблонами процессов предусмотрено рабочее место, которые открывается по команде Управление процессами – Шаблоны процессов .
Каждый шаблон процесса может быть назначен нескольким видам документов. Если процесс создается на основании документа, то назначенные шаблоны отображаются как рекомендованные в помощнике создания процессов.
Шаблоны процессов в программе хранятся в справочниках Шаблоны .
Также в этих справочниках хранятся «служебные» шаблоны процессов. Это такие шаблоны, которые выступают в качестве настроек действий шаблонов комплексных процессов и самих процессов. Они по умолчанию не отображаются в списке. Поэтому, например, в списке шаблонов комплексных процессов можно наблюдать 1 элемент, а обращаясь запросом – несколько тысяч.
Для заполнения по шаблону используется процедура ЗаполнитьПоШаблону модуля объекта процесса.
Заполнение процесса по шаблону происходит в трех случаях:
- Создание процесса с помощью помощника процессов.
- Создание процесса при интерактивном старте.
- Заполнение по шаблону из карточки процесса.
Но следует учесть, что при заполнении может использоваться и другая логика – например, заполнение по проектной задаче, проекту в обработчике заполнения нового объекта (процедура ОбработкаЗаполнения ).Чтобы понять логику заполнения процесса в том или ином случае можно поставить точку останов в процедуре ЗаполнитьПоШаблону, посмотреть стек вызовов и проанализировать «соседний код».
Рекомендации
В программе для каждого процесса предусмотрен специальный метод заполнения процесса по шаблону и предмету — ЗаполнитьПоШаблонуИПредмету . Он не используется в типовой конфигурации и предназначен для программного создания процессов при доработке.
Предметы процессов и задач
Часто совместная работа сотрудников направлена на обработку данных или результатом их работы являются некие данные. Такие данные по отношению к процессам и задачам в конфигурации называются предметами. Для каждого процесса/задачи может быть определено любое количество предметов. Каждый такой предмет процесса имеет свою роль по отношению к процессу. В конфигурации предусмотрено три роли предмета:
- Основной,
- Вспомогательный,
- Заполняемый.
О ролях предметов можно подробнее ознакомиться в статье «Бизнес-процессы».
Предметы могут добавляться к процессу, шаблону или задаче. При добавлении к задаче предметы всегда добавляются как вспомогательные и могут быть удалены в карточке задачи. Предметам, добавленным в процесс, можно присвоить любую роль, доступную для текущего предмета (возможные роли для предметов определены в коде конфигурации).
Основные предметы не могут быть удалены в задачах. Заполняемые предметы можно очистить в карточке задачи. Предметы в шаблонах процессов представляют собой настройки предметов, которые будут добавлены при создании процесса по этому шаблону. Предметы в шаблонных не содержат конкретных ссылок на объекты программы.
При настройке шаблонов процессов можно определить видимость предметов в соответствующих задачах. Эта настройка копируется в процесс при его создании на основании шаблона. В соответствии с этой настройкой происходит передача предметов в задачи. То есть процесс можно настроить так, что предмет будет виден в карточке процесса, а в задаче – нет.
При добавлении предметов в процесс предметы передаются в невыполненные подчиненные задачи. Если текущий процесс является комплексным, то предметы не передаются в уже стартованные действия, но все остальные действия будут запущены с новым составом предметов. Следует учесть, что в комплексном процессе можно настроить видимость предметов для еще не стартованных действий.
Добавление предмета в задачу приводит к его передаче только в сам процесс и его задачи. При создании процессов на основании задач предметы задачи передаются в новый процесс.
Среди предметов процессов и задач могут быть файлы, добавленные с диска. Такие файлы являются неотъемлемой частью процесса и его задач. Они не передаются ни при каких условиях в другие процессы. Чтобы файл передавался в другие процессы по вышеописанной логике, его следует предварительно разместить в хранилище файлов, а в процесс добавлять из хранилища.
Все предметы сохраняются в табличной части Предметы процессов и их задач. При операциях над предметами происходит синхронизация этих табличных частей.
Синхронизация предметов происходит по имени предмета (реквизит ИмяПредмета в табличной части Предметы ), а сам предмет содержится в реквизите Предмет . Роль предмета определяется значением РольПредмета .
ИмяПредмета – ссылка на элемент справочника ИменаПредметов .
РольПредмета – ссылка на значение перечисления РолиПредметов .
Для управления видимостью предметов задач в процессах предусмотрена табличная часть ПредметыЗадач . В ней содержится информация о том, в какой точке маршрута содержится предмет.
Работа с предметами обеспечивается процедурами и функциями в общих модулях Мультипредметность.
Рекомендации
Не рекомендуется менять типовое поведение работы механизма предметов из-за достаточно сложной логики его работы.
Запуск процессов
В программе предусмотрено несколько вариантов запуска процессов:
- По общей команде Главное – Создать — Процесс ;
- На основании объекта или задачи – меню Отправить или Подзадачи в рабочих местах или карточках соответствующих объектов и задач;
- Интерактивный (при выполнении действий в карточках документов)
- Полностью автоматический запуск процесс (при возникновении определенных событий).
В случае создания процесса по общей команде, через меню Отправить , меню Подзадачи для выбора шаблона процесса или нового процесса используется Помощник создания процессов (общая форма СозданиеБизнесПроцесса ).
Меню Отправить и Подзадачи находятся в карточках и списках ряда объектов. Для каждого объекта эти меню имеют свой состав, но для открытия помощника используется процедура ОткрытьПомощникСозданияОсновныхПроцессов в общем модуле РаботаСБизнесПроцессамиКлиент.
При интерактивном старте используются специальные формы, отображающие только процессы, назначенные виду текущего документа.
Запуск по событиям выполняется без интерактивного участия пользователя при помощи механизма бизнес-событий.
Об интерактивном и автоматическом запуске процессов можно подробнее ознакомиться в статье «Автостарт бизнес-процессов».
Условия маршрутизации
При настройке порядка выполнения действий комплексного процесса или состава исполнителей в процессах с несколькими исполнителями часто возникает необходимость включить/исключить действие или исполнителя при выполнении процесса. Для этого в программе есть условия маршрутизации. Они настраиваются ответственным за работу процессов и задач в режиме «Предприятие».
Условия могут быть определены при помощи конструктора (используется механизм компоновки данных), кодом встроенного языка «1С» или составлены из комбинаций других условий.
Условия проверяются при непосредственной маршрутизации комплексных процессов. Если условие не выполнено, то действие (подчиненный процесс) комплексного процесса не создается.
Для простых процессов с несколькими исполнителями условия проверяются при создании процесса. Если условие не выполнено, то исполнитель исключается из процесса.
Условия маршрутизации хранятся в справочнике УсловияМаршрутизации . За проверку условий отвечают процедуры и функции общего модуля РаботаСУсловиямиМаршрутизации .
Фоновое выполнение процессов
Для увеличения отзывчивости конфигурации предусмотрено несколько механизмов фонового выполнения процессов:
- Фоновый старт процессов;
- Фоновое выполнение задач;
- Фоновая маршрутизация комплексных процессов.
При фоновом старте процессов пользователи создают, записывают и помещают процесс в очередь для старта. Далее эта очередь обрабатывается на сервере, и процесс стартует. В случае удачного старта процесс удаляется из очереди. В противном случае пользователю отправляется уведомление программы.
Очередь процессов хранится в регистре сведений ПроцессыДляЗапуска . Добавление процессов происходит при записи процессов из карточек при помощи методов регистра сведений. За обработку очереди на сервере отвечает регламентное задание СтартПроцессов. Все процедуры по фоновому старту находятся в общих модулях СтартПроцессов . Фоновое выполнение включается/отключается константой ИспользоватьФоновыйСтартПроцессов .
Фоновое выполнение задач работает аналогично фоновому старту процессов. Очередь хранится в регистре сведений ЗадачиДляВыполнения . Обрабатывается она при помощи регламентного задания ВыполнениеЗадач . Процедуры и функции находятся в общих модулях – ВыполнениеЗадач , включается/отключается константой ИспользоватьФоновоеВыполнениеЗадач .
Фоновая маршрутизация комплексных процессов работает немного иначе. После завершения каждого действия (при выполнении задачи) для исходного комплексного процесса создается фиктивная задача (задача без исполнителей) и само действие помещается в специальную очередь. Фиктивная задача нигде не отображается и используется только для того, чтобы остановить выполнение комплексного процесса и продолжить его в специальном регламентном задании. Далее очередь на сервере – для каждого позиции определяются и стартуют следующие действия, фиктивная задача выполняется (чтобы завершить комплексный процесс, если у него больше нет действий) и удаляется из программы (используется непосредственное удаление). Также удаляется и запись из очереди. Очередь содержится в регистре ОчередьМаршрутизацииКомплексныхПроцессов .
Помещение в очередь происходит в подписке на событие ЗадачаКомплексногоПроцессаПриВыполнении .
За обработку очереди отвечает регламентное задание ФоноваяМаршрутизацияКомплексныхПроцессов. Механизм включается/отключается константой ИспользоватьФоновуюМаршрутизациюКомплексныхПроцессов .
Возможные проблемы при фоновом выполнении процессов
При возникновении любых ошибок в работе этих механизмов автор процесса или исполнитель задачи получат уведомления программы и могут вовремя сообщить о проблеме администратору.
Ошибки могут возникать по разным причинам – от ошибки в коде программы, до неправильно спроектированного действия комплексного процесса. Для диагностики ошибок рекомендуется отключить соответствующее регламентное задание, написать свою обработку, в коде которой разместить вызов процедуры регламентного задания и выполнить обработку в сеансе пользователя с полными правами. Далее расследование ошибки следует проводить в режиме «Конфигуратор».
Если ошибку не удается быстро диагностировать и нужно возобновить работу, то можно отключить фоновое выполнение (при помощи констант) – все новые процессы и задачи будут выполняться в сеансах пользователей. А расследование продолжить, выполняя код регламентных заданий вручную (например, скопировать и поправить код соответствующих процедур регламентных заданий в обработку).
Большинство ошибок можно устранить, внимательно прочитав сообщение ошибке в уведомлении программы.
Также следует отметить, что фоновое выполнение процессов работает только в клиент-серверном варианте работы программы. Фоновое выполнение задач может использоваться и в файловом варианте, если используется распределенная информационная база (Далее РИБ).
Выполнение задач по почте
В программе есть возможность выполнять задачи в сторонних почтовых клиентах.
Принцип работы механизма выполнения задач по почте заключается в следующем:
- Пользователю направляется уведомление о новой задаче. В уведомление включены специальные ссылки для формирования ответного письма. Каждая ссылка соответствует кнопке с результатом в задаче.
- Пользователь нажимает на ссылку, вписывает комментарий в новое письмо и отправляет его (адрес заполняется автоматически).
- Программа принимает данное письмо и на основании его содержимого находит и выполняет задачу.
Для рассылки уведомлений используются стандартный механизм уведомлений.
Выполнение задач по почте обеспечивается процедурами общих модулей ВыполнениеЗадачПоПочте . При рассылке уведомлений используются особая тема и текст. Как они формируются можно посмотреть в общем модуле РаботаСУведомлениями , при помощи поиска по строке ВыполнениеЗадачПоПочтеСервер .
За обработку ответов (писем с результатами выполнения задач) отвечает регламентное задание ВыполнениеЗадачПоПочте . Обработка протоколируется в регистре ПротоколВыполненияЗадачПоПочте.
Рекомендации
На внедрении может возникнуть потребность доработать тексты формируемых уведомлений и варианты выполнения задач.
- Текст уведомлений формируется при помощи процедуры СформироватьТекстУведомленияПоЗадачеСВозможностьюВыполненияПоПочте в модуле ВыполнениеЗадачПоПочтеСервер .
- Варианты выполнения задач определяются функциями ВариантыОтветовДляВыполненияЗадачиПоПочте в модулях объектов процессов.
Выполнение процессов в РИБ
В отличии от других объектов программы, обмен процессами и задачами в РИБ при использовании плана обмена Полный происходит особым образом.
Общая логика
- У каждого процесса есть так называемый «Мастер-узел». Это узел, в котором был создан и стартован процесс. Мастер-узел для процесса определяется реквизитом УзелОбмена . В реквизите сохранен уникальный идентификатор узла обмена. Значение реквизита УзелОбмена в процессе соответствует значению реквизита ИдентификаторУзла в плане обмена Полный .
- Продвижение процессов происходит только в мастер-узле. Под продвижением следует понимать выполнение задач и маршрутизацию комплексных процессов, так как она тоже завязана на выполнении ведущих задач. Это позволяет исключить коллизии и зависание процессов при выполнении задач в разных узлах РИБ.
- Для передачи данных между узлами РИБ используется особая логика объединения данных. При этом стандартная обработка коллизий платформы отключена.
Ограничения и особенности
- Карточка процесса доступна для редактирования только в мастер-узле.
- Информация об изменении исполнителей хранится только в том узле, в котором произошло изменение. Но эта информация актуализируется во всех узлах после выполнения задачи в матер-узле.
- При выполнении задачи в двух узлах будет учтен тот результат выполнения, который дойдет и обработается в мастер-узле первым.
- Возможно восстановление удаленных предметов. То есть предмет появится в процессе после его удаления.
- Для процессов Согласование и Приглашение возможно восстановление исключенных исполнителей (по аналогии с предметами).
Как это работает
При первой записи узла плана обмена Полный определяется его идентификатор (реквизит ИдентификаторУзла ).
При первой записи процесса заполняется его реквизит УзелОбмена в подписке на событие ПередЗаписьюБизнесПроцесса .
Если используется фоновый старт процессов, то процесс обрабатывается регламентными заданиями СтартПроцессов и СтартОтложенныхПроцессов только в мастер узле. Текущий узел при этом определяется функцией ЭтотУзелОбменаДляОбработкиПроцессов общего модуля РаботаСБизнесПроцессами. Если фоновый старт не используется, то процесс стартует сразу.
Задачи всегда выполняются при помощи механизма фонового выполнения. При этом в регламентных заданиях ВыполнениеЗадач и ВыполнениеЗадачПоПочте учитывается отношение задачи к текущему узлу через реквизит УзелОбмена . То есть задачи, относящиеся к процессам, у которых УзелОбмена не равен текущему идентификатору узла, не обрабатываются.
Обработка процессов только текущего мастер-узла также учитывается в регламентных задания ПовторениеБизнесПроцессов и ФоноваяМаршрутизацияКомплексныхПроцессов.
При загрузке процессов как из главного, так и из подчиненного узла происходит одинаковая обработка. Это переопределено в обработчиках ПриПолученииДанныхОтГлавного и ПриПолученииДанныхОтПодчиненного плана обмена Полный . Но обработка получения данных для каждого процесса своя. За это отвечает процедура ОбработатьПолучениеПроцессаИзУзлаРИБ в модуле менеджера каждого процесса.
Сама процедура получения данных процесса разделена на две части:
- Получение процесса в мастер-узле.
- Получение процесса в другом узле.
При получении процесса в мастер-узле загруженные данные процесса игнорируются . Но имеющийся процесс дополняется из загруженного предметами, которых у него нет. Если имеющийся процесс в мастер-узле был измен (дополнен предметами), то регистрируются изменения для всех известных узлов плана обмена Полный . Иначе происходит сверка загруженного процесса с текущим. При сверке игнорируются реквизиты и табличные части, в которых указаны исполнители задач (для некоторых процессов, в том числе и Автор ). Если между ними есть разница, то в мастер-узле регистрируется изменения для известных узлов. Таким образом мастер-узел отвергает изменения, произошедшие в других узлах и инициирует обновление процесса в других узлах на основании своих данных.
При получении процесса в других узлах загруженный процесс принимается полностью, если он завершен. Также процесс принимается полностью, за исключением реквизитов с указанием контролеров, если изменена итерация процесса. В других случаях в текущий процесс загружаются все принятые данные, кроме исполнителей задач и предметов. Список предметов будет при этом объединен, а исполнители либо оставлены (если процесс находится в точке маршрута «исполнение») либо полностью взяты вместе с результатом исполнения из того объекта (имеющегося или загруженного), который находится в точке маршрута проверки. При обработке исполнителей в точке маршрута проверки предпочтение отдается имеющемуся объекту.
При обработке задач происходит то же самое – загрузка в мастер-узле и других узлах. В мастер-узле логика загрузки не отличается от процессов. При загрузке в другие узлы происходит то же самое, что и в процессах, но так как у задач не меняется итерация, то это и не обрабатывается. У задач нет разных точек маршрутов, то есть информация о загруженных исполнителях принимается из других узлов, только если задача выполнена.
При выполнении задач не в мастер-узлах информация с актуальными данными о результате выполнения, исполнителе и т.д. передается через механику фонового выполнения. А именно: при помещении задачи в очередь для выполнения (регистр ЗадачиДляВыполнения ) вместе с ссылкой на задачу помещаются параметры выполнение (ресурс Параметры в регистре). Ресурс хранит структуру, запакованную в виде хранилище значений. Эта структура обрабатывается при выполнении задачи в мастер-узле. Параметры обрабатываются в процедурах ВыполнениеЗадачСервер.ВыполнитьЗадачуСПараметрами , ОбработкаПередВыполнениемЗадачи и ОбработкаПослеВыполненияЗадачи модуля менеджера процесса, и ПередЗаписью в модуле объекта процесса. В модуле объекта код по обработке можно найти по строке поиска «ТекущаяЗадача».
Возможные проблемы при использовании процессов в РИБ
Если процессы в РИБ использовались до версии 2.0.8, то при переходе на новую версию происходит заполнение идентификаторов узлов в плане обмене Полный и сопоставление процессов этим узлам (заполнение реквизита УзелОбмена в процессах). Процессы для привязки к текущему узлу определяются по автору. Если для автора процессов существует пользователь информационной базы, то все его процессы относятся к текущему узлу.
При такой обработке может произойти ситуация, когда одни и те же процессы будут привязаны к двум узлам и не смогут выполняться. Это может произойти из-за наличия нескольких пользователей информационной базы в двух и более узлах для одного элемента справочника Пользователи .
Само наличие пользователей информационной базы в двух и более узлах для одного элемента справочника Пользователи является ошибкой. Одному пользователю в справочнике пользователи должен быть сопоставлен только один пользователь информационной базе в РИБ.
Чтобы исправить данную ситуацию необходимо удалить лишних пользователей и обновить реквизит у процессов с полненным реквизитом УзелОбмена во всех узлах РИБ. Код для обновления следует написать самостоятельно. За основу можно взять процедуру ЗаполнитьУзелОбменаВПроцессах в общем модуле ОбновлениеИнформационнойБазыДокументооборот .
Рекомендации
Не рекомендуется менять типовое поведение механики выполнения процессов в РИБ.
Права доступа
Доступ к части объектов текущего блока ограничен на уровне записей. Ниже описаны права доступа и логика распространения для основных объектов.
Права доступа к шаблонам процессов:
Как программно стартовать бизнес-процесс?
Друзья, подскажите как правильно программно создать задачу пользователю с бизнес-Процессом?
Моя задача: если в документе кое-что не совсем как обычно, тогда надо автоматом создать задачу определенному пользователю «Согласуй, друг. »
Вот мой код, и он работает, кроме последней строчки, и знаю что так не правильно, а как правильно — не пойму..
ТакойЗадачиЕщёНет = Истина; Если ТакойЗадачиЕщёНет Тогда БП = БизнесПроцессы.др_СогласованиеЗаказаКлиента; Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу(); //Задача.ОткрытьФорму("Задача.ЗадачаИсполнителя.ФормаОбъекта"); Задача.БизнесПроцесс = БП; Задача.Автор = ПараметрыСеанса.ТекущийПользователь; Задача.Наименование = "Согласовать цены по заказу "+(Источник.ссылка); Задача.Описание = "Согласуйте "+Источник.Ссылка; Задача.БизнесПроцесс.Стартован = ИСтина; //ВОТ ТУТ! КАК? КонецЕсли;
В синтакс-помощнике есть такая штука как БизнессПроцессОбъект.Старт. но как пользоваться этим?
Может мне тут бизнесс-процесс и не нужен. не знаю. надо поставить задачу и видеть её исполнение потом, это ж с помощью БП делается?
Разрабатываем бизнес‑процессы в программе
Бизнес-процессы предназначены для объединения отдельных операций в цепочку взаимосвязанных действий, которые приводят к достижению определенной цели. Бизнес-процессы напрямую связаны с коммуникацией с потребителями, поэтому так важно, чтобы каждый шаг процесса был отлажен и исполнялся правильно.
Предлагаем вам ознакомиться с новой статьей, в которой подробно рассказывается, как работать с бизнес‑процессами в программе 1С:CRM.
Оглавление
- Создание маршрутной карты
- Настройка этапов карты маршрута бизнес‑процесса объекта
- Настройка параметров карты маршрута бизнес‑процесса объекта
- Старт и использование бизнес‑процесса объекта для ведения продажи
- Создание и настройка бизнес‑процесса с использованием созданной маршрутной карты
- Запуск и контроль независимого бизнес‑процесса
- Работа с независимым бизнес‑процессом
- Просмотр воронки по бизнес‑процессам
Применение механизмов бизнес‑процессов позволяет перейти к процессному управлению и качественно улучшить деятельность предприятия за счет автоматизации бизнес‑процессов.
Создание бизнес‑процессов состоит из двух этапов:
- Основной. Создание карты маршрута и ее настройка.
- Дополнительный. Создание самого бизнес-процесса.
Создание маршрутной карты
Карта маршрута позволяет определить этапы, условия, точки старта и завершения бизнес‑процесса.
Для того, чтобы создать карту маршрутов:
- Перейдем в «Настройки», затем «Бизнес-процессы».
- Выберем «Карты маршрутов бизнес-процессов»:
- карту можно создать с нуля;
- можно редактировать уже существующую карту;
- можно загрузить карту из любого продукта «1С».
- Нажимаем «Создать».
Настройка этапов карты маршрута бизнес‑процесса объекта
- Для создания новых элементов карты-маршрута используется панель «Вставка элементов схемок», которая расположена в нижней части экрана.
- Для соединения элементов карты-маршрута используются соединительные линии.
Построим логику бизнес-процесса :
- После построения маршрутной карты стоит проверить, нет ли «брошенных» линий, этапов условий. Для этого нажимаем кнопку «Проверить карту».
- Завершаем редактирование, нажав на соответствующую кнопку.
- Присвоим соответствующие условия завершениям бизнес‑процесса:
- Нажимаем двойным кликом на ячейку «Завершение успех». Выбираем вариант завершения «Успешно».
- Нажимаем двойным кликом на ячейку «Завершение неудачно». Выбираем вариант завершения «Неудачно».
- Переходим в раздел «Параметры» и указываем:
- тип процесса;
- вид объекта — «Коммерческое предложение клиенту»;
- реквизит объекта — «Статус».
- Нажимаем клавишу «Настройка этапов».
- Сопоставляем реквизит объекта с этапом бизнес‑процесса. Обратите внимание: данную настройку необходимо сделать только для процессов объекта.
- Поскольку в параметрах бизнес-процесса указано «Коммерческое предложение клиенту», а реквизит объекта «Статус», то необходимо сопоставить этап бизнес‑процесса со статусом коммерческого предложения.
- Настроим описание, которое позволяет сформулировать текст задачи для исполнителя. Далее идет выбор самого исполнителя:
- «Основной вариант выполнения» — позволяет дать предпочтительный вариант выполнения данного этапа.
- «Регламент выполнения этапа» — «Укажите длительность отработки этапа согласно регламента» — длительность выполнения этапа в днях, часах, минутах.
- «Укажите задержку старта следующего этапа» — задает дни, часы, минуты, на которые требуется отложить старт данного этапа.
- «Запретить исполнителю откладывать следующую задачу» — настройка отключает возможность изменять срок задачи.
- «Оповещение об истечение срока» — позволяет указать количество дней, часов, минут до окончания этапа для получения уведомления системой.
- Настроим «Контроль выполнения условий на этапе». Данная настройка позволяет произвести несколько манипуляций:
- Ввести список документов, которые могут быть созданы на данном этапе.
- Настроить автоматическое напоминание клиенту, исполнителю, ответственному данного этапа в виде смс или эл. почта.
- Можно проверить выполнение условий.
- Настроим наш бизнес-процесс.
Согласование:
- статус: «Не согласовано»;
- описание: «Оценка размера скидки, при необходимости отправить не корректировку»;
- исполнитель: «Руководитель подразделения исполнителя»;
- длительность этапа: 1 день;
- создаваемых документов нет.
Корректировка:
- статус: «Не согласовано»;
- описание: «Скорректировать КП согласно замечаниям руководителя»;
- исполнитель: «Автор бизнес-процесса»;
- длительность этапа: 1 день.
Точка «Завершение успех»:
- Статус: «Действителен».
Точка «Завершение неудачно»:
- Статус: «Отменено».
Настройка параметров карты маршрута бизнес‑процесса объекта
- Переходим на вкладку «Параметры». Обратите внимание: указанные здесь настройки действуют на всю карту маршрута.
- Проводим необходимые настройки:
- Настройка гибкости процесса — позволяет завершать бизнес‑процесс на любом этапе досрочно.
- Разрешена смена текущего этапа — позволяет менять текущий этап, при этом все созданные и невыполненные ранее задачи будут автоматически выполнены.
- Указывать причину неудачного завершения — позволяет зафиксировать причину неудачного завершения бизнес‑процесса.
- Редактировать срок выполнения — дает право исполнителю редактировать срок выполнения задачи.
- Редактировать дату выполнения — дает право исполнителю редактировать дату выполнения задачи.
- Редактировать исполнителя этапов — дает право редактировать исполнителя этапов.
- Редактировать сроки выполнения — позволяет ответственному указывать сроки выполнения задач при создании бизнес‑процесса.
- Динамически рассчитывать сроки выполнения этапов — позволяет, при изменении сроков выполнения задачи, автоматически пересчитывать сроки последующих этапов.
- Добавлять описание процесса в содержании задачи — постановка задачи будет перенесена в описание задачи.
- Добавлять историю при содержании задачи — позволяет видеть в содержании задачи всю историю описания и созданные документы.
- Также в «Дополнительные условия старта» (расширенные настройки) можно изменить условия старта бизнес процесса, если требуется ограничить доступ к нему.
- Состояние бизнес-процесса можно выбрать из «Действует», «Запланирован», «Отменен». Обратите внимание: бизнес-процесс запускается только если он находится в состоянии «Действует».
- Записать и закрыть.
Старт и использование бизнес‑процесса объекта для ведения продажи
Процесс объекта запускается в момент создания объекта.
- Создадим коммерческое предложение по клиенту «Ассоль ООО».
- Добавим необходимые номенклатуры.
- Утвердим наш вариант («Операции с вариантами», затем «Утвердить»).
- Нажимаем «Провести и закрыть».
Программа автоматически запускает бизнес‑процесс по согласованию коммерческого предложения.
- Первая задача появляется у исполнителя в разделе «Текущие» на вкладке «Мои дела».
- Исполнитель работает с задачей непосредственно из коммерческого предложения. Он принимает задачу к исполнению, оценивает размер скидки и согласует задачи.
- В ходе выполнения задач, в коммерческом предложении автоматически меняется статус.
Создание и настройка бизнес‑процесса с использованием созданной маршрутной карты
Данный этап необходим в тех случаях, когда одна и та же маршрутная карта запускается в разных подразделениях и, соответственно, исполнителями этапов являются различные сотрудники.
В этом случае создается единственная маршрутная карта и несколько бизнес‑процессов с использованием этой маршрутной карты.
Обратите внимание: в остальных случаях пользователю нет необходимости создавать бизнес‑процесс.
- Для создания бизнес-процесса переходим в раздел «Процессы», затем «Справочники и настройки».
- Выбираем «Процессы и проекты».
- Создаем новый бизнес-процесс «Разбор претензий сервисным отделом».
- Указываем подразделение: сервисный центр. Обратите внимание: если бизнес‑процесс используется всей компанией, поле необходимо оставить пустым.
- Выбираем карту маршрута — «Разбор претензий сервисным отделом».
- Настройка этапов и оповещений позволяет для каждого подразделения вести своих исполнителей. Также с помощью этой настройки можно настроить оповещения на каждом этапе для клиента, исполнителя с помощью эл. почты, рассылки или смс.
Запуск и контроль независимого бизнес‑процесса
Независимый бизнес-процесс может стартовать из любого документа системы, например, из интереса по кнопке «создать бизнес‑процесс».
Также в бизнес-процессах, в которых указана настройка «Использовать мастер принятия обращений», возможно стартовать из «Принятие обращения».
Обратите внимание: нужно поставить статус «Действует» для данного бизнес‑процесса.
- Рассмотрим старт бизнес-процесса «Разбор претензий сервисным отделом» из интереса клиентов.
- Нажимаем «Создать», затем «Бизнес-процесс».
- Выбираем «Разбор претензий сервисным центром».
- В окне старта бизнес-процесса указываем тему.
- Для старта бизнес-процесса нажимаем кнопку «Запустить».
- Также можно добавить описание, выбрать подразделение, шаблон и добавить необходимые файлы.
- Чтобы посмотреть запущенные работы по бизнес-процессам, нужно перейти по гиперссылке «Бизнес‑процессы».
- После старта бизнес-процесса переходим в «АРМ», затем «Мои дела».
- Видим, что у исполнителя первого этапа появляется задача , которую требуется решить в рамках этого этапа.
Работа с независимым бизнес‑процессом
- Чтобы найти эту задачу, переходим в «АРМ», затем «Мои дела» или «Мои продажи».
- Внутри задачи нажимаем клавишу «Принять». Обратите внимание: задачи и историю можно посмотреть в описании. Дополнительную информацию можно увидеть, нажав кнопку «i».
- Пользователь может перенаправить задачу. Для этого необходимо нажать на человечка, затем выбрать исполнителя и указать причину перенаправления.
- Если необходимо добавить документы, нажимаем на гиперссылку «Файлы».
- Если задача занимает много времени, то можно расписать ее на определенные этапы.
- Все действия будут отображаться в календаре сотрудника.
- После выполнения задачи нажимаем «Выполнить» и фиксируем итоги работы по данному этапу.
- Переходим на следующий этап бизнес‑процесса «Разбор жалобы», в рамках которого требуется добавить документы, предусмотренные маршрутной картой, и выбрать следующий этап «Жалоба обоснована?».
- Отметим, что «Да».
Просмотр воронки по бизнес‑процессам
Воронка продаж используется как оперативный инструмент контроля компании, подразделений и сотрудников.
- Переходим в раздел «Клиенты», затем «Справочники и настройки».
- Выбираем «Продажи», затем «Воронки продаж».
- Для работы с воронкой создаем этап бизнес‑процесса и добавляем его в воронку.
- Нажимаем «Создать воронку».
- Указываем наименование.
- Нажимаем «Создать этап».
- Открываем воронку «Согласование КП» и видим состав этапов.
- Раскрываем этап воронки. Здесь отображается, какие этапы бизнес‑процесса попали в воронку.
- Для просмотра воронки переходим в раздел «Клиенты», затем «Воронка продаж».
- Выбираем необходимую.
- Также можно выбрать показатель, по которому будет просматриваться воронка:
- по количеству,
- по сумме.
- Существует три варианта отображения воронки продаж:
- Активные. С помощью этого варианта можно получить оперативный отчет о состоянии продаж компании по незавершенным бизнес‑процессам на сегодняшний день, а также увидеть, на каких этапах возникают проблемы. Обратите внимание: здесь отображаются те бизнес‑процессы, которые «дошли» до указанного этапа.
- Закрытые. Этот вариант отображает закрытые за выбранный период бизнес‑процессы и позволяет оценить эффективность работы по проведению сделок в компании. Данный вариант используется для оценки менеджеров по продаже. Здесь отображается процент конверсии — на каком этапе происходит уменьшение клиентов и какие причины. Обратите внимание: здесь отображаются и успешно завершенные, и неудачные бизнес‑процессы.
- Все является суммой «Активные» и «Закрытые». Позволяет оценить динамику воронки продаж.
Подписывайтесь на канал «ЛК 1С-Рарус отвечает», чтобы не пропустить новые выпуски.
- Работа с 1С:CRM: как организовать работу руководителя отдела продаж?
- Работа с 1С:CRM: вы спрашиваете — мы отвечаем
- Работа с 1С:CRM: применение программы в отделе маркетинга
- Работа с 1C:CRM: как собирать накопленную аналитику в программе
- Работа с 1С:CRM: отвечаем на вопросы о сборе накопленной аналитики
- Работа с 1С:CRM: использование продукта в деятельности менеджера по продажам
- Работа с 1С:CRM: блок «Проекты, задачи и взаимодействия» для менеджера отдела продаж