2020-09-13 13:52:01 +02:00
### Взаимодействие
Все добавляемые объекты включаем в новую подсистему **Взаимодействие** , выведенную в командный интерфейс.
1. Добавить определяемый тип **ПредметПроцесса** , включив в него все документы и справочники.
2023-01-13 13:35:38 +02:00
2. Добавить справочник **Роли** :
* без кода, с наименованием разумной длины.
2020-09-13 13:52:01 +02:00
3. Добавить регистр сведений **ИсполнителиРолей** :
2023-01-13 13:35:38 +02:00
* с измерениями **Роль** (СправочникСсылка.Роли) и **Исполнитель** (СправочникСсылка.Сотрудники);
* запретить незаполненные значения измерений.
2020-09-13 13:52:01 +02:00
2023-01-13 13:35:38 +02:00
4. Добавить задачу **Задача** :
* с адресацией по регистру **ИсполнителиРолей** ;
* с реквизитами адресации **Исполнитель** (СправочникСсылка.Сотрудники) и **Роль** (СправочникСсылка.Роли), связав их с одноименнными измерениями регистра **ИсполнителиРолей** ;
* с основным реквизитом адресации **Исполнитель** ;
* текущий исполнитель определяется по значению параметра сеанса **ТекущийСотрудник** ;
* с наименованием разумной длины и строковым реквизитом **ПодробноеОписание** неограниченной длины;
* с разумной формой задачи, включающей только прикладные реквизиты в режиме «Только просмотр».
2020-09-13 13:52:01 +02:00
2023-01-13 13:35:38 +02:00
5. Добавить процесс **Поручение** :
* с задачей **Задача** ;
* с реквизитами:
* **НаименованиеЗадачи** (обязательный; строка такой же длины, как наименование задачи);
* **ПодробноеОписание** (строка неограниченной длины);
* **Исполнитель** (обязательный; составной тип: СправочникСсылка.Сотрудники, СправочникСсылка.Роли);
* **Предмет** (ОпределяемыйТип.ПредметПроцесса);
* со схемой, состоящей из точки старта, точки действия и точки завершения;
* в точке действия переопределить обработчик **ПриСозданииЗадач** , дозаполнив созданные задачи реквизитами процесса:
2020-09-13 16:20:55 +02:00
```bsl
Для Каждого ФормируемаяЗадача Из ФормируемыеЗадачи Цикл
ФормируемаяЗадача.Наименование = НаименованиеЗадачи;
ФормируемаяЗадача.ПодробноеОписание = ПодробноеОписание;
ФормируемаяЗадача.Исполнитель = ?(ТипЗнч(Исполнитель) = Тип("СправочникСсылка.Сотрудники"),
Исполнитель, Неопределено);
ФормируемаяЗадача.Роль = ?(ТипЗнч(Исполнитель) = Тип("СправочникСсылка.Роли"),
Исполнитель, Неопределено);
2020-09-13 16:21:24 +02:00
КонецЦикла;
2020-09-13 16:20:55 +02:00
```
2023-01-13 13:35:38 +02:00
* создать разумную форму процесса, содержащую только прикладные реквизиты, с возможностью заполнить их и стартовать процесс.
2020-09-13 16:20:55 +02:00
2023-01-13 13:35:38 +02:00
6. Добавить форму списка задач **ЗадачиМне** :
* не назначать её основной формой (основная форма будет содержать все задачи);
* добавить команду **ПринятьКИсполнению** , при вызове которой на севере нужно:
* получить объект текущей задачи;
* установить реквизит **Исполнитель** равным значению параметра сеанса **ТекущийСотрудник** ;
* записать объект текущей задачи;
* добавить в нее динамический список по виртуальной таблице **Задача.Задача.ЗадачиПоИсполнителю** с разумным минимумом реквизитов;
* добавить этот список в рабочую область начальной страницы;
* удостовериться, что пользователи видят на рабочем столе свои задачи, адресованные им как непосредственно, так и посредством ролей.