Признак групповой точки маршрута бизнес процесса

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

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

Книга знаний: v8: Бизнес-процессы и задачи


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

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



Исходная структура метаданных такая:

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

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

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

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

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

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

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

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

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С:Предприятии 8 позволяет автоматизировать не только последовательные цепочки работ, но и осуществлять условную маршрутизацию, управляя выбором заранее предусмотренных маршрутов, на основе описанной разработчиком карты маршрута.

Условная маршрутизация обеспечивается точками маршрута двух видов:

  • условный переход;
  • выбор варианта.

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


Бизнес-процесс

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


Бизнес-процесс

Использование в прикладных решениях

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

Механизм бизнес-процессов автоматически формирует задачи по точкам маршрута в соответствии с настройками свойств адресации.
Однако в некоторых случаях встает необходимость программно переопределить стандартное создание задач. Для этого предназначены обработчики ПередСозданиемЗадач() и ПриСозданииЗадач().

Под согласованием понимается предварительная оценка проекта документа и/или получение согласия на его утверждение.

Бизнес-процесс согласования состоит из трех точек маршрута:
* определение списка рецензентов;
* cогласование рецензентами;
* обработка результата согласования.

В бизнес-процессе участвуют инициатор согласования и рецензенты.

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

После выполнения этой задачи бизнес-процесс завершается.

Так как исполнителей заранее определить нельзя , то в пояснении точек маршрута вписаны строки «Инициатор» и «Рецензенты» для того, чтобы сделать карту нагляднее. С этой же целью точке маршрута «На согласование» установлено свойство «Групповая», хотя реально оно не используется механикой бизнес-процесса, т.к. все задачи формируются программно.

Исполнителем первой и последней точки является инициатор бизнес-процесса. Исполнители точки «На согласование» определяются списком рецензентов, который составляет инициатор.

Формирование задач на точках «Определить список рецензентов» и «Обработать результаты» происходит в обработчике ПередФормированиемЗадач() и отличается тем, что в первом случае свойство «Сотрудник» берется из параметра сеанса, а во втором — из свойства «Инициатор» бизнес-процесса:

Код 1C v 8.х

 Процедура ОпределитьСписокРецензентовПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)

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

ФормируемыеЗадачи.Добавить(НоваяЗадача);
СтандартнаяОбработка = Ложь;

КонецПроцедуры

На точке «На согласование» задачи формируются в обработчике «ПриСозданииЗадач» путем перебора элементов табличной части «Рецензии»:

Код 1C v 8.х

 Процедура НаСогласованиеПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ)

Для Каждого Элемент Из Рецензии Цикл

НоваяЗадача = Задачи.Задача.СоздатьЗадачу();
НоваяЗадача.БизнесПроцесс = ЭтотОбъект.Ссылка;
НоваяЗадача.ТочкаМаршрута = БизнесПроцессы.Согласование.ТочкиМаршрута.НаСогласование;
НоваяЗадача.Дата = ТекущаяДата();
НоваяЗадача.Наименование = БизнесПроцессы.Согласование.ТочкиМаршрута.НаСогласование.Наименование;

НоваяЗадача.Сотрудник = Элемент.Рецензент;
НоваяЗадача.РольИсполнителя = Элемент.РольИсполнителя;
НоваяЗадача.Подразделение = Элемент.Подразделение;

ФормируемыеЗадачи.Добавить(НоваяЗадача);
НоваяЗадача.Записать();
Элемент.Задача = НоваяЗадача.Ссылка;

КонецЦикла;

Записать();

КонецПроцедуры

 

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

Это особенность именно этого БП или так можно в любой задаче сделать?

 

Добрый день!

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

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

 

Антон Гранкин

Заглянувший

Сообщений: 164
Авторитет:

5

Регистрация: 16.05.2012

#3



0


05.02.2013 19:34:00

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

В этой статье мы рассмотрим объекты «Бизнес-процессы» и «Задачи».

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

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

Поэтому, чтобы понимать работу механизмов «Бизнес-процессов» и «Задач», недостаточно просто «подсмотреть в типовой». Возможности данных объектов нужно именно изучать.

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

Что такое бизнес-процессы в 1С

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

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

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

Объект «Бизнес-процесс» имеет графическое отображение, называемое картой маршрута. Это не что иное, как блок-схема, составленная из «кирпичиков»:

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

Вот пример бизнес-процесса «Закрытие месяца» из 1С:УПП, где встречаются практически все возможные элементы:

Рисунок 1

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

Использование объектов «Бизнес-процесс» для пользователя похоже на работу с документами:

  • Разные бизнес-процессы соответствуют различным действиям в системе (продажа товара, закрытие месяца, согласование заказа, …). То есть объект «Бизнес-процесс» в конфигурации определяет вид операции.
  • При старте пользователем нового бизнес-процесса создается несколько экземпляров, например – продажа вентиляторов контрагенту А, продажа холодильников контрагенту Б и так далее. То есть пользователь создает любое количество объектов информационной базы для каждого бизнес-процесса.

