Бизнес-процессы
Когда я столкнулся с бизнес-процессами, они показались мне таким же темным лесом, как в своё время регистры расчета. Я пустыми глазами смотрел на демо-пример от 1С, читал статьи в Интернете и ничего не понимал.
Однако в бизнес-процессах нет ничего сложного. Это своё кристально чистое видение я попытаюсь передать и вам.
Уясните сразу, что бизнес-процессы – это всего лишь два новых объекта в 1С 80: бизнес-процессы и задачи. Причем задачи можно использовать самостоятельно и без знания бизнес-процессов. Их можно трактовать, как список задач для текущего пользователя.
Бизнес-процесс рисуется в конфигураторе как блок-схема. В этой блок-схеме есть блоки начала и конца алгоритма, блоки выполнения (прямоугольные) и блоки условий. Чтобы бизнес-процесс мог стартовать, у него должна быть стартовая точка (одна или несколько).
Бизнес-процесс может находится в одной или сразу нескольких точках (при параллельном выполнении).
Пользователь создает новый бизнес-процесс и запускает его. Как только бизнес-процесс доходит до блока выполнения, он создает новую задачу и адресует его тому исполнителю, который прописан в этом блоке выполнения. Как только исполнитель выполняет задачу, бизнес-процесс идет дальше по блок-схеме. Условия вычисляются программно на языке 1С (анализируются реквизиты бизнес-процесса). Вот и вся нехитрая механика.
Вы видите, что задачи порождаются при выполнении бизнес-процессов. Однако они могут использоваться и без них, например создаваться программно или вручную. Они напоминают задачи MS Outlook.
Задача имеет весьма хитрый механизм, предназначенный только для того, чтобы определить какие задачи назначены текущему пользователю. Для этого используется переменная сеанса, в которой хранится текущий пользователь, регистр сведений, который указывает, какие роли может выполнять текущий пользователь и т.п.
Можно назначить задачу целому подразделению и она будет показана у всех пользователей подразделения.
Как соотносятся задачи и бизнес-процессы? Одному виду бизнес процесса соответсвует один вид задачи, один вид задач может использоваться в нескольких бизнес процессах. Это как бы странно, потому что на различных блоках исполнения мы можем ожидать разные задачи. Например задача согласования может отличаться от задачи вбивки первичных документов. Но в демо примере все сделано на одном виде задач, а в данном случае, если мы все же хотим использовать разные виды задач, можно использовать вложенные бизнес процессы.
Как видите, все очень просто. Если кто-то чего-то не понял, обращайтесь, допишу статью более понятно.
Несколько советов «чайникам».
• Посмотрите в режиме «Конфигуратор» демо-базу с ИТС - познавательно. В режиме «Предприятие» можете не смотреть, особо ничего не поймете.
• У бизнес-объекта нужно обязательно указать вид задачи – без него конфигурация не сохранится. Сначала может использовать один вид задачи для всех бизнес-процессов.
• Чтобы бизнес объект мог стартовать, у него должна быть на карте маршрута хотя бы одна точка входа.
• Каждый блок бизнес-процесса можно назначить исполнителя. Он выбирается из реквизитов адресации задачи, вид которой подвязан к бизнес процессу. Можно выбирать как исполнителя, пользователя, так и любой другой реквизит адресации, например назначить задачу подразделению.
• У задачи нужно не только заполнить реквизиты адресации, но и выбрать основной реквизит адресации, например «Пользователь», выбрать регистр сведений для адресации, переменную сеанса, которая будет соотноситься с основным реквизитом адресации и иметь с ним один тип (!) . Также не забудьте указать соотношения между реквизитами адресации задачи и измерениями регистра адресации, чтобы связь между задачей и регистром сведений заработала.
• Для контроля списка можете использовать консоль отчетов по таблице всех задач «Задачи» и виртуальной таблице задач текущего (или указанного) пользователя «ЗадачаЗадачиПоИсполнителю».
• Для отладки вы можете отключать признаки того, что бизнес-процесс стартовал или задача выполнена.
• В демо-конфигурации для вывода списка задач используется отдельная форма списка "По исполнителю", поэтому в ней показываются задачи только текущего исполнителя. Я сначала никак не мог понять, почему форма списка задач показывает все задачи, потом понял. Чтобы форма показывала задачи по исполнителю, у нее в свойствах надо поставить режим вывода задач "По исполнителю" и программно присвоить реквизиту формы Исполнитель значение текущего пользователя (см. демо-конфу).
• Режим адресации по регистру сведений работает так: если задаче назначена роль исполнителя, то и пользователю в регистре сведений должна быть назначена эта роль, а если задаче не назначена роль исполнителя, то тем не менее пользователь должен быть прописан в регистре с пустой ролью (т.е. задача все равно не назначается любому пользователю). Задача попадает в список пользователя, только если о нем есть запись в регистре адресации.
С чего начать
На
Читать далее...