Pergunta

Estou tendo um problema em se relacionar com os fluxos de trabalho do SharePoint e a lista de tarefas associadas.

Eu tenho dois fluxos de trabalho personalizados que criamos para o nosso produto. Ambos usam a mesma lista de tarefas que possui um tipo de conteúdo personalizado que herda do tipo de conteúdo da tarefa.

Agora, tenho um caso em que um fluxo de trabalho em execução foi excluído pela lista foi excluído ou o documento, isso resulta em tarefas órfãs.

Quero substituir a tarefa listar o evento OnDeleting, para que os usuários possam limpar suas tarefas para que não contenha tarefas órfãs desnecessárias. Então, meu item de exclusão se parece com isso

public override void ItemDeleting(SPItemEventProperties properties)
{
   SPListItem currentListItem = properties.ListItem;
}

O problema é que, quando entro no modo de depuração e verifico o campo CurrentListiTem.WorkFlows.Count, então é sempre 0. Não importa qual fluxo de trabalho eu iniciei ou qual tarefa eu olho, o SPWorkFlowCollection retornou sempre vazio :(

Eu queria saber se isso poderia estar relacionado a um bug em nosso fluxo de trabalho personalizado, onde ele não está conectado corretamente (mas termina corretamente e as tarefas são excluídas quando um fluxo de trabalho é encerrado) ou estou olhando para isso da maneira errada?

Foi útil?

Solução

o currentListItem Você tem escopo aqui é o próprio item de tarefa, não o item da lista contra o qual o fluxo de trabalho está em execução. A tarefa não Tenha um fluxo de trabalho em execução contra ele, para que a contagem zero seja esperada.

Se você está tentando chegar às tarefas de fluxo de trabalho associadas aos fluxos de trabalho em um item que você está excluindo, precisaria desse tipo de manipulador de eventos em cada lista O fluxo de trabalho está ativado, não na lista de tarefas que o fluxo de trabalho usa para armazenar suas tarefas.

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