SPWorkflowTaskProperties.ExtendedProperties não estão preenchendo os campos em minha tarefa
-
03-07-2019 - |
Pergunta
Eu estou tentando passar informações de uma tarefa criada dentro de um fluxo de trabalho à sua forma tarefa correspondente. Antes da atividade CreateTask, eu criar um SPWorkflowTaskProperties e preenchê-lo com a informação usual (título, atribuído-a, etc). Eu também adicionar alguns elementos para a propriedade ExtendedProperties. No entanto, essas propriedades personalizadas nunca fazê-lo na tarefa.
Eu tentei definindo a chave de propriedade para:
- o Guid de um dos minha tarefa' conteúdo campos do tipo;
- o nome interno um dos conteúdos do tipo minha tarefa' campos;
- um nome relacionado (no espera de obter a informação na propriedades em vez de da tarefa sua campos).
Nada funciona. A tarefa, uma vez criado, contém apenas o built-in valores de campo que tenho posto. Nenhum dos valores que eu adicionado explicitamente às propriedades estendidas aparecer.
A sequência (simplificada) de meus actividades é a seguinte:
- PrepareTask. Este é um costume actividade que contém o SPWorkflowTaskProperties
- CreateTask. As propriedades da tarefa são obrigados a aquele na atividade PrepareTask.
- OnTaskCreated. As propriedades da tarefa são obrigados a aquele na atividade PrepareTask.
- Enquanto (tarefa não está completa)
- OnTaskChanged
Eu estou usando WSS 3.0 SP1 e um formulário de tarefas ASPX (NÃO InfoPath).
Solução
Eu ainda não sei por que minha solução original não funcionou. Mas eu encontrei uma solução alternativa. Minha seqüência de atividades é agora:
- CreateTask
- OnTaskCreated
- CopyTaskItems. Este é um costume atividade que valores coloca em minha campos, atualizações depois da tarefa personalizada a tarefa.
- Enquanto (tarefa não está completa)
- OnTaskChanged
Então eu tenho que criar a tarefa, em seguida, picar imediatamente valores para ele e atualização.
Espero que isso vai ajudar algum leitor futuro desta questão.
Outras dicas
Você deve estar usando um documento ItemMetadata.xml como uma fonte de dados secundária que contém a definição dos campos que você deseja passar para o seu formulário de tarefas. Algo como:
<z:row xmlns:z="#RowsetSchema"
ows_Instructions=""
ows_Body=""
ows_Comments=""
ows_ApprovalStatus=""
/>
O nome do arquivo é importante btw.
Observe o ows_
(como costumava os webservices todos os campos na lista serão prefixados com ows
.)
Então, em que você InfoPath formulário, defina o valor padrão de cada controle que deseja exibir essa informação na. Aperte o botão fx e insira um campo ou grupo a partir da fonte de dados secundário.
Um recurso bom: http: // weblog .vb-tech.com / nick / Arquivo / 2007/02/25 / 2207.aspx