1С:Документооборот ПРОФ, КОРП, ДГУ
20.02.2016

Процессы и задачи

Общее описание

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

В программе предусмотрено несколько "простых" типовых процессов, на основе которых можно построить сложные составные и комплексные процессы.

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

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

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

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

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

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

Рабочее место Описание
Мои процессы Содержит значения возможных вариантов уведомлений. Содержит список процессов, автором которых является текущий пользователь.
В списке не отображаются процессы Ознакомления, Решения вопросов выполнения задач, а так же процессы, которые являются действиями сложных процессов (например, в списке не будет отображен процесс согласования, который является действием комплексного процесса).
Как открыть: Совместная работа – Мои процессы
Список процессов В списке отображаются все процессы доступные пользователю.
Как открыть: Совместная работа – Процессы
Задачи мне Список задач текущего пользователя. Отображаются в том числе ролевые и делегированные задачи.
Как открыть: Совместная работа – Задачи мне
Задачи от меня Все задачи, в которых текущий пользователь является автором.
Как открыть: Совместная работа – Задачи от меня.
Все задачи Список всех доступных задач.
Как открыть: Совместная работа – Все задачи.
Задачи отдела Список с задачами подчиненных пользователей в соответствии с иерархией структуры предприятия.
Как открыть: Совместная работа – Задачи отдела
Помощник создания процессов Форма отображающая список доступных процессов для запуска.
Форма открывается при создании процесса из главного меню (Главное – Создать - Процесс), а также из меню "Отправить" и "Подзадачи" в рабочих местах и карточках объектов.

Внутренне устройство

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

Работа процессов

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

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

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

Условие отказа от создания задачи ознакомления

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

Создание задачи ознакомления при завершении процесса:

Копировать в буфер обмена
Процедура ЗавершениеПриЗавершении(ТочкаМаршрутаБизнесПроцесса, Отказ)

        ...  

    // Если "Согласовано" и это вложенный процесс, 
    //  то задача Ознакомления создается в обработчике ПриЗавершении, 
    //  чтобы не препятствовать завершению процесса.

    Если РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано

         И ЗначениеЗаполнено(ВедущаяЗадача) Тогда

         БизнесПроцессВедущейЗадачи =
             ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВедущаяЗадача, "БизнесПроцесс");

         Если ТипЗнч(БизнесПроцессВедущейЗадачи) <> Тип("БизнесПроцессСсылка.КомплексныйПроцесс") Тогда

             Возврат;

         КонецЕсли;

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

    КонецЕсли;
    
КонецПроцедуры

Рекомендации

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

Комплексные процессы

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

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

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

Процедурой СтартоватьНовыеДействия определяются следующие действия для старта процесса в соответствии с настроенным порядком и условиями маршрутизации.

Рекомендации

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

Ролевая маршрутизация

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

Для каждой роли в программе есть возможность определить несколько исполнителей.

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

Для настройки ролей предусмотрена отдельная форма, которая открывается по команде Управление процессами – Роли исполнителей.

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

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

Роли исполнителей содержатся в справочнике РолиИсполнителей, а соответствие исполнителей задач в регистре сведений ИсполнителиЗадач.

Ролевая маршрутизация обеспечивается стандартным механизмом адресации задач. Для этого используются объекты:

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

Рекомендации

Для самостоятельного расширения списка возможных разрезов необходимо расшить тип и добавить свои предопределенные элементы в плане видов характеристик ОбъектыАдресацииЗадач.

Шаблоны процессов

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

Для работы с шаблонами процессов предусмотрено рабочее место, которые открывается по команде Управление процессами – Шаблоны процессов.

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

Шаблоны процессов в программе хранятся в справочниках Шаблоны<Имя процесса>.

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

Для заполнения по шаблону используется процедура ЗаполнитьПоШаблону модуля объекта процесса.

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

Но следует учесть, что при заполнении может использоваться и другая логика – например, заполнение по проектной задаче, проекту в обработчике заполнения нового объекта (процедура ОбработкаЗаполнения).Чтобы понять логику заполнения процесса в том или ином случае можно поставить точку останов в процедуре ЗаполнитьПоШаблону, посмотреть стек вызовов и проанализировать "соседний код".

Рекомендации

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

Предметы процессов и задач

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

О ролях предметов можно подробнее ознакомиться в статье "Бизнес-процессы".

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

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

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

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

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

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

Все предметы сохраняются в табличной части Предметы процессов и их задач. При операциях над предметами происходит синхронизация этих табличных частей.

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

ИмяПредмета – ссылка на элемент справочника ИменаПредметов.

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

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

Работа с предметами обеспечивается процедурами и функциями в общих модулях Мультипредметность<…>.

Рекомендации

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

Запуск процессов

В программе предусмотрено несколько вариантов запуска процессов:

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

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

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

Запуск по событиям выполняется без интерактивного участия пользователя при помощи механизма бизнес-событий.

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

Условия маршрутизации

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

Условия могут быть определены при помощи конструктора (используется механизм компоновки данных), кодом встроенного языка "1С" или составлены из комбинаций других условий.

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

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

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

Фоновое выполнение процессов

Для увеличения отзывчивости конфигурации предусмотрено несколько механизмов фонового выполнения процессов:

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

Очередь процессов хранится в регистре сведений ПроцессыДляЗапуска. Добавление процессов происходит при записи процессов из карточек при помощи методов регистра сведений. За обработку очереди на сервере отвечает регламентное задание СтартПроцессов. Все процедуры по фоновому старту находятся в общих модулях СтартПроцессов<…>. Фоновое выполнение включается/отключается константой ИспользоватьФоновыйСтартПроцессов.

Фоновое выполнение задач работает аналогично фоновому старту процессов. Очередь хранится в регистре сведений ЗадачиДляВыполнения. Обрабатывается она при помощи регламентного задания ВыполнениеЗадач. Процедуры и функции находятся в общих модулях – ВыполнениеЗадач<…>, включается/отключается константой ИспользоватьФоновоеВыполнениеЗадач.

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

Помещение в очередь происходит в подписке на событие ЗадачаКомплексногоПроцессаПриВыполнении .

За обработку очереди отвечает регламентное задание ФоноваяМаршрутизацияКомплексныхПроцессов. Механизм включается/отключается константой ИспользоватьФоновуюМаршрутизациюКомплексныхПроцессов.

Возможные проблемы при фоновом выполнении процессов

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

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

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

Большинство ошибок можно устранить, внимательно прочитав сообщение ошибке в уведомлении программы.

Также следует отметить, что фоновое выполнение процессов работает только в клиент-серверном варианте работы программы. Фоновое выполнение задач может использоваться и в файловом варианте, если используется распределенная информационная база (Далее РИБ).

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

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

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

  1. Пользователю направляется уведомление о новой задаче. В уведомление включены специальные ссылки для формирования ответного письма. Каждая ссылка соответствует кнопке с результатом в задаче.
  2. Пользователь нажимает на ссылку, вписывает комментарий в новое письмо и отправляет его (адрес заполняется автоматически).
  3. Программа принимает данное письмо и на основании его содержимого находит и выполняет задачу.

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

Выполнение задач по почте обеспечивается процедурами общих модулей ВыполнениеЗадачПоПочте<…>. При рассылке уведомлений используются особая тема и текст. Как они формируются можно посмотреть в общем модуле РаботаСУведомлениями, при помощи поиска по строке ВыполнениеЗадачПоПочтеСервер.

За обработку ответов (писем с результатами выполнения задач) отвечает регламентное задание ВыполнениеЗадачПоПочте. Обработка протоколируется в регистре ПротоколВыполненияЗадачПоПочте.

Рекомендации

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

Выполнение процессов в РИБ

В отличии от других объектов программы, обмен процессами и задачами в РИБ при использовании плана обмена Полный происходит особым образом.

Общая логика

  1. У каждого процесса есть так называемый "Мастер-узел". Это узел, в котором был создан и стартован процесс. Мастер-узел для процесса определяется реквизитом УзелОбмена. В реквизите сохранен уникальный идентификатор узла обмена. Значение реквизита УзелОбмена в процессе соответствует значению реквизита ИдентификаторУзла в плане обмена Полный.
  2. Продвижение процессов происходит только в мастер-узле. Под продвижением следует понимать выполнение задач и маршрутизацию комплексных процессов, так как она тоже завязана на выполнении ведущих задач. Это позволяет исключить коллизии и зависание процессов при выполнении задач в разных узлах РИБ.
  3. Для передачи данных между узлами РИБ используется особая логика объединения данных. При этом стандартная обработка коллизий платформы отключена.

Ограничения и особенности

Как это работает

При первой записи узла плана обмена Полный определяется его идентификатор (реквизит ИдентификаторУзла).

При первой записи процесса заполняется его реквизит УзелОбмена в подписке на событие ПередЗаписьюБизнесПроцесса.

Если используется фоновый старт процессов, то процесс обрабатывается регламентными заданиями СтартПроцессов и СтартОтложенныхПроцессов только в мастер узле. Текущий узел при этом определяется функцией ЭтотУзелОбменаДляОбработкиПроцессов общего модуля РаботаСБизнесПроцессами. Если фоновый старт не используется, то процесс стартует сразу.

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

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

При загрузке процессов как из главного, так и из подчиненного узла происходит одинаковая обработка. Это переопределено в обработчиках ПриПолученииДанныхОтГлавного и ПриПолученииДанныхОтПодчиненного плана обмена Полный. Но обработка получения данных для каждого процесса своя. За это отвечает процедура ОбработатьПолучениеПроцессаИзУзлаРИБ в модуле менеджера каждого процесса.

Сама процедура получения данных процесса разделена на две части:

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

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

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

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

Возможные проблемы при использовании процессов в РИБ

Если процессы в РИБ использовались до версии 2.0.8, то при переходе на новую версию происходит заполнение идентификаторов узлов в плане обмене Полный и сопоставление процессов этим узлам (заполнение реквизита УзелОбмена в процессах). Процессы для привязки к текущему узлу определяются по автору. Если для автора процессов существует пользователь информационной базы, то все его процессы относятся к текущему узлу.

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

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

Чтобы исправить данную ситуацию необходимо удалить лишних пользователей и обновить реквизит у процессов с полненным реквизитом УзелОбмена во всех узлах РИБ. Код для обновления следует написать самостоятельно. За основу можно взять процедуру ЗаполнитьУзелОбменаВПроцессах в общем модуле ОбновлениеИнформационнойБазыДокументооборот.

Рекомендации

Не рекомендуется менять типовое поведение механики выполнения процессов в РИБ.

Права доступа

Доступ к части объектов текущего блока ограничен на уровне записей. Ниже описаны права доступа и логика распространения для основных объектов.

Права доступа к шаблонам процессов:

Участник

Чтение

Добавление

Изменение

Удаление

Управление правами

Ответственный

Да

Да

Да

Да

 

Рабочая группа (если заполнена)

Да





Все пользователи (если рабочая группа пуста)

Да





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

Права доступа к процессам:

Участник

Чтение

Добавление

Изменение

Удаление

Управление правами

Автор

Да

Да

Да

Да


Исполнители (в том числе проверяющие, контролеры)

Да





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

Да





Текущие участники процесса

Да





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

Права доступа к задачам:

Участник

Чтение

Добавление

Изменение

Удаление

Управление правами

Автор

Да





Исполнитель

Да


Да



Старые исполнители, Участники БП

Да





Бывшие и текущие участники процесса содержатся в регистре сведений УчастникиПроцессов. Именно по этому регистру представляется доступ на чтение к таблицам процессов и задач.

Распространение прав доступа на чтение по иерархии процессов и задач

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

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

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

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

Рекомендации

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

Метаданные

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

Объект конфигурации

Описание

Общие модули

БизнесПроцессыИЗадачиВызовСервера

БизнесПроцессыИЗадачиКлиент

БизнесПроцессыИЗадачиКлиентПереопределяемый

БизнесПроцессыИЗадачиКлиентСервер

БизнесПроцессыИЗадачиПереопределяемый

БизнесПроцессыИЗадачиСервер

БизнесПроцессыИЗадачиСобытия

Стандартные модули подсистемы процессов и задач БСП.



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



Код модулей сильно отличается от БСП.

РаботаСБизнесПроцессами

РаботаСБизнесПроцессамиВызовСервера

РаботаСБизнесПроцессамиКлиент

РаботаСБизнесПроцессамиКлиентСервер

Дополнение к общим модулям БизнесПроцессыИЗадачи<…>.

ВыполнениеЗадачКлиент

ВыполнениеЗадачСервер

В этих модулях сосредоточены процедуры и функции по выполнению задач.

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

ВыполнениеЗадачПоПочтеКлиент

ВыполнениеЗадачПоПочтеСервер

Процедуры и функции механики выполнения задач по почте.

ИнтерактивныйЗапускБизнесПроцессов

ИнтерактивныйЗапускБизнесПроцессовКлиент

