1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-24 08:02:20 +02:00
1c-homeworks/diploma-c-howto-collaboration.md
2020-09-16 17:51:17 +03:00

5.1 KiB

Взаимодействие

Все добавляемые объекты включаем в новую подсистему Взаимодействие, выведенную в командный интерфейс.

  1. Добавить определяемый тип ПредметПроцесса, включив в него все документы и справочники.

  2. Добавить справочник Роли

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