Jump to content
flyzone

Field user workflow sharepoint 2010

Recommended Posts

flyzone

Bons dias,

Tenho um pequeno problema ao tentar aceder a um field user/group  numa tak de um workflow.

O caso é o seguinte, tenho uma task com vários tipos de campos como por exemplo um campo de texto "Comentários" e outro user/group "Responsável".

Quando o utilizador submete os dados  consigo apanhar os dados  utilizando o "ExtendedProperties"

private void ConditionAprroval(object sender, ConditionalEventArgs e)
        {
            try
            {
                var Comentario= onTaskChanged3_AfterProperties1.ExtendedProperties["Comentario"].ToString();
                var resp= onTaskChanged3_AfterProperties1.ExtendedProperties["Responsavel"];
  
....

o meu problema é como deve receber o campo Responsável ? Pois este vem formatado da seguinte forma: 
"<pc:Person xmlns:pc=\"http://schemas.microsoft.com/office/infopath/2007/PartnerControls\"><pc:DisplayName>Server\\hugo</pc:DisplayName><pc:AccountId>Server\\hugo</pc:AccountId><pc:AccountType>User</pc:AccountType></pc:Person>"

Obrigado

Cumprimentos

Hugo

Share this post


Link to post
Share on other sites
Rechousa

Encontrei uma coisa que te poderá ajudar:

http://www.sharepointdev.net/sharepoint--workflow/mapping-extendedproperties-fields-to-task-list-columns-46336.shtml

Consegues fazer o cast da task do workflow para uma SPList?

SPList minhaLista = (SPList)workflowProperties.Web.Lists[workflowProperties.TaskListId]

Se conseguisses era óptimo, pois acedendo às propriedades da Lista muito provavelmente ias conseguir obter a informação que pretendes.


Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Share this post


Link to post
Share on other sites
Baia

Não sei se já foi esclarecida questao mas vou "desenterrar" o tópico. Ainda pode ser útil a alguém :)

Tens um objecto SPFieldUser ao qual podes atribuir e pegar o responsável.

ex.

SPFieldUser fieldUserValue= (SPFieldUser)onTaskChanged3_AfterProperties1.ExtendedProperties["Responsavel"];

SPFieldUserValue userValue = (SPFieldUserValue) fieldUserValue.GetFieldValue(onTaskChanged3_AfterProperties1.ExtendedProperties["Responsavel"].ToString());

Desta forma ficas com um SPUser onde tens os dados do responsável(penso que esteja correcto) ;)

Edited by Baia

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.