Процедуры и функции интерактивного старта.

ИсторияСобытийЗадач

Интерфейсные процедуры регистрации событий задач.

КомандыРаботыСБизнесПроцессамиКлиент

Общие процедуры команд карточке процессов и задач.

Мультипредметность

МультипредметностьВызовСервера

МультипредметностьКлиент

МультипредметностьКлиентСервер

МультипредметностьПереопределяемый

Общие процедуры и функции механики предметов процессов и задач.

ОбзорЗадачВызовСервера

ОбзорЗадачВызовСервераПереопределяемый

ОбзорЗадачКлиент

ОбзорЗадачКлиентПереопределяемый

Формирование html представлений карточек и мини карточек задач.

ОбзорПроцессовВызовСервера

ОбзорПроцессовВызовСервераПереопределяемый

ОбзорПроцессовКлиент

ОбзорПроцессовКлиентПереопределяемый

Формирование html представлений процессов и их шаблонов.

ПереносСроковВыполненияЗадач

ПереносСроковВыполненияЗадачКлиент

Процедуры и функции механизма переносов сроков.

ПовторениеБизнесПроцессов

ПовторениеБизнесПроцессовКлиент

Интерфейсные процедуры по настройке повторений, а также функции проверки и непосредственного повторения процессов.

РаботаСКомплекснымиБизнесПроцессамиКлиент

РаботаСКомплекснымиБизнесПроцессамиКлиентПереопределяемый

РаботаСКомплекснымиБизнесПроцессамиКлиентСервер

РаботаСКомплекснымиБизнесПроцессамиСервер

РаботаСКомплекснымиБизнесПроцессамиСерверПереопределяемый

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

РаботаСУсловиямиМаршрутизации

Содержит функции и процедуры по проверки условий заданных в справочнике УсловияМаршрутизации

СтартПроцессовГлобальный

СтартПроцессовКлиент

СтартПроцессовСервер

Процедуры и функции, отвечающие за старт процессов. В то числе за фоновый и отложенный старт процессов.

ШаблоныБизнесПроцессов

ШаблоныБизнесПроцессовКлиент

ШаблоныБизнесПроцессовПереопределяемый

Общие процедуры по работе с шаблонами процессов.



В этих же модулях находятся процедуры механизма автоподстановок исполнителей для процессов.



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

Роли

ДобавлениеИзменениеНСИ

Имеются права на редактирование шаблонов процессов.

Изменение условий маршрутизации.

ИзменениеВыполнениеЗадач

Имеется права чтения и выполнения доступных задач.

КонтрольЗадачИБизнесПроцессов

Полные права на процессы и задачи.

РаботаСЗадачамиИБизнесПроцессами

Имеются права для работы с процессами задачами.

Чтение задач, выполнение задач.

Чтение, изменение, старт процессов.

РаботаСЗадачамиСотрудниковПодразделения

Имеются права на работу с процессами задачами подчиненных сотрудников.

Подчиненность определяется по структуре предприятия.

Критерии отбора

БизнесПроцессыПоШаблону

Используется для отображения процессов по шаблону.

ФормаСписка открывается по ссылке «Процессы по шаблону» из карточки шаблона.

Подписки на события

БизнесПроцессПриЗаписи

Подписка на событие ПриЗаписи всех процессов.

БизнесПроцессПриКопировании

Подписка на событие ПриКопировании всех процессов.

БизнесСобытияПередЗаписьюБизнесПроцесса

БизнесСобытияПриЗаписиБизнесПроцесса

Подписки на события ПередЗаписью/ПриЗаписи для всех процессов, кроме РешениеВопросовВыполненияЗадач.



Используется для регистрации событий процесса для механизма бизнес-событий.

ЗадачаКомплексногоПроцессаПриВыполнении

Подписка на событие ПриВыполнении объекта ЗадачаИсполнителя.



Используется для запуска следующих действий комплексного процесса.

ЗадачаПриЗаписи

Подписка на событие ПриЗаписи задач.

ЗаписатьВСписокБизнесПроцессов

Подписка на событие ПриЗаписи всех процессов.



Используется для записи процессов в общий список (регистр сведений ДанныеБизнесПроцессов).

ИзменениеПредметаПередЗаписьюБизнесПроцесса

Подписка на событие ПередЗаписью всех процессов.



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

ПередЗаписьюБизнесПроцесса

Подписка на событие ПередЗаписью всех процессов.