Практический пример

Рассмотрим практический пример. Необходимо автоматизировать процесс приема сотрудника на работу из 3 последовательных этапов:

  1. Младший кадровик заполняет личные данные сотрудника.
  2. Старший кадровик оформляет приказ о приеме сотрудника в статусе «Проект».
  3. Расчетчик проводит приказ о приеме в статусе «Утвержден».

Каждый этап бизнес-процесса выполняет отдельный пользователь с нужными правами доступа.

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

В реальных задачах также нужно учитывать права доступа. Так, в описанной задаче за утверждение документов «Прием на работу» отвечает расчетчик. А при проведении документа в статусе «Утвержден» формируются движения по регистру сведений «Плановые начисления». То есть расчетчик должен иметь право записи в этот регистр.

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

Рисунок 2

Выгрузку базы с этой конфигурацией можно скачать по ссылке в конце статьи.

Начнем с создания нового бизнес-процесса:

Рисунок 3

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

Изобразим карту маршрута бизнес-процесса для поставленной задачи:

Рисунок 4

Рисунок 5

Привязку к исполнителям мы настроим позднее.

В точке условия нужно определить, работал ли принимаемый сотрудник в нашей организации ранее. Если это так, то в базе уже заведен нужный элемент справочника «Физические лица» и заполнены личные данные. Добавим в бизнес-процесс реквизит (тип Булево), который позже обработаем в точке условия (то есть считаем, что пользователь сам определяет при приеме – новый это сотрудник или нет):

Рисунок 6

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

Объект конфигурации «Задача»

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

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

Для наглядности рассмотрим, как выглядит список задач в демонстрационной базе конфигурации «Документооборот 8 ПРОФ, редакция 2.1». При запуске программы от имени пользователя Федоров О.П. (директор) на начальной странице открывается список всех невыполненных задач пользователя:

Рисунок 7

Вернемся к нашей конфигурации, создадим новый объект:

Рисунок 8

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

Свяжем бизнес-процесс с задачей:

Рисунок 9

Обратите внимание! Несмотря на то, что в разных точках бизнес-процесса могут создаваться и редактироваться различные объекты системы, тип создаваемых задач на каждом из этапов будет одинаковым. Например, для решаемой задачи будут создаваться элементы справочников “Физические лица” и “Сотрудники”, а также документы “Прием на работу”. При этом в каждой точке бизнес-процесса будут создаваться задачи “Задача исполнителя”.

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

Адресация задач

Объект «Задача» предоставляет возможность использования вспомогательного регистра сведений, который обеспечивает распределение задач по исполнителям. Этот регистр называется регистром адресации.

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

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

Поэтому для нашего примера создадим в регистре адресации 2 измерения:

Рисунок 10

Здесь используется справочник «Роли исполнителей», который имеет следующие предопределенные элементы:

Рисунок 11

Создадим у задачи реквизиты адресации тех же типов, что и измерения регистра сведений:

Рисунок 12

Укажем для задачи регистр адресации. Для реквизитов адресации задачи настроим соответствие измерениям выбранного регистра сведений:

Рисунок 13

Теперь в карте маршрута бизнес-процесса доступна настройка адресации. Укажем для каждой точки действия нужную роль исполнителя:

Рисунок 14

Чтобы обеспечить ветвление в точке условия, требуется обработчик проверки условия – функция в модуле объекта бизнес-процесса, которая возвращает значение Ложь или Истина. Создадим такой обработчик для точки маршрута ПовторныйПрием:

Рисунок 15

Процедура ПовторныйПриемПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Результат = Не ЭтоПервичныйПрием; КонецПроцедуры

Чтобы знать, от имени какого пользователя запущен текущий сеанс, нам потребуется параметр сеанса. Создадим его:

Рисунок 16

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

Рисунок 17

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

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) ИмяПольз = ИмяПользователя(); ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПольз, Истина); Если Не ЗначениеЗаполнено(ТекПользователь) Тогда НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.Наименование = ИмяПольз; НовыйПользователь.Код = ИмяПольз; НовыйПользователь.Записать(); ТекПользователь = НовыйПользователь.Ссылка; КонецЕсли; ПараметрыСеанса.ТекущийПользователь = ТекПользователь; КонецПроцедуры

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

Рисунок 18

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

Отображение задач по исполнителям

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

Рисунок 19

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

Рисунок 20

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

Рисунок 21

Рисунок 22

После этого у пользователя Петрова В.П. в списке задач (Кадровый учет → Задача исполнителя) появится новая задача:

