Группа заданий

Назначение

Предназначена для создания детализированных распоряжений по документу, разбитых на отдельные подзадачи. Каждая подзадача предназначена для определённого исполнителя или группы исполнителей, снабжена описанием работ, сроками их исполнения и другими параметрами, а также предусматривает необходимый контроль за ходом его реализации.

Класс карточки

DocsVision.BackOffice.ObjectModel.TaskGroup

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

Доступные операции:
  • Создание группы заданий.

  • Добавление в задание дочерней группы заданий.

  • Добавление исполнителей, в том числе с индивидуальными настройками.

  • Отправка группы заданий на исполнение.

  • Отзыв группы заданий.

  • Проверка заданий на наличие ошибок.

Далее перечислены базовые сценарии работы с объектной моделью карточки "Группа заданий", для которых действительно следующее:

  • Контекст объектов может быть получен в соответствии с примером, приведенным в разделе Инициализация контекста объектов.

  • Сервисы получаем стандартным способом:

    IStaffService staffService = objectContext.GetService<IStaffService>(); (1)
    IStateService stateService = objectContext.GetService<IStateService>(); (2)
    ITaskGroupService taskGroupService = objectContext.GetService<ITaskGroupService>(); (3)
    ITaskListService taskListService = objectContext.GetService<ITaskListService>(); (4)
    1 Сервис для работы со "Справочником сотрудников".
    2 Сервис для работы с "Конструктором состояний".
    3 Сервис для работы с "Группой заданий".
    4 Сервис для работы со списком заданий.
  • Воспользуйтесь поиском, чтобы получить информацию по классам и переменным, используемым в примерах.

Создание "Группы заданий"

static void TaskGroupCreate()
{
 KindsCardKind kind = objectContext.GetObject<KindsCardKind>(new Guid("6D76D0A7-5434-40F2-912E-6370D33C3151")); (1)

 TaskGroup taskGroup = taskGroupService.CreateTaskGroup(kind);
 taskGroup.Description = "Новая группа заданий";
 taskGroup.MainInfo.Name = "Данная группы заданий создана из кода";
 taskGroup.MainInfo.Author = staffService.GetCurrentEmployee();
 taskGroup.MainInfo.StartDate = DateTime.Now;
 taskGroup.MainInfo.EndDate = taskGroup.MainInfo.StartDate.Value.AddHours(5D);
 taskGroup.MainInfo.Content = "Необходимо выполнить данные задания.\nСрок 5 часов."; (2)

 taskGroupService.AddSelectedPerformer(taskGroup, staffService.GetCurrentEmployee()); (3)

 objectContext.SaveObject(taskGroup);
}
1 Получение вида для группы заданий.
2 Создание группы заданий.
3 Добавление текущего пользователя в качестве исполнителя.

Добавление "Группы заданий" в документ

static void AddTaskGroupToDocument()
{
 Document document = objectContext.GetObject<Document>(new Guid("00000000-0000-0000-0000-000000000000")); (1)

 TaskGroup taskGroup = objectContext.GetObject<TaskGroup>(new Guid("00000000-0000-0000-0000-000000000001")); (2)

 taskListService.AddTaskGroup(document.MainInfo.Tasks, taskGroup, document); (3)
 objectContext.SaveObject(document);
}
1 Получение документа, в который добавляется группа заданий.
2 Получение добавляемой группы заданий.
3 Добавление группы заданий в документ.

Отправка Группы заданий на исполнение

static void SendToPerformance()
{
 TaskGroup taskGroup = objectContext.GetObject<TaskGroup>(new Guid("00000000-0000-0000-0000-000000000000")); (1)

 Guid kindId = taskGroupService.GetKindSettings(taskGroup.SystemInfo.CardKind).DefaultTaskCardKind;
 KindsCardKind kindTask = objectContext.GetObject<KindsCardKind>(kindId); (2)

 taskGroupService.SendToPerformance(taskGroup, kindTask); (3)

 StatesState statesState = stateService.FindStateByBuiltIn(TaskGroup.PerformanceState, taskGroup); (4)

 stateService.ChangeState(taskGroup, statesState); (5)
}
1 Получение группы заданий, отправляемой на исполнение.
2 Получение вида создаваемых заданий из параметров вида группы заданий.
3 Отправка на исполнение.
4 Получение состояния На исполнение.
5 Смена состояния карточки.