ПолучитьПоляПредставленияБизнесПроцесса

ПолучитьПредставлениеБизнесПроцесса

Подписки на события ОбработкаПолученияПолейПредставления, ОбработкаПолученияПредставления



Используются для формирования представлений для всех процессов.

ПредметБизнесПроцессаПередЗаписью

ПредметБизнесПроцессаПриЗаписи

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



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

РегистрацияИзмененийПроцессовИЗадачДляРИБ

Подписки на ПриЗаписи всех процессов и задач.



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

РезультатыВыполненияПередЗаписьюБизнесПроцесса

Подписки на ПередЗаписью всех процессов, у которых есть результат выполнения Например у процесса Согласования результат – Согласовано, Согласовано с замечаниями, Не согласовано.



Используется для записи результата в регистр сведений РезультатыВыполненияПроцессовИЗадач.

Регламентные задания

ВыполнениеЗадач

Используется для фонового выполнения задачи.

ВыполнениеЗадачПоПочте

Используется для выполнения задачи по почте.

КонтрольСрокаЗадач

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

ПовторениеБизнесПроцессов

Используется для повторения процессов.

СтартОтложенныхПроцессов

Стартует процессы с настройкой отложенного старта.

СтартПроцессов

Используется для фонового запуска процессов.

ФоноваяМаршрутизацияКомплексныхПроцессов

Используется для фоновой маршрутизации (продвижения) комплексных процессов.

Функциональные опции

ВестиУчетПереносовСроковЗадач

Включает использование функциональности переносов сроков.

ИспользоватьБизнесПроцессыИЗадачи

Включает использование процессов и задач в программе.

ИспользоватьВопросыВыполненияЗадач

Включает использование функциональности решения вопросов выполнения задач.

ИспользоватьГрафикиРаботы

Включает использование графиков работ при расчете сроков.

ИспользоватьДатуИВремяВСрокахЗадач

Включает использование времени в сроках задач.

ИспользоватьПеренаправлениеЗадач

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

ИспользоватьПовторениеБизнесПроцессов

Включает использование функциональности повторения процессов.

ИспользоватьПриглашениеНаМероприятие

Включает использование процессов Приглашения.

ИспользоватьФоновуюМаршрутизациюКомплексныхПроцессов

Включает фоновую маршрутизацию комплексных процессов.

ИспользоватьФоновыйСтартПроцессов

Включает фоновую маршрутизацию комплексных процессов.

Общие формы

ВыборБизнесПроцесса

Общая форма выбора для всех процессов.

Определение формы выбора происходит в процедуре ОбработкаПолученияФормы модуля менеджера процесса.

ВыборИсполнителяЗадачи

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



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

ВыборПредметаБизнесПроцессаБыстрый

ВыборПредметаБизнесПроцессаРасширенный

ВыборПредметаБизнесПроцессаФайла

ВыборПредметаБизнесПроцессаФайлаСоСканера

Формы выбора предмета/файла для добавления в процесс или задачу.



ВыборПредметаБизнесПроцессаБыстрый – используется, если тип предмета определн.



ВыборПредметаБизнесПроцессаРасширенный – если тип предмета не определен.



ВыборПредметаБизнесПроцессаФайла, ВыборПредметаБизнесПроцессаФайлаСоСканера – используются для добавления файлов с диска.

ВыборПриИнтерактивномАвтоЗапускеБизнесПроцессов

ОповещениеПриИнтерактивномАвтоЗапускеБизнесПроцессов

Формы выбора рекомендованного процесса(ов) виду документа при интерактивном старта.



ОповещениеПриИнтерактивномАвтоЗапускеБизнесПроцессов – для выбора одного процесса.



ВыборПриИнтерактивномАвтоЗапускеБизнесПроцессов – для выбора из нескольких процессов.


ВыборРолиИсполнителя

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

ВыборТочкиМаршрута

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

ВыборШаблонаБизнесПроцесса

Общая форма выбора для всех шаблонов процессов.

Определение формы выбора происходит в процедуре ОбработкаПолученияФормы модуля менеджера процесса.

ИзменениеРолиПредмета

Форма изменения роли предметов. Используется при настройке предметов в шаблонах процессов.

МоиПроцессы

Рабочее место Мои процессы.

НастройкаКоличестваДнейИЧасов

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

НастройкаТрудозатратУчастниковПроцесса

Используется для настройки трудозатрат в процессах и их шаблонах.

