Группа заданий
Назначение |
Предназначена для создания детализированных распоряжений по документу, разбитых на отдельные подзадачи. Каждая подзадача предназначена для определённого исполнителя или группы исполнителей, снабжена описанием работ, сроками их исполнения и другими параметрами, а также предусматривает необходимый контроль за ходом его реализации. |
Класс карточки |
Для работы с карточкой предназначен сервис 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 | Смена состояния карточки. |