Рисунок 23

Визуализация хода бизнес-процесса

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

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

Рисунок 24

Затем в модуле формы бизнес-процесса создадим процедуру ОбновитьКартуМаршрута:

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

Вызовем эту процедуру в обработчике события ПриЧтенииНаСервере формы бизнес-процесса:

&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ОбновитьКартуМаршрута(); КонецПроцедуры

После этого при открытии формы бизнес-процесса на карте маршрута будет отмечаться текущее положение:

Рисунок 25

Мы используем обработчик ПриЧтенииНаСервере, т.к. он вызывается самым первым в процессе открытия управляемой формы объекта и выполняется только для уже записанных объектов.

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

Сделаем так, чтобы при нажатии кнопки «Старт» на форме бизнес-процесса карта маршрута обновлялась. Для этого вызовем ту же процедуру ОбновитьКартуМаршрута в обработчике ПослеЗаписиНаСервере:

&НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) ОбновитьКартуМаршрута(); КонецПроцедуры

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

События задач и точек действия бизнес-процессов

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

Итак, добавим в модуль объекта ЗадачаИсполнителя стандартный обработчик ПередВыполнением со следующим кодом:

Процедура ПередВыполнением(Отказ) Исполнитель = ПараметрыСеанса.ТекущийПользователь; КонецПроцедуры

Теперь добавим в бизнес-процесс реквизиты, которые позволят хранить информацию о выполняемых действиях:

Рисунок 26

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

Рисунок 27

В наименовании задачи было бы неплохо видеть не только название точки маршрута, но и ФИО человека, которого требуется принять на работу. Для этого в модуле объекта бизнес-процесса определим процедуру УстановитьНаименованиеЗадачи, и будем вызывать ее при создании задач:

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

Процедуру ОбщаяПриСозданииЗадач привяжем к каждой точке маршрута бизнес-процесса. Это можно сделать через карту маршрута:

Рисунок 28

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

Функция ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) БП = Задача.БизнесПроцесс; Результат = Ложь; Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПервичныхДанныхФизлица Тогда Если ЗначениеЗаполнено(БП.ФизЛицо) И ЗначениеЗаполнено(БП.Сотрудник) Тогда Результат = ЗначениеЗаполнено(БП.ФизЛицо.ДатаРождения) И ЗначениеЗаполнено(БП.ФизЛицо.Пол); КонецЕсли; ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПриемаНаРаботу Тогда Результат = ЗначениеЗаполнено(БП.ПриемНаРаботу); ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.УтверждениеПриемаНаРаботу Тогда ДокПрием = БП.ПриемНаРаботу; Результат = ЗначениеЗаполнено(ДокПрием.Оклад) И ДокПрием.Статус = Перечисления.СтатусыДокументов.Утвержден; КонецЕсли; Возврат Результат; КонецФункции Процедура ОбщаяПередВыполнением(ТочкаМаршрутаБизнесПроцесса, Задача, Отказ) Если Не ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) Тогда Сообщить("Не выполнены действия, необходимые для выполнения задачи!", СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; КонецПроцедуры

Готово, можно тестировать!

Подведем итоги

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

Но цель статьи – показать, как можно использовать объекты системы при автоматизации бизнес-процессов.

Выгрузку базы готового примера можно скачать в конце статьи и использовать в качестве шаблона.

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

Если эти темы Вам интересны, оставляйте комментарии – и мы продолжим освещать тему бизнес-процессов. :)

Об авторе

Выгрузки ИБ и PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.

Ссылка доступна для зарегистрированных пользователей)

Ссылка доступна для зарегистрированных пользователей)

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

Точка разделения в маршруте бизнес-процесса

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

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

Точка маршрута «Старт»

Данная точка используется для определения точки начала выполнения экземпляра бизнес-процесса. Из данной точки маршрута выполнение идет далее по указанной соединительной стрелке.

Точка маршрута «Действие»

Точка маршрута «Действие» является точкой, в которой выдаются задачи сотрудникам   предприятия. В точке маршрута «Действие» определяются различные параметры выдаваемых задач.

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

Маршрутные точки бизнес-процессов

Другие параметры точки процесса определяются в группе «Параметры действия» закладки «Параметры задач»:

Параметр «Высылать повторные задачи по одобренным результатам». Установка данного параметра приводит к тому, что если в точке контроля результатов контролером были отмечены как одобренные задачи некоторых исполнителей, то им все равно будут высланы новые задачи на выполнение. Такая высылка происходит при общем отклонении всех результатов контролером, если же данный флажок не установлен, то высылка повторных задач по одобренным результатам производиться не будет. Стоит также заметить, что если контролер одобрил выполнение данной точки в целом, то повторной выдачи задач не будет ни у одного исполнителя этой точки, вне зависимости от установки данного параметра.

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

Состав исполнителей данной точки определяется на закладке «Исполнители». Возможно несколько вариантов определения исполнителей:

Состав исполнителей определяется основным списком. В данном случае состав исполнителей полностью соответствует списку основных исполнителей процесса

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

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

Для точки маршрута «Действие» необходимо указать ссылку на требуемый отчет исполнителей задач. Состав требуемого отчета исполнителей определяется в соответствующем справочнике.

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

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

На странице «Форма задач» можно указать, какие реквизиты процесса будут отображаться в форме задач исполнителей, какие из них будут доступны исполнителям только для чтения, а какие будут обязательны для заполнения исполнителями. Кроме того, на данной закладке можно переопределить наименования элементов формы задач.

Настройка форм задач с указанием реквизитов процесса

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

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

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

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

На рисунке ниже показаны примеры программных обработчиков задач.

Текст события на программном языке 1С

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

Определение требуемых от исполнителя результатов

Включение флажка «Исп.» включает данный вид результата в список требуемых от исполнителя результатов. В списке видов результатов можно определить строковое наименование реквизита формы задачи для данного результата. В случае, если в состав требуемых результатов входит необходимость приложить внешний файл, то необходимо указать шаблон корпоративных документов, который будет использоваться при создании новых корпоративных документов при загрузке из внешних файлов.

В форме справочника также можно указать тип контроля заполнения результатов при выполнении задачи исполнителем. В реквизите «Тип контроля» можно указать, что от исполнителя будет требоваться заполнение всех результатов либо что исполнителю будет достаточно заполнить хотя бы один из результатов в форме его задачи. Так же можно установить переключатель типа контроля в положение «Не проверять заполнение результатов».

Точка маршрута «Условие»

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

Точка условие в маршруте процесса

Ниже приведены возможные способы анализа условий:

Условие на основе анализа состояния реквизитов. При выборе такого варианта, необходимо указать, какие реквизиты будут анализироваться, и указать виды сравнения (сравнение на больше-меньше, сравнение на заполненность и прочее) со сравниваемым значением. В случае, если используется анализ состояния нескольких реквизитов, то можно выбрать вариант признания всего условия выполненным, например указать вариант признания всего условия выполненным по критерию «ИЛИ», в таком случае условие считается выполненным и процесс идет по ветви «Да» если хотя бы один из реквизитов удовлетворяет заданному условию. В случае варианта признания всего условия выполненным по критерию «И» необходимо, что бы все реквизиты успешно прошли сравнение с заданными условиями.

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

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

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

Условие на основе программной функции. Проектировщики бизнес-процессов могут разработать свой алгоритм вычисления результатов условия на языке «1С:Предприятие 8.3 / 8.2». Для этого можно написать свой программный код функции. В случае если данная функция вернет «Истина» (выполнив директиву «Возврат=Истина;»), то процесс продолжится по ветви «Да», если же программная функция вернет значение «Ложь», то процесс продолжится по ветви «Нет». Внутри программной функции можно обращаться к экземпляру процесса через переменную «СсылкаНаПроцесс», а также к реквизитам процесса через структуру «СтруктураРеквизитовПроцесса.<ИмяРеквизита>» и к параметрам процесса через структуру «СтруктураПараметровПроцесса.<ИмяПараметра>».

Точка маршрута «Выбор варианта»

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

Точка выбора варианта в маршруте процесса

Существует два варианта определения ветви варианта процесса.

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

Определение на основании программной функции. В таком случае проектировщикам данного вида процесса необходимо разработать программную функцию на языке «1С:Предприятие 8.3 / 8.2». Результатом выполнения такой функции должно быть числовое значение с требуемым вариантом выполнения процесса. Внутри программной функции можно обращаться к экземпляру процесса через переменную «СсылкаНаПроцесс», а также к реквизитам процесса, через структуру «СтруктураРеквизитовПроцесса.<ИмяРеквизита>» и к параметрам процесса через структуру «СтруктураПараметровПроцесса.<ИмяПараметра>».

Точка маршрута «Обработка»

Точка предназначена для выполнения обработки данных в базе данных СЭД «Корпоративный документооборот». В точке «Обработка» может быть выполнена обработка данных по различным вариантам.

Точка обработки в маршруте процесса

Варианты выбираются из списка реквизита «Тип обработки». Все варианты перечислены ниже:

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

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

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

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

Произвольная программная функция. При выборе типа обработки «Произвольная программная функция» будет выполнен произвольный программный код на языке «1С:Предпрятие 8.2». Разработчики программных функций могут использовать для обращения к экземпляру бизнес-процесса аргумент функции СсылкаНаПроцесс, доступ к данным осуществляется в виде: «СтруктураРеквизитовПроцесса.<ИмяРеквизита>» и «СтруктураПараметровПроцесса.<ИмяПараметра>». При необходимости можно изменить данные, присвоив значения элементам структуры «СтруктураРеквизитовПроцесса. <ИмяРеквизита> = <ЗначениеРеквизита>» и, соответственно «СтруктураПараметровПроцесса. <ИмяПараметра> = <ЗначениеРеквизита>»

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

Точка таймера в маршруте процесса

Для обработки таймеров необходим запуск регламентного задания «Системное: Обработка таймеров процессов», регламентное задание находится в подсистеме «Автоматическая обработка».

Точка маршрута «Подпроцесс»

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

Точка вызова подпроцесса в маршруте процесса

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

На создание подпроцесса также влияют следующие параметры, указанные в разделе «Инициализация подпроцесса»:

Параметр «Скопировать список объектов в список подпроцесса». При установке данного флажка происходит копирование списка объектов (корпоративных документов и ссылок на объекты внешней базы данных) в список объектов подпроцесса.

Параметр «Скопировать документы из реквизитов в список подпроцесса». При установке флажка происходит копирование всех реквизитов, имеющих тип ссылки на корпоративный документ в табличную часть подпроцесса «Ссылки на объекты»

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

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

Точка маршрута «Разделение»

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

Точка маршрута «Слияние»

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

Точка разделения маршруте процесса

Если одна из входящий ветвей не выполнена, то процесс ждет её выполнения и не продвигается дальше.

Точка маршрута «Завершение»

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

Маршрутные завершения бизнес-процессаЭкземпляр бизнес-процесса после завершения маршрута получает статус «Завершен» и его реквизит «Дата завершения» заполняется текущей датой. Мы рассмторели основные виды точек маршрута, применяемых при автоматизации бизнес-процессов на предприятии.

Смотрите также:

  • Корпоративные бизнес-процессы
  • Проектирование видов процессов

1С: Предприятие 8.3.13 . Документация
Руководство разработчика
Глава 13. Бизнес-процессы и задачи

13.1. Основные понятия

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

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

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

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

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

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

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

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

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

13.2. Общая часть

Механизм бизнес-процессов в системе «1С:Предприятие» обеспечивается сразу несколькими объектами конфигурирования:

● Бизнес-процессы,

● Задачи,

● Регистр сведений,

● Параметр сеанса.

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

Рис. 425. Схема бизнес-процессов

Основные объекты ‑ бизнес-процессы и задачи ‑ взаимодействуют друг с другом (например, бизнес-процесс создает задачи, а задача в процессе выполнения приводит к продвижению его по маршруту).

Вспомогательные объекты ‑ параметры сеанса, регистр сведений и справочники ‑ не используют друг друга и основные объекты.

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

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

13.3. Маршрутизация

Бизнес-процессы в системе «1С:Предприятие» допускают следующие виды маршрутизации:

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

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

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

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

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

13.4. Система адресации

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

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

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

Определение конкретного исполнителя осуществляется с помощью свойств задачи ‑ Адресация, Основной реквизит адресации и Текущий исполнитель.

Процесс определения основного реквизита адресации из остальных реквизитов адресации называется разыменованием.

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

Один из реквизитов адресации задачи является основным и означает конкретного сотрудника ‑ исполнителя заданий.

Рис. 426. Схема адресации

Поясним на примере работу системы адресации.

Допустим, что есть регистр сведений, состоящий из двух измерений ‑ роль и сотрудник, в который внесены следующие записи.

Роль Сотрудник
Кассир Иванов
Менеджер Петров

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

Свойство задачи Значение
Наименование Принять наличную оплату
Роль Кассир
Сотрудник

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

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

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

2. Создадим справочники для каждого из планируемых измерений адресации (Сотрудники, Роли, Подразделения) и заполним их предопределенными значениями:

Сотрудники Роли Подразделения
Иванов Кассир Бухгалтерия
Петров Менеджер Отдел продаж
Сидоров Руководитель отдела Склад
Кладовщик

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

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

4. Создадим параметр сеанса ТекущийИсполнитель и установим ему тип СправочникСсылка.Сотрудники.

5. Проинициализируем параметр сеанса при запуске системы:

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
    Пользователь = Справочники.Сотрудники.
                    НайтиПоНаименованию(ИмяПользователя());
    ПараметрыСеанса.ТекущийИсполнитель = Пользователь;
КонецПроцедуры

1. Создадим задачу.

2. Установим созданный ранее регистр сведений в свойство задачи Адресация.

3. Добавим к задаче реквизиты адресации аналогично измерениям регистра сведений:

● Сотрудник,

● Роль,

● Подразделение.

4. Установим для созданных реквизитов адресации задачи тип в виде ссылки на соответствующий справочник и в свойстве Реквизиты адресации установим ссылку на измерение регистра сведений.

