SPWorkflowTaskProperties.ExtendedProperties не заполняет поля в моей задаче - PullRequest
2 голосов
/ 20 октября 2008

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

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

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

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

(упрощенная) последовательность моих действий следующая:

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

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

Ответы [ 2 ]

2 голосов
/ 28 октября 2008

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

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

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

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

0 голосов
/ 24 февраля 2009

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

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

Кстати, имя файла важно.

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

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

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

...