ПрерываниеПроцесса

Диалог ввода причины при прерывании процесса.

ПричинаПрерыванияПроцесса

Форма – расшифровка причины прерывания процесса. Открывается по ссылке с причиной прерывания из карточек процессов.

ПроцессыИЗадачи

Форма иерархии процессов и задач по предмету.

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

СозданиеБизнесПроцесса

Помощник создания процессов.

Открытие при создании процессов по общей команде (Главное – Создать - Процессы) и при создании процессов на основании других объектов (меню Отправить и Подзадачи).

СписокПроцессов

Общий список процессов.

ШаблоныБизнесПроцессов

Общий список всех шаблонов процессов.

Общие команды

КартаМаршрутаБизнесПроцесса

Открывает формы Обработка.КартаМаршрутаБизнесПроцесса.Форма

МоиПроцессы

Открывает форму ОбщаяФорма.МоиПроцессы

ОткрытьСписокПроцессов

Открывает форму ОбщаяФорма.СписокПроцессов

ПечатьКарточкиКомплексногоПроцесса

Формирует печатную форму карточки комплексного процесса или его шаблона.

ПечатьСхемыКомплексногоПроцесса

Формирует печатную форму схемы комплексного процесса.

ПроцессыИЗадачи

Открывает форму ОбщаяФорма.ПроцессыИЗадачи

СоздатьБизнесПроцесс

Общая команда создания процесса на основании объекта.

В интерфейсе представлена как «Еще варианты…»/«Еще».

Открывает форму ОбщаяФорма.СозданиеБизнесПроцесса.

СоздатьБизнесПроцессГлобальная

Общая команда создания процессов из главного меню.

Открывает форму ОбщаяФорма.СозданиеБизнесПроцесса.

ШаблоныБизнесПроцессов

Открывает форму ОбщаяФорма.ШаблоныБизнесПроцессов

Общие макеты

КарточкаКомплексногоПроцесса

Макет печатной формы карточки комплексного процесса/шаблона.

СхемаКомплексногоПроцесса

Макет печатной формы схемы комплексного процесса.

Константы

ВестиУчетПереносовСроковЗадач

См. функциональную опцию.

ИспользоватьБизнесПроцессыИЗадачи

См. функциональную опцию.

ИспользоватьВопросыВыполненияЗадач

См. функциональную опцию.

ИспользоватьДатуИВремяВСрокахЗадач

См. функциональную опцию.

ИспользоватьПеренаправлениеЗадач

См. функциональную опцию.

ИспользоватьПовторениеБизнесПроцессов

См. функциональную опцию.

ИспользоватьПриглашениеНаМероприятие

См. функциональную опцию.

ИспользоватьФоновоеВыполнениеЗадач

Включает фоновое выполнение задач.

ИспользоватьФоновуюМаршрутизациюКомплексныхПроцессов

См. функциональную опцию.

ИспользоватьФоновыйСтартПроцессов

См. функциональную опцию.

МаксимальныйРазмерВложенийВУведомленииНовойЗадачи

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

ФактическийИсполнительЗадач

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



Содержит значения одноименного перечисления.

Справочники

РолиИсполнителей

Список ролей исполнителей. Используется при адресации задач.

УсловияМаршрутизации

Содержит условия маршрутизации.

Подробнее об условиях см. выше.

ШаблоныИсполнения

ШаблоныКомплексныхБизнесПроцессов

ШаблоныОзнакомления

ШаблоныПоручения

ШаблоныПриглашения

ШаблоныРассмотрения

ШаблоныРегистрации

ШаблоныСогласования

ШаблоныСоставныхБизнесПроцессов

ШаблоныУтверждения

Шаблоны соответствующих процессов.

Подробнее о шаблонах выше.

Перечисления

ВариантыВажностиЗадачи

Значения важности задач. Указывается в реквизите Важность в процессах, шаблонах и задачах.

ВариантыМаршрутизацииЗадач

Варианты маршрутизации задач.

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

ВариантыРассмотрения

Результат выполнения процесса Рассмотрения.

ВидыВопросовВыполненияЗадач

Виды вопросов выполнения задач.

Используется для разделения элементов бизнес-процесса РешениеВопросовВыполненияЗадач на 2 вида:

Запросы на перенос срока

Вопросы по задаче

ВидыИнтерактивныхДействий

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

ВидыСобытийЗадач

Регистрируемые виды событий задач.