Реквизит адресации Тип Измерение
адресации
Сотрудник СправочникСсылка.Сотрудники Сотрудник
Роль СправочникСсылка.Роль Роль
Подразделение СправочникСсылка.Подразделения Подразделение

5. Выберем реквизит Сотрудник в качестве основного реквизита адресации, установив его в соответствующем свойстве задачи.

6. Создадим первый бизнес-процесс и установим у него ссылку на созданную ранее задачу (свойство Задача).

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

Рис. 427. Карта бизнес-процесса

7. Создадим следующий бизнес-процесс и установим у него ссылку на эту же задачу.

8. Спроектируем маршрутную карту созданного бизнес-процесса. И так далее.

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

Рассмотрим подробнее несколько ключевых особенностей механизма бизнес-процессов.

13.5. Старт бизнес-процесса

Бизнес-процесс стартует при вызове метода Старт() или нажатии кнопки Стартовать и закрыть в форме объекта.

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

БП = БизнесПроцессы.Согласование.СоздатьБизнесПроцесс();
БП.Дата = ТекущаяДата();
БП.Записать();
БП.Старт();

При старте выполняется следующая последовательность действий.

Внутренний механизм Обработчики
на встроенном языке
1 Вызов обработчика ПередСтартом у точки старта
2 Продвижение по карте маршрута до точки действия
3 Формирование задач (см. здесь)

Бизнес-процесс может быть записан, но не стартован. Это может оказаться полезным, если создание бизнес-процесса и его старт разделены во времени. Например, когда бизнес-процесс стартует при наступлении некоторого события.

13.6. Выполнение задач

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

Внутренний
механизм
Обработчики
на встроенном языке
1 Начало транзакции
2 Вызов обработчика ПередВыполнением у задачи
3 Вызов обработчика ПередВыполнением у соответствующей точки маршрута
4 Установка свойства Выполнена у задачи равным Истина
5 Вызов обработчика ПриВыполнении у задачи
6 Запись объекта задачи
7 Вызов обработчика ПриВыполнении у соответствующей точки маршрута
8 Переход бизнес-процесса на следующую точку маршрута
9 Формирование задач по новой точке маршрута (см. здесь)
10 Завершение транзакции

13.7. Разделение и слияние

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

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

Допускается вложенное разделение и слияние. При этом каждая точка слияния будет синхронизировать только ветки «своей» точки разделения.

ВНИМАНИЕ! Разделение может быть и без слияния. В этом случае бизнес-процесс будет иметь несколько параллельных ветвей до своего завершения.

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

13.8. Ручное управление

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

13.8.1. Признак завершенности бизнес-процесса

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

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

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

13.8.2. Признак выполнения задачи

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

Ручная установка признака выполнения может привести к остановке бизнес-процесса ‑ он не будет завершен, но по нему не будет ни одной невыполненной задачи.

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

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

13.8.3. Удаление задач

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

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

Удаление всех задач для незавершенного бизнес-процесса переводит его в статус нестартованного.

13.8.4. Добавление задач

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

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

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

13.9. Условный переход

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

Этот обработчик должен вернуть результат проверки условия, от которого будет зависеть выбор следующей точки маршрута. Если результат Истина, то бизнес-процесс пойдет по ветке Да, в противном случае ‑ по ветке Нет. По умолчанию результат устанавливается равным значению Ложь.

Обработчик проверки условия может, например, иметь такой вид:

Процедура ОграничениеСкидкиПроверкаУсловия(ТочкаМаршрутаБП, Результат)
    Если ПолучитьСкидкуПоСчету() > ПолучитьОбычнуюСкидку() Тогда
        Результат = Истина;
    Иначе
        Результат = Ложь;
    КонецЕсли;
КонецПроцедуры

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

13.10.Выбор варианта

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

Этот обработчик должен установить параметр Результат равным одному из предусмотренных вариантов. Процедура-обработчик может иметь примерно такой вид:

Процедура ВыборВарианта (ТочкаВыбораВарианта, Результат)
    Если ВидОплаты = Перечисления.ВидОплаты.Наличная Тогда
        Результат = ТочкаВыбораВарианта.Варианты.Наличная;
    ИначеЕсли ВидОплаты = Перечисления.ВидОплаты.Безналичная Тогда
        Результат = ТочкаВыбораВарианта.Варианты.Безналичная;
    ИначеЕсли ВидОплаты = Перечисления.ВидОплаты.Взаимозачет Тогда
        Результат = ТочкаВыбораВарианта.Варианты.Взаимозачет;
    ИначеЕсли ВидОплаты = Перечисления.ВидОплаты.Кредит Тогда
        Результат = ТочкаВыбораВарианта.Варианты.Кредит;
    КонецЕсли;
