SPWorkflowTaskProperties.ExtendedProperties não estão preenchendo os campos em minha tarefa

StackOverflow https://stackoverflow.com/questions/218988

  •  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).

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top