ПорядокВыполненияЗадач

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

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

Используется в процессах Согласование и Исполнение.

РезультатВыполненияЗадачиПоПочте

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

Результаты записываются в регистр сведений ПротоколВыполненияЗадачПоПочте.

РезультатыПриглашения

Результат выполнения процесса Приглашения.

РезультатыРегистрации

Результат выполнения процесса Регистрация.

РезультатыСогласования

Результат выполнения процесса Согласования.

РезультатыУтверждения

Результат выполнения процесса Утверждение.

РолиПредметов

Роли предметов в процессах.

Подробнее о предметах и ролях выше.

СостоянияБизнесПроцессов

Значения состояний процесса.

Используется для определения, остановленные и прерванные процессы.

СостоянияЗадачДляВыполнения

Значения состояний задач находящихся в очереди для фонового выполнения.

СостоянияПроцессовДляЗапуска

Значения состояний процессов находящихся в очереди для фонового или отложенного старта.

ФактическийИсполнительЗадач

Варианты настройки определения фактического исполнителя задачи.

Отчеты

ОтчетПоБизнесПроцессам

ОтчетПоЗадачам

ОтчетПоИсполнениям

ОтчетПоОтложеннымПроцессам

ОтчетПоПоручениям

ОтчетПоСогласованиям

ОтчетПоУтверждениям

ПереносыСроковИсполненияЗадач

ПланФактныйАнализСогласования

СправкаОбИсполнительскойДисциплине

СтатистикаРаботНадДокументами

ШаблоныБизнесПроцессов

Отчеты текущего блока.

Обработки

КартаМаршрутаБизнесПроцесса

Содержит форму, в которой отображается карта маршрута процесса.

Открывается одноименной общей командой.

НастройкаПрограммы

Интерфейс глобальных настроек процессы.

Для поддержки текущего блоки используется форма обработки ПроцессыИЗадачи.

Планы видов характеристик

ОбъектыАдресацииЗадач

Содержит предопределенные объекты адресации задач.

Используется в механизме адресации.

Регистры сведений

ДанныеБизнесПроцессов

Общий список процессов с их реквизитами.

ДочерниеБизнесПроцессы

Кэш иерархии процессов.

Содержит связи родительских и дочерних процессов.

ЗадачиДляВыполнения

Очередь задач для фонового выполнения.

ИсполнителиЗадач

Содержит соответствие ролей и исполнителей.

Учитываются объекты адресации.

ИспользованиеШаблоновПроцессовВВидахДокументов

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

ИсторияВыполненияЗадач

Содержит историю выполнения задач по процессу в виде текста.

ИсторияСобытийЗадач

История произошедший интерактивных событий над задачей.

Варианты событий определены перечислением ВидыСобытийЗадач.

НастройкаПовторенияБизнесПроцессов

Список настроек повторений.

НастройкаШаблоновБизнесПроцессов

Список назначений шаблонов процессов видам документов.

Также в этом списке содержатся настройки интерактивного старта процессов.

ОчередьМаршрутизацииКомплексныхПроцессов

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

ПравилаАвтоматическогоЗапускаБизнесПроцессов

Настройки автоматического старта процессов по событиям.

Про автоматический старт процессов см. соответствующий раздел.

ПротоколВыполненияЗадачПоПочте

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

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

ПроцессыДляЗапуска

Очередь процессов для фонового запуска или отложенного старта процессов.

СведенияОбИсполнителяхЗадач

Содержит сведенья о всех исполнениях задач (текущих и прошлых).

УчастникиПроцессов

Список участников процессов. Содержит сведенья о всех участниках процессов (текущих и прошлых).

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

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

Исполнение

КомплексныйПроцесс

ОбработкаВнутреннегоДокумента

ОбработкаВходящегоДокумента

ОбработкаИсходящегоДокумента

Ознакомление

Поручение

Приглашение

Рассмотрение

Регистрация

РешениеВопросовВыполненияЗадач

Согласование

Утверждение

Процессы текущего блока.



В каждом процессе содержится форма карточки процесса, при наличии задач – формы задач.



Формы задач начинаются со слова ФормаЗадачи.



Определение формы задачи происходит в функции ФормаВыполненияЗадачи модуля менеджера каждого процесса.



Вызов этих функций осуществляется в обработчике получения формы объекта ЗадачаИсполнителя.

Задачи

ЗадачаИсполнителя

Задачи текущего блока.