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
2023-03-25 10:43:14 +03:00

54 lines
5.0 KiB
Markdown

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