53 lines
5.1 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.

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