1
0
mirror of https://github.com/netology-code/1c-homeworks.git synced 2024-11-16 07:10:14 +02:00
1c-homeworks/diploma-c-howto-collaboration.md
2023-01-13 14:35:38 +03:00

5.1 KiB

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

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

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

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

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