ITaskService — интерфейс

Сервис ITaskService предоставляет методы создания и управления заданиями.

Синтаксис

public interface ITaskService

Методы

Имя Описание

AcceptTask(Task)

приёмка указанного задания.

AddChildCopyField(Task)

Добавляет в настройки задания параметры копирования поля из родительского задания в дочернее.

AddChildKindSettings(KindsCardKind, ObjectCollection<TaskPresetChildKindSetting>, Boolean)

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

AddComment(Task, StaffEmployee, String)

Добавляет комментарий в указанное задание.

AddComment(Task, StaffEmployee, String, DateTime)

Добавляет комментарий в указанное задание.

AddDelegatePreset(Task, System.Guid)

Добавляет поисковое слово в список делегатов, выбираемых из задания, при делегировании задания вручную.

AddDelegatePreset(Task, StaffEmployee)

Добавляет сотрудника в список делегатов, выбираемых из задания, при делегировании задания вручную.

AddDelegatePreset(Task, StaffUnit)

Добавляет подразделение в список делегатов, выбираемых из задания, при делегировании задания вручную.

AddDelegatePreset(Task, StaffRole)

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

AddDelegatePreset(Task, StaffGroup)

Добавляет группу сотрудников в список делегатов, выбираемых из задания, при делегировании задания вручную.

AddLinkOnParentCard(Task, TaskSetting, BaseCard)

Добавляет в задание ссылку на родительскую карточку.

AddPerformer(Task, StaffEmployee)

Добавляет сотрудника в список назначенных исполнителей задания.

AddSelectedPerformer(TaskMainInfo, Guid)

Добавляет выбранного исполнителя задания в формате поискового слова.

AddSelectedPerformer(TaskMainInfo, StaffEmployee)

Добавляет указанного сотрудника в список выбранных исполнителей задания.

AddSelectedPerformer(TaskMainInfo, StaffGroup)

Добавляет выбранного исполнителя задания в формате группы сотрудников.

AddSelectedPerformer(TaskMainInfo, StaffRole)

Добавляет выбранного исполнителя задания в формате роли.

AddSelectedPerformer(TaskMainInfo, StaffUnit)

Добавляет выбранного исполнителя задания в формате подразделения.

AddSignature(Task, X509Certificate2, StatesOperation, Guid, IEnumerable<CardFieldSetting>)

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

AddSignature(Task, X509Certificate2, StatesOperation, Guid, IEnumerable<CardFieldSetting>, IEnumerable<Document>)

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

AddSignatureToCardReconcileLog(Task, X509Certificate2)

Подписывает ЭП карточку хода согласования.

CancelDelegate(Task)

Отменяет делегирование задания.

CanCompleteTask(Task, TaskSetting, String)

Проверяет возможность завершения задания.

CanCompleteTaskByCompletionParameter(Task, StatesStateMachineBranch)

Проверяет возможность завершения задания.

ChangeTask(Task)

Добавляет в историю карточки запись об изменении задания.

ChangeTaskController(Task, StaffEmployee, DateTime)

Заменяет контролёра задания.

ChangeTaskCurrentPerformer(Task, StaffEmployee)

Заменяет текущего исполнителя задания.

ChangeTaskExecutionDate(Task, DateTime, DateTime, String)

Устанавливает новые сроки исполнения задания.

CompleteTask(Task, String)

Завершает указанное задание.

CompleteTask(Task, String, StaffEmployee)

Завершает задание от имени указанного сотрудника.

CopyDataFromParentTask(Task, TaskSetting, Task)

Копирует значения и ссылки из родительского задания в дочернее.

CopyResultsToParentTask(Task, Task, TaskCopyResultsOptions)

Переносит результаты выполнения дочернего задания в родительское.

CopyTask(Task)

Создаёт копию задания.

CreateChildTask(Task, KindsCardKind, BaseCard, TaskList)

Создаёт дочернее задание.

CreateSignatureList

Создаёт пустой список подписей.

CreateTask

Создаёт пустое задание.

CreateTask(KindsCardKind)

Создаёт новое задание указанного вида.

CreateTaskFromTemplate(Guid)

Создаёт задание по шаблону.

DeferTask(Task)

Откладывает задание.

Delegate(Task, IEnumerable<StaffEmployee>, StaffEmployee, Boolean, Boolean, String)

Делегирует задание.

Delegate(Task, IEnumerable<StaffEmployee>, StaffEmployee, Boolean, Boolean, String, StaffEmployee)

Делегирует задание.

DoNotTakeToWorkTask(Task)

Отменяет взятие задания в работу.

GetCompletionParameters(Task)

Возвращает параметры завершения задания.

GetKindSettings(KindsCardKind)

Возвращает настройки вида задания.

GetLastDelegate(Task)

Возвращает последнюю запись списка делегирования.

GetLastDelegate(Task, Boolean)

Возвращает последнюю запись списка делегирования.

GetSelectedPerformers(Task)

Возвращает выбранных исполнителей задания.

GetTaskAcceptanceMailNotificationInfo(Task, String)

Возвращает письмо, подготовленное для отправки, с информацией о передаче задания на приёмку.

GetTaskBuiltInState(Task)

Получает для задания встроенное состояние.

GetTaskCompletionMailNotificationInfo(Task, String)

Возвращает письмо, подготовленное для отправки, с информацией о завершении задания.

GetTaskRejectionMailNotificationInfo(Task, String)

Возвращает письмо, подготовленное для отправки, с информацией об отклонении задания.

HasCompletionParameterValue(Task, Guid, String)

Проверяет наличие значения у параметра завершения задания.

InitializeDefaults(Task)

Инициализация параметров нового задания.

IsCurrentUserCurrentPerformer(Task)

Возвращает признак того, что текущий сотрудник входит в список текущих исполнителей задания.

IsCurrentUserDeputyOfCurrentPerformer(Task)

Определяет, является ли текущий сотрудник заместителем одного из текущих исполнителей.

IsTaskDelegated(Task)

Возвращает признак того, что задание делегировано.

IsUserCurrentPerformer(Task, StaffEmployee)

Определяет входит ли указанный сотрудник в список текущих исполнителей.

RecallTask(Task)

Отзывает задание.

RejectTask(Task, StaffEmployee, String)

Отклоняет задание.

RemoveComment(TaskComment)

Удаляет комментарий к заданию.

ResolveDelegatePerformer(Task)

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

ResolveDelegatePerformer(Task, StaffEmployee)

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

SetTaskCompletionResult(Task, TaskCompletionParameter)

Устанавливает результат завершения задания.

SignatureInfo GetPartSignatureInfo(BaseCardSignaturePart signaturePart)

Возвращает информацию о части подписи документа.

StartTask(Task)

Отправляет задание на исполнение.

StopExecutionRelatedTask(Task, Boolean)

Прекращает исполнение подчиненных заданий.

StopExecutionTask(Task)

Прекращает исполнение задания.

TakeTaskToRework(Task)

Отправляет задание на доработку.

TakeToWork(Task)

Взятие задание в работу.

UpdateComment(TaskComment, String)

Обновляет содержимое комментария.

ValidateForBegin(Task, String)

Определяет готовность задания к отправке на исполнение.

ValidateInactivePerformers(Task, String)

Определяет наличие в задании активных исполнителей.

VerifySignature(Task, BaseCardSignature, X509Certificate2, Boolean, IEnumerable<CardFieldSetting>)

Выполняет проверку подлинности ЭП, установленной на полях карточки Задание, а также на Документах, связанных к заданием.

ITaskService.SignatureInfo GetPartSignatureInfo(BaseCardSignaturePart signaturePart)

Метод для получения информации о подписи

Примеры

В приведенном ниже примере демонстрируется использование сервиса для работы с заданиями: создание нового задания и отправка его на исполнение.

(1)

IBaseCardService baseCardService = objectContext.GetService<IBaseCardService>();
ITaskService taskService = objectContext.GetService<ITaskService>();
IStaffService staffService = objectContext.GetService<IStaffService>();
IStateService stateService = objectContext.GetService<IStateService>(); (2)

KindsCardKind cardKind = objectContext.GetObject<KindsCardKind>(new Guid("AB801854-70AF-4B6C-AB48-1B59B5D11AA9")); (3)

Task task = taskService.CreateTask(cardKind);
taskService.InitializeDefaults(task);
task.MainInfo.Name = "Пример задания"; (4)

taskService.AddSelectedPerformer(task.MainInfo, staffService.Get(new Guid("00000000-0000-0000-0000-000000000000")));
objectContext.SaveObject(task); (5)

CardData cardData = userSession.CardManager.GetCardData(objectContext.GetObjectRef(task).Id);
string digest = baseCardService.GenerateDigest(task, cardData, "Задание на исполнение");
task.Description = digest; (6)

taskService.StartTask(task);
objectContext.SaveObject(task); (7)

StatesStateMachineBranch state = stateService.FindBranchByBuiltIn(Task.InitializationToStartedByStart, task.SystemInfo.State); (8)
stateService.ChangeState(task, state);
1 Инициализация контекста объектов.
2 Получаем сервисы.
3 Получаем вид карточки "На исполнение".
4 Инициализируем новое задание.
5 Добавляем исполнителя.
6 Формируем дайджест.
7 Отправляем задание.
8 Изменяем состояние задания.