53 lines
6.3 KiB
Markdown
53 lines
6.3 KiB
Markdown
|
||
* Добавьте подсистему Взаимодействие, включив ее в командный интерфейс.
|
||
|
||
* Добавьте определяемый тип ПредметПроцесса, включив в него все документы и справочники.
|
||
|
||
* Добавьте в подсистему Взаимодействие задачу Задача, задав для нее:
|
||
Достаточно длинное наименование (например, 150 знаков).
|
||
Реквизит адресации Исполнитель (СправочникСсылка.Сотрудники).
|
||
Реквизит Предмет (ОпределяемыйТип.ПредметПроцесса)
|
||
|
||
* Добавьте в подсистему Взаимодействие процесс Поручение, задав для него:
|
||
Обязательный к заполнению реквизит Описание (строка, которая станет наименованием задачи).
|
||
Обязательный к заполнению реквизит Исполнитель (сотрудник, который станет исполнителем задачи).
|
||
|
||
* Простую схему процесса из одного действия с наименованием задачи по умолчанию "Исполнить поручение".
|
||
|
||
* Для единственного действия переопределите обработчик события ПриСозданииЗадач, заполняя в нем наименования и исполнителей формируемых задач по данным самого процесса:
|
||
|
||
```bsl
|
||
Для Каждого ФормируемаяЗадача Из ФормируемыеЗадачи Цикл
|
||
ФормируемаяЗадача.Наименование = Описание;
|
||
ФормируемаяЗадача.Исполнитель = Исполнитель;
|
||
КонецЦикла;
|
||
```
|
||
* Удостоверьтесь, что создаваемые задачи содержат исполнителя и наименование из процессов-поручений.
|
||
* Добавьте в задачу Задача реквизит Результат (строка неограниченной длины).
|
||
* В модуле задачи переопределите обработчик ПередВыполнением, в котором:
|
||
* При отсутствии результата - установите Отказ в Истина и выведите пользователю разумное сообщение
|
||
При наличии результата - ничего не делайте
|
||
* Взведите флаг "Заполнять из данных заполнения" стандартного реквизита ВедущаяЗадача процесса Поручение.
|
||
* К процессу Поручение добавьте команду ПодчиненноеПоручение, параметризованную типом ЗадачаСсылка.Задача. В модуле команды откройте форму нового поручения, передав в составе параметров открываемой формы структуру ЗначенияЗаполнения со свойством ВедущаяЗадача, заполненным параметром команды (задачей).
|
||
* Добавьте кнопку для этой команды на форму задачи и в список задач. Удостоверьтесь, что при нажатии создается подчиненный процесс Поручение.
|
||
* Добавьте справочник Роли Без кода, с наименованием разумной длины
|
||
* Добавьте регистр сведений ИсполнителиРолей:
|
||
С измерениями Роль (СправочникСсылка.Роли) и Исполнитель (СправочникСсылка.Сотрудники)
|
||
Запретив незаполненные значения измерений
|
||
* В задачу Задача:
|
||
Добавьте адресацию по регистру ИсполнителиРолей
|
||
Добавьте реквизит адресации Роль (СправочникСсылка.Роли)
|
||
Основным реквизитом адресации останется Исполнитель
|
||
* Свяжите реквизиты адресации Роль и Исполнитель с одноименнными измерениями регистра ИсполнителиРолей
|
||
* В поле "Текущий исполнитель" выберите параметр сеанса ТекущийСотрудник
|
||
* В процессе Поручение
|
||
Расширьте тип реквизита Исполнитель типом СправочникСсылка.Роли.
|
||
Доработайте обработчик события ПриСозданииЗадач так, чтобы в зависимости от типа исполнителя в задаче заполнялся Исполнитель или Роль.
|
||
* Добавьте форму списка задач ЗадачиМне Не назначая ее основной формой (основная форма будет содержать все задачи)
|
||
* Добавьте в нее динамический список по виртуальной таблице Задача.Задача.ЗадачиПоИсполнителю с разумным минимумом реквизитов
|
||
* Добавьте команду ПринятьКИсполнению, при вызове которой на севере:
|
||
Получите объект текущей задачи
|
||
Установите реквизит Исполнитель равным значению параметра сеанса ТекущийСотрудник
|
||
* Запишите объект текущей задачи
|
||
* Добавьте этот список в рабочую область начальной страницы
|
||
* Удостоверьтесь, что пользователи видят на рабочем столе свои задачи, адресованные лично или по роли. |