kb-personal/src/content/docs/knowledge-base/Примеры, сниппеты/Бизнес-процессы и задачи/Пример создания простого бизнес-процесса.md
2025-04-16 01:30:08 +05:00

53 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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