КонецПроцедуры

В этом обработчике ВидОплаты ‑ реквизит бизнес-процесса.

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

13.11.Формирование задач

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

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

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

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

Сотрудник Роль Подразделение
Иванов Кассир
Петров Кассир

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

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

Внутренний механизм Обработчики
на встроенном языке
1 Начало транзакции
2 Вызов обработчика ПередСозданиемЗадач()
3 Формирование списка задач
4 Вызов обработчика ПриСозданииЗадач()
5 Запись всех сформированных задач
6 Вызов обработчика ПередЗаписью() у задачи
7 Запись задачи
8 Вызов обработчика ПриЗаписи() у задачи
9 Завершение транзакции

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

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

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

На пятом шаге проверяется нормальное завершение обработчика ПриСозданииЗадач(). Если обработчик в параметре Отказ вернул значение Истина, то процесс создания задач прерывается и вызывается исключение. В нашем случае это приведет к отмене выполнения метода Старт(). Если же Отказ = Ложь, то производится запись всех задач из сформированного массива с вызовом обработчиков ПередЗаписью() и ПриЗаписи() у каждой отдельной задачи (шаги 6 и 8 соответственно).

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

● Наименование устанавливается равным наименованию соответствующей точки маршрута, например Выписка счета.

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

● Ссылка на точку маршрута бизнес-процесса.

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

13.12.Проверка выполнения

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

Для организации такого рода автоматизированных процедур предназначен метод ПроверкаВыполнения() у задачи и соответствующие ему обработчики у точек маршрута.

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

Если Задача.ПроверитьВыполнение() Тогда
    Задача.ВыполнитьЗадачу();
КонецЕсли
Внутренний
механизм
Обработчики
на встроенном языке
1 Обработка вызова метода ПроверитьВыполнение()
2 Вызов обработчика ОбработкаПроверкиВыполнения() у задачи. Если Результат равен Ложь, то метод ПроверитьВыполнение() сразу возвращает Ложь
3 Вызов обработки ОбработкаПроверкиВыполнения() у соответствующей точки маршрута
4 Возврат результата вызова обработчика из предыдущего пункта и, если он равен Истина, вызов метода ВыполнитьЗадачу()

Описание одного из способов использования автоматизированного выполнения задач см. здесь.

13.13.Выполнение вложенных процессов

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

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

Внутренний
механизм
Обработчики
на встроенном языке
1 Начало транзакции
2 ПередСозданиемВложенныхБизнесПроцессов()
3 Вызов обработчика ПередСозданиемЗадач() для точки маршрута
4 Если СтандартнаяОбработка, то формируется массив задач
5 ПриСозданииЗадач()
6 Запись массива сформированных задач и создание массива вложенных бизнес-процессов
7 ПриСозданииВложенныхБизнесПроцессов()
8 Запись и старт сформированных бизнес-процессов
9 Завершение транзакции

Рассмотрим подробнее.

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

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

На пятом шаге можно «донастроить» сформированные задачи и добавить к ним новые в случае необходимости.

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

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

13.14.Завершение бизнес-процесса

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

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

При переходе на точку завершения вызывается обработчик ПриЗавершении(). Если он установит Отказ равным Истина, например, если не выполнены все необходимые условия завершения бизнес-процесса, то обработка прерывается. Задача по точке маршрута, выполнение которой привело к переходу на точку завершения, при этом остается невыполненной.

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

13.15.Стандартные реквизиты бизнес-процессов и задач

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

Стандартные реквизиты бизнес-процессов:

Реквизит Тип
ПометкаУдаления Булево
Номер Строка или Число
Дата Дата
Завершен Булево
ВедущаяЗадача ЗадачаСсылка.<Имя задачи>
Ссылка БизнесПроцессСсылка.<Имя бизнес-процесса>

Стандартные реквизиты задач:

Реквизит Тип
ПометкаУдаления Булево
Номер Строка или Число
Дата Дата
Наименование Строка
Выполнена Булево
БизнесПроцесс БизнесПроцессСсылка.<Имя бизнес-процесса>
ТочкаМаршрута БизнесПроцессСсылка.<Имя бизнес-процесса>
Ссылка ЗадачаСсылка.<Имя задачи>

13.16.Бизнес-процессы с несколькими точками старта

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

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

Если бизнес-процесс имеет несколько точек старта, то при вызове метода Старт() необходимо указать конкретную точку. В противном случае будет выдано сообщение об ошибке. Поэтому при создании бизнес-процесса с несколькими точками старта необходимо сделать следующее:

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

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

Пример:

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

В остальном использование бизнес-процессов с несколькими точками старта ничем не отличается от обычных бизнес-процессов.

13.17.Обратная связь

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

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

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

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

Для этого последовательно выполним следующие действия:

