1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/homework-10-3.md

44 lines
3.7 KiB
Markdown
Raw Normal View History

2020-09-16 16:51:35 +02:00
# Ролевая адресация
## Задание 1
### Описание задачи
Обеспечить возможность адресации поручений по ролям.
### Требование к результату
Выгрузка информационной базы (.dt) из предыдущего задания, с процессом **Поручение**, который можно адресовать как конкретному исполнителю, так и роли из нового справочника, и со списком "Задачи мне", размещенном в рабочей области начальной страницы и содержащим команду "Принять к исполнению".
2020-09-16 16:51:35 +02:00
### Процесс выполнения
Используйте конфигурацию из предыдущего задания.
1. Добавьте справочник **Роли**
* Без кода, с наименованием разумной длины
2. Добавьте регистр сведений **ИсполнителиРолей**:
* С измерениями **Роль** (СправочникСсылка.Роли) и **Исполнитель** (СправочникСсылка.Сотрудники)
* Запретив незаполненные значения измерений
3. В задачу **Задача**:
* Добавьте адресацию по регистру **ИсполнителиРолей**
* Добавьте реквизит адресации **Роль** (СправочникСсылка.Роли)
* Основным реквизитом адресации останется **Исполнитель**
* Свяжите реквизиты адресации **Роль** и **Исполнитель** с одноименнными измерениями регистра **ИсполнителиРолей**
* В поле "Текущий исполнитель" выберите параметр сеанса **ТекущийСотрудник**
4. В процессе **Поручение**
* Расширьте тип реквизита **Исполнитель** типом СправочникСсылка.Роли.
* Доработайте обработчик события **ПриСозданииЗадач** так, чтобы в зависимости от типа исполнителя в задаче заполнялся **Исполнитель** или **Роль**.
5. Добавьте форму списка задач **ЗадачиМне**
* Не назначая ее основной формой (основная форма будет содержать все задачи)
* Добавьте в нее динамический список по виртуальной таблице **Задача.Задача.ЗадачиПоИсполнителю** с разумным минимумом реквизитов
* Добавьте команду **ПринятьКИсполнению**, при вызове которой на севере:
* Получите объект текущей задачи
* Установите реквизит **Исполнитель** равным значению параметра сеанса **ТекущийСотрудник**
* Запишите объект текущей задачи
* Добавьте этот список в рабочую область начальной страницы
* Удостоверьтесь, что пользователи видят на рабочем столе свои задачи, адресованные лично или по роли.