Este es el segundo Post que abarca este tema.
En el primer posts Iniciar Automanticamente WorkFlow quedaron algunas dudas.
Como obtener el TemplateID de un workflow asociado a un Document Library.
Para esto haremos uso de una dll llamada Microsoft.SharePoint.dll que obviamente puede ser descargado de la pagina de microsoft.
Los parametros que usaremos seran:
urlSite: La direccion Url absoluta del site, donde estamos trabajando.
Libreria: El Nombre o GUID, de la libreria, donde estamos trabajando.
SPSite _site = new SPSite(urlSite);
SPWeb _Web = _site.OpenWeb();
String GUI = Libreria;//en formato similar a este: {68A5A98D-61AF-4BDF-B1DF-A326EA34460D}
Guid MiGUI = new Guid(GUI);
SPList _List = _Web.Lists[MiGUI];
SPWorkflowAssociationCollection MisWorkFlows=_List.WorkflowAssociations
En esta variable tenemos objetos del tipo SPWorkflowAssociation, que poseen 2 propiedades muy utiles: Name y Id, el primero obviamente si nombre lo dice, es el nombre del workflow y el segundo es el llamado TemplateID.
Pero ojo que se tendria que navegar la variable con un forech de esta manera:
Especificamente deseo conocer el TemplateID de un workflow cuyo nombre es pasado en la variable WFName="Mi WorkFlow".
string WFId="";
string WFName="MiWorkFlow";
foreach (SPWorkflowAssociation WF in _List.WorkflowAssociations)
{
if (WF.Name == WFName)
{
WFId=WF.Id.ToString();
}
}
De esta manera obtener el TemplateID de un WorkFlow, conociendo el nombre, libreria y site donde se encuentra este.
miércoles, 3 de septiembre de 2008
Suscribirse a:
Entradas (Atom)