● Добавим оповещение о проведении в форму документа:

Процедура ПослеЗаписи(Отказ)
    Если БылоПроведение Тогда
        Оповестить("ПроведениеДокумента", , ЭтотОбъект.Ссылка);
    КонецЕсли;
КонецПроцедуры

● Зарегистрируем обработчик оповещения. Это можно сделать в обработчике ПриНачалеРаботыСистемы() модуля управляемого приложения:

ПодключитьОбработчикОповещения("ОбработчикОповещения");

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

// Обработчик оповещения в модуле управляемого приложения
Процедура ОбработчикОповещения(ИмяСобытия, Параметр, Источник) Экспорт
    Если ИмяСобытия = "ПроведениеДокумента" Тогда
        РаботаСБизнесПроцессами.ВыполнитьЗадачуПоДокументу(Источник);
    КонецЕсли;
КонецПроцедуры
...
&НаСервере
// Метод серверного общего модуля РаботаСБизнесПроцессами
Процедура ВыполнитьЗадачуПоДокументу(ДокументСсылка) Экспорт
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Парам", ДокументСсылка);
        Запрос.Текст =
                "ВЫБРАТЬ
                |Ссылка
                |ИЗ
                |Задача.Задача.ЗадачиПоИсполнителю
                |
                |ГДЕ
                |Документ = &Парам";
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            ТекущаяЗадача = Выборка.Ссылка.ПолучитьОбъект();
            Если ТекущаяЗадача.ПроверитьВыполнение() Тогда
                ТекущаяЗадача.ВыполнитьЗадачу();
            КонецЕсли;
        КонецЦикла;
КонецПроцедуры

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

Рассмотрим специфические особенности конфигурирования объектов бизнес-процессов и задач.

13.18.Карта маршрута

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

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

13.19.Редактирование бизнес-процесса

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

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

Свойства бизнес-процессов редактируются в палитре свойств или окне редактирования объекта (см. здесь).

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

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

Автонумерация. Установка свойства приводит к тому, что вновь введенному бизнес-процессу номер будет присваиваться автоматически. Автоматически присвоенный номер можно исправить.

Длина номера. Устанавливает максимальную длину номера бизнес-процесса. Конфигуратор позволяет установить длину номера равной 0, если в бизнес-процессе данного вида номер не используется.

Тип номера. Свойство позволяет выбрать тип значения для номера бизнес-процесса ‑ Число или Строка. Это свойство аналогично свойству Тип номера документа.

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

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

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

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

На закладке Права имеется возможность установки привилегированного режима при создании задач (свойство Привилегированный режим при создании задач):

● Если свойство установлено, то все действия по формированию задач система будет выполнять в привилегированном режиме (при исполнении на стороне сервере и в файловом варианте). Однако привилегированный режим не будет установлен, если формирование задач выполняется в клиент-серверном варианте на стороне толстого клиента.

● При создании новых бизнес-процессов свойство установлено в значение Истина, если в свойствах конфигурации указан основной режим запуска ‑ управляемое приложение, и в значение Ложь, если основным режимом запуска указан обычный.

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

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

13.20.Редактирование задачи

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

Задачи могут применяться самостоятельно или использоваться для обеспечения функционирования бизнес-процессов разного вида.

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

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

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

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

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

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

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

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

Текущий исполнитель. Это свойство устанавливает ссылку на параметр сеанса, в котором будет храниться текущий исполнитель. Свойство используется, например, как значение по умолчанию для свойства Исполнитель табличного поля списка задач.

Автопрефикс номера задачи. Может принимать значения Не использовать и Номер бизнес-процесса. Если это свойство установлено в значение Номер бизнес-процесса, то при создании новой задачи ее номер автоматически дополняется номером соответствующего ей бизнес-процесса.

Группа подчиненных объектов Реквизиты адресации устанавливает набор реквизитов, которые определяют тип и размерность системы адресации задач этого вида в контексте автоматизируемой предметной области. Один из этих реквизитов может быть установлен основным (см. свойство Основной реквизит адресации). Реквизиты адресации можно связать с измерениями регистра сведений. Это связывание используется системой для определения значения основного реквизита адресации, если оно не указано, и делает возможным не только прямую, но и ролевую адресацию.

Длина номера. Устанавливает максимальную длину номера задачи.

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

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

Автонумерация. Установка свойства приводит к тому, что вновь введенной задаче номер будет присваиваться автоматически. Автоматически присвоенный номер можно исправить.

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

Понравилась статья? Поделить с друзьями:
  • Преображенский рынок часы работы санитарный день
  • Признак компании резидент или нерезидент что это
  • При аренде помещения что нужно знать для бизнеса
  • Приказ об установлении перерывов во время работы
  • При обмене карты сбербанка меняются ли реквизиты