Шаблоны служебных распоряжений.
В системе, распоряжения используются для организации несложных бизнес-процессов, и коллективного решения разного рода административных задач. Например, это такие процессы как утверждения заказов, договоров, всевозможные ознакомления с изменениями в работе компании и другие.
В общем случае процесс выглядит так:
- Старт.
- Согласно списка этапов процесса, система последовательно формирует задачи зарегистрированным участникам.
- Когда исполнитель завершает свою задачу, система определяет, кто ещё не выполнил задачи на текущем этапе, и если все задачи выполнены, процесс переходит на следующий зарегистрированный этап, с формированием задач и так далее, пока все этапы не будут завершены.
- На каждом этапе, если у и исполнителя возникли вопросы по задаче, у него есть возможность вернуть задачу инициатору. Инициатор, в общем случае, может задачу отправить обратно исполнителю, завершить, или перенаправить задачу исполнителю.
- Финиш.
Все задачи распоряжений отображаются в календарях участников процесса.
Типы распоряжений¶
Распоряжения можно разделить на два типа:
Произвольные распоряжения - не привязаны к конкретным объектам системы и используются для организации общих бизнес-процессов.
Связанные распоряжения - привязаны к определенным объектам системы (документам, справочникам). Для таких распоряжений можно настроить:
- События, автоматически запускающие распоряжение (например, при создании или проведении документа)
- Действия над объектом, которые будут выполняться на разных этапах продвижения распоряжения
- Автоматическую обработку объекта при завершении или отмене распоряжения
Связанные распоряжения позволяют автоматизировать типовые процессы утверждений, ознакомлений и других административных задач, связанных с документами и справочниками.
Для того, чтобы создать связанное распоряжение, достаточно на вабранном объекте, ввести на основании Распоряжение
(через стандартный механизм ввода на основании).
Автостарт¶
Если в распоряжении задано поле Автостарт
, то распоряжение будет автоматически запущено при выполнении условия, заданного в автостарте. При этом, становится доступной таблица Источники
. В этой таблице можно выбрать объекты, при выполнении условий на которых, распоряжение будет автоматически запущено. Например, если распоряжение связано с документом Заказ поставщику, и Автостарт задан как При проведении документа
, то при проведении заказа, распоряжение будет автоматически запущено.
Условие¶
Условие используется для определения необходимости автоматического запуска распоряжения. Условие задается на языке 1C:Предприятие 8, и должно возвращать булево значение. Например: Source.Amount > 1000
. При этом условии, распоряжение будет запущено, если сумма документа (например, заказа) больше 1000.
Источники¶
В таблице Источники
(таблица становится доступной при задании поля Автостарт
в значение, отличное от Отсутствует
) можно выбрать объекты, запись или проведение которых, будет приводить к запуску распоряжения.
Если автостарт задан как При проведении документа
, то в таблице Источники
можно выбирать только документы. Если автостарт задан как При записи
, то в таблице можно выбирать как документы, так и справочники.
Два и более распоряжения на один источник
Для одного источника может быть задана только одна автоматически запускаемая команда, с заданным условием (или его отсутствием). Например, нельзя создать два шаблона распоряжения, с одним и тем же условием, для одного и того же документа, даже если автостарт первого шаблона задан как При проведении документа
, а второго - как При записи
. Проведение документа является частным случаем записи, и автостарт сразу двух распоряжений недопустим, чтобы не нарушать логику работы с источником.
Если для источника задано два и более распоряжения (условия у которых отличаются), и при этом оба условия в момент запуска распоряжения окажутся истинными, то будет запущено только одно из них. Порядок выбора при этом не определен.
Однако, стоит отметить, что для одного объекта, допустим последовательный запуск нескольких распоряжений, при условии, что только одно из них с автостартом, а остальные - стартуют вручную (через стандартный механизм запуска распоряжения путём ввода на основании). Последовальный, это когда каждый последующий запуск распоряжения происходит только после того, как предыдущее распоряжение было завершено.
Исполнители¶
Участники и этапы распоряжения задаются в табличной части исполнителей распоряжения, где:
Исполнитель
. В этом поле задаётся имя конкретного пользователя-исполнителя, либо роль. В том случае, когда задана роль, исполнителями становятся все пользователи, принадлежащие этой роли. Назначение ролей пользователей, осуществляется в журнале Роли (менюНастройки > Роли
). Задавать роль в качестве исполнителя удобно в случаях, когда состав исполнителей меняется во времени или составляет более одного участника.Заметки
. Необязательная вспомогательная информация для исполнителя, касательно текущего этапа.-
Обязательно
. Флаг обязательного участия выбранного исполнителя. Используется в случае, когда этап выполняют несколько участников. Если флаг выключен, первый, кто выполнит этап, будет считаться исполнителем этапа. Если флаг включён, то все исполнители данного этапа будут обязаны выполнить каждый свою задачу. -
Этап
. Номер этапа, порядковый номер, фактически задаёт последовательность хода процесса. Для одного этапа может быть задано сколько угодно исполнителей.
Этапы¶
В этой таблице указываются дополнительные сведения о каждом этапе распоряжения:
Этап
. Номер этапа, соответствует номеру этапа в таблице исполнителей.Можно редактировать
. Флаг, определяющий, может ли исполнитель редактировать объект.Только исполнитель
. Если исполнитель возвращает задачу инициатору распоряжения, инициатор может только отправить её повторно на исполнение этому, или другому исполнителю, но не может её завершить вместо исполнителя. Если флаг выключен, тогда инициатор распоряжения может также и завершать задачи, которые ему вернули участники распоряжения. Подробнее, в примерах ниже.
Пример распоряжения, когда инициатор - главный
Пример распоряжения: Ознакомиться с результатами инвентаризации. В данном процессе, инициатор (например, главный бухгалтер), как правило, является главным пользователем, по отношению к участникам процесса. Если какой-либо из участников возвращает свою задачу обратно инициатору (например, он уже был ознакомлен с результатами ранее), то инициатор вправе эту задачу закрыть.
Пример распоряжения, когда инициатор - подчиненный
Пример распоряжения: Утверждение заказа поставщику. В данном процессе, инициатор, это пользователь, составивший заявку, требующую утверждения руководством. Если какой-либо из участников возвращает свою задачу обратно инициатору (например, он не доволен объёмами заказа), то инициатор такую задачу может только отправить обратно. Закрыть такую задачу у него права быть не должно.
Действие перед этапом
. Действие, которое будет выполнено перед созданием задач для текущего этапа.Действие после этапа
. Действие, которое будет выполнено после (успешного) выполнения задач текущего этапа. Под успешным выполнением понимается действие, которое приведёт к переходу на следующий этап, или завершению распоряжения, т.е. если задача отправлена обратно инициатору на доработку, действие выполнено не будет.Статус
. Статус этапа, который будет установлен при создании задач для текущего этапа. Это не обязательное поле, и его значение может быть использовано для отбора в списках объектов.
Внимание
Выполняемые действия не учитывают тип объекта распоряжения. Например, если в распоряжении указано действие Проведение документа
, то оно будет выполнено, только если в качестве источника, указан документ. Таким образом, для справочников, действия по проведению или отмене проведения, будут игнорироваться.
При завершении¶
Действие, которое будет выполнено при завершении распоряжения. Например, по окончании распоряжения, можно провести документ. Важно понимать, что действие будет выполнено только в том случае, если распоряжение будет завершено успешно, т.е. все задачи будут выполнены.
При отмене¶
Действие, которое будет выполнено при отмене распоряжения. Например, если распоряжение было отменено, то можно отменить и проведение документа, или пометить справочник на удаление.
Контроль¶
У инициатора распоряжения есть возможность проведения финального контроля исполнения распоряжения. Это регулируется флагом Контроль
. Если флаг включён, тогда после того, как все задачи распоряжения будут выполнены, система сформирует ещё одну задачу для инициатора, чтобы уведомить его о завершении распоряжения.
Программный интерфейс¶
Следующая информация предназначена для разработчиков.
В программе существует возможность подключать объекты к событиям, происходящим в процессе работы распоряжений.
Пример обработчика, который можно расположить в модуле менеджера документа:
#region Command
Function CommandEvents () export
events = BusinessProcesses.Command.Events ();
events.OnComplete = true;
return events;
EndFunction
Procedure CommandOnComplete ( Object, RoutePoint, Cancel ) export
Posting.Post ( Object.Source,
new Structure ( Enum.AdditionalPropertiesCommandCompleted (), true ) );
EndProcedure
#endregion
См. также: