Home > SharePoint - Tips & Tricks > Atribuindo Grupos do SharePoint para tarefas de Workflow via Visual Studio – SharePoint Tips&Tricks!

Atribuindo Grupos do SharePoint para tarefas de Workflow via Visual Studio – SharePoint Tips&Tricks!


Olá! Smile

Overview:

O SharePoint possui uma gama enorme de ferramentas para atender as necessidades de negócio mais adversas! Uma delas é o poderoso WorkFlow!

Cenário:

Desenvolvendo workflows no SharePoint você vai perceber o quão poderoso, e fácil é, cria-los. Mas, claro, como toda aplicação, quanto mais avançado e complexo for sua necessidade, mais difícil será também montar o seu workflow.

No SharePoint podemos criar workflows via browser, via SharePoint Designer e finalmente, via Visual Studio. Nesta ordem podemos avaliar a facilidade e o poder de cada forma de criação, partindo do mais fácil/fraco até o mais difícil/poderoso!

ERRO:

Não chega a ser um erro, mas faltava algo! Estou desenvolvimento um workflow via Visual Studio, e desta vez, as tarefas não são atribuídas a usuários, mas sim, a grupos do SharePoint!

Via EditForm da lista de Tarefas, muito fácil colocar um grupo, basta selecionar e validar, no campo PeoplePicker. Mas e programaticamente?

Bom, programaticamente, podemos fazer também, usando valores Lookup. Afinal, um campo do tipo Grupo ou Usuário (PeoplePicker) nada mais é do que um campo Consulta (Lookup) que está ligado a lista de usuários do SharePoint.

Para saber como manipular valores lookup, veja:

http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Utilizando%20Campos%20de%20Consulta%20(Lookup)%20Programaticamente.aspx

http://thiagottss.spaces.live.com/blog/cns!D3436C90BCD36CB!1030.entry

Mas enfim, e tarefas de Workflow no Visual Studio? O campo “AssinedTo” espera um string! Como atribuir para grupos?

Para usuário é fácil, basta inserir uma string como domainuser, ou seja, “wssvm\thiago”.

SOLUÇÃO:

Depois de apanhar bastante, encontrei um meio de colocar grupos!

Code Snippet
  1. SPGroup group = workflowProperties.Web.SiteGroups["GrupoTeste"];
  2.  
  3.             SPFieldUserValue fieldUserValue = new SPFieldUserValue(group.ParentWeb, group.ID, group.Name);
  4.  
  5.             tskCTAprovacaoCadastro_TaskProperties.AssignedTo = fieldUserValue.LookupValue;

tskCTAprovacaoCadastro = Minha tarefa do Workflow.

Abraço!

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: