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