Skip to content

Пример создания простого бизнес-процесса

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

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

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

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

  • Простую схему процесса из одного действия с наименованием задачи по умолчанию “Исполнить поручение”.

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

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