---
title: Пример создания простого бизнес-процесса
slug: примеры-сниппеты-общее-бизнес-процессы-и-задачи/пример-создания-простого-бизнес-процесса
---

* Добавьте подсистему Взаимодействие, включив ее в командный интерфейс.
 
* Добавьте определяемый тип ПредметПроцесса, включив в него все документы и справочники.
 
* Добавьте в подсистему Взаимодействие задачу Задача, задав для нее:
      Достаточно длинное наименование (например, 150 знаков).
      Реквизит адресации Исполнитель (СправочникСсылка.Сотрудники).
      Реквизит Предмет (ОпределяемыйТип.ПредметПроцесса)
 
* Добавьте в подсистему Взаимодействие процесс Поручение, задав для него:
      Обязательный к заполнению реквизит Описание (строка, которая станет наименованием задачи).
      Обязательный к заполнению реквизит Исполнитель (сотрудник, который станет исполнителем задачи).

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

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