/// <summary> /// Создание новой задачи. Вызывается из присоединённого административного объекта, который также назнает свойства /// новорожденной задаче /// </summary> public static TaskInvoiceInstanceDefinition create(Session ssn, TaskParameters tp) { TaskInvoiceInstanceDefinition tid = new TaskInvoiceInstanceDefinition(ssn); tid._TaskInitiator = null; // Если создаётся через интерфейс, то TaskInitiator заполняется, иначе - обнуляется return(tid); }
/// <summary> /// Перенос параметров в задачу. /// Данная процедура: /// 1. Извлекает пользователей из соотвесттвующих списков данного объекта администрирования /// 2. Извлекает пользователей из списков, задачнных через параметр типа TaskParameters /// 3. Сливает вместе соответствующие списки из пп 1 и 2 /// 4. Переносит результат в пользвательскую задачу /// 5. Также переносит данные о приоритете и т.д. /// </summary> /// <param name="task"></param> private void SetTaskParameters(ref TaskInvoiceInstanceDefinition task, BaseTaskInstanceDefinitionAdmin adminTask, TaskParameters tp) { FunctionalTaskReference.ProcessElements(tp, ref task, this.Session); FunctionalTaskReference.FillUsersFromAdminTaskCollection(this, ref task); task.Priority = this.Priority; //task.CallBackObject = this.CallBackObject; task.TaskAdminGuid = this.Oid; }
public override void create() { // Параметры формируются здесь исключительно для демонстрации последующиего алгоритма разбора в методе SetTaskParameters TaskParameters tp = GetTaskParams(); // Создание задачи (вызов new) TaskInvoiceInstanceDefinition tid = TaskInvoiceInstanceDefinition.create(this.Session, tp); SetTaskParameters(ref tid, this, tp); // Вызываем activate() для созданной задачи tid.activate(); }