2008-10-20 3 views
2

Я пытаюсь передать информацию из задачи, созданной в рамках рабочего процесса, в соответствующую форму задачи. До операции CreateTask я создаю SPWorkflowTaskProperties и заполняю его обычной информацией (заголовок, назначенный и т. Д.). Я также добавляю некоторые элементы в свойство ExtendedProperties. Однако эти пользовательские свойства никогда не попадают в задачу.SPWorkflowTaskProperties.ExtendedProperties не заполняют поля в моей задаче

Я попытался установить свойство ключа к:

  • Guid одной моей задачи»контента поля типа в;
  • внутреннее название поля ввода одной из моих задач ' ;
  • несвязанное имя (в надеется получить информацию в свойствах задачи вместо своих полей ).

Ничего не работает. Задача, однажды созданная, содержит только встроенные значения полей, которые я установил. Ни одно из значений, которые я явно добавил к расширенным свойствам, не отображается.

The (упрощенно) последовательность моей деятельности выглядит следующим образом:

  • PrepareTask. Это обычай деятельность, которая содержит SPWorkflowTaskProperties
  • CreateTask. Свойства задачи привязаны к свойствам задачи PrepareTask.
  • OnTaskCreated. Свойства задачи привязаны к свойствам задачи PrepareTask.
  • While (задача не завершена)
    • OnTaskChanged

Я использую WSS 3.0 SP1 и форму задачи ASPX (не InfoPath).

ответ

2

Я до сих пор не знаю, почему мое оригинальное решение не сработало. Но я нашел обходное решение. Моя последовательность действий теперь:

  • CreateTask
  • OnTaskCreated
  • CopyTaskItems. Это настраиваемая операция , которая помещает значения в поля настраиваемой задачи , а затем обновляет задачу .
  • While (задача не завершена)
    • OnTaskChanged

Так что я должен создать задачу, а затем сразу же совать значения в него и обновления.

Надеюсь, это поможет будущему читателю этого вопроса.

0

Вы должны использовать документ ItemMetadata.xml в качестве вторичного источника данных, который содержит определение полей, которые вы хотите передать в форму своей задачи. Что-то вроде:

<z:row xmlns:z="#RowsetSchema" 
    ows_Instructions="" 
    ows_Body="" 
    ows_Comments="" 
    ows_ApprovalStatus="" 
/> 

Имя файла является важным кстати.

Обратите внимание на ows_ (как это использовало WebServices всех поля в списке будет с префиксом ows.)

Тогда в вас InfoPath формы, установите значение по умолчанию для каждого элемента управления, который требуется отобразить эту информацию в. Нажмите кнопку fx и вставьте поле или группу из вторичного источника данных.

Хороший ресурс: http://weblog.vb-tech.com/nick/archive/2007/02/25/2207.aspx