У меня проблема с активностью UpdateAllTasks.
Перед выполнением этого действия у меня есть задача, как видно из истории рабочего процесса:
Ожидание задачи истории рабочего процесса http://img101.imageshack.us/img101/2694/ss20100525163401.png
Но когда задача заканчивается, я вызываю UpdateAllTasks, чтобы обновить некоторые свойства для каждой задачи, но столбец DueDate для всех задач очищается, как показано здесь:
Задача истории рабочего процесса завершена http://img204.imageshack.us/img204/7889/ss20100525163817.png
Эта особенность происходит в активности updateTaskData с такими свойствами:
updateTaskDataProperties = new SPWorkflowTaskProperties();
updateTaskDataProperties.ExtendedProperties["WorkflowData"] = WorkflowDataSerializer.SerializeToXmlString<ApprovalWorkflowRuntimeData>(WorkflowData);
Обходной путь с недостатками
Однако есть обходной путь, который бы кого-то удовлетворил. Если мы добавим такую строку
updateTaskDataProperties.DueDate = ApprovalTaskProperties.DueDate;
тогда все работает как положено. Если вы не редактировали сроки выполнения задач другими способами (например, в графическом интерфейсе). Затем он сбрасывается обратно в DueDate, указанное для задачи, которой принадлежит ApprovalTaskProperties.
Почему?
Почему такое происходит, и, возможно, есть лекарство от этого? В противном случае мне придется использовать обходной путь, который не позволяет корректировать срок исполнения.