trabajo flujo ejemplos crear como aprobacion sharepoint workflow wss-3.0

ejemplos - SPWorkflowActivationProperties.Item es NULL en Flujo de trabajo de SharePoint simple



flujo de trabajo de aprobacion sharepoint 2013 (2)

¿Ha enlazado WorkflowActivationProperties con el diseñador de flujo de trabajo?

WorkflowActivationProperties http://img718.imageshack.us/img718/9703/ss20100305091353.png

He generado un proyecto de flujo de trabajo secuencial de C # SharePoint usando la muy práctica herramienta STSDEV (me dio la vuelta al requisito de tener acceso a una instalación de SharePoint de 32 bits que es necesaria para otras herramientas como VSeWSS 1.3).

Agregué una acción simple de ''modificar el título'' para probar mi configuración básica:

public sealed partial class CopyWorkflow : SharePointSequentialWorkflowActivity { public CopyWorkflow() { InitializeComponent(); workflowProperties = new SPWorkflowActivationProperties(); } public SPWorkflowActivationProperties workflowProperties; private void onWorkflowActivated1_Invoked_1(object sender, ExternalDataEventArgs e) { workflowProperties.Item["Title"] = workflowProperties.Item["Title"].ToString() + ": Processed by Workflow"; workflowProperties.Item.Update(); } }

Quien, después de instalar mi flujo de trabajo a través de WSP en una instalación de WSS 3.0 , activando la función y configurando el flujo de trabajo para que se inicie cada vez que se crea un nuevo elemento para una lista en particular, obtengo mi punto de interrupción en onWorkflowActivated1_Invoked_1, pero workflowProperties.Item es siempre NULL en lugar de SPListItem que representa el elemento que acaba de agregarse.

¿Qué debo hacer para que el artículo se llene cuando se llame a esta devolución de llamada?

Actualización: me he dado cuenta de que el hilo que ejecuta el flujo de trabajo se ejecuta de forma anónima en lugar de como el usuario que inició sesión o el usuario del sistema, y ​​por lo tanto no tendrá acceso a los datos de la lista. Además, el archivo de registro de SharePoint muestra la siguiente excepción:

Unexpected System.ArgumentNullException: Value cannot be null. Parameter name: uriString at System.Uri..ctor(String uriString) at Microsoft.SharePoint.SPSite..ctor(String requestUrl) at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.<get_Site>b__0() at Microsoft.SharePoint.SPSecurity.CodeToRunElevatedWrapper(Object state) at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<RunWithElevatedPrivileges>b__2() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties....

y

Unexpected ...get_Site() at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.get_Web() at Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties.get_Item() at BechtelWorkflow.CopyWorkflow.onWorkflowActivated1_Invoked_1(Object sender, ExternalDataEventArgs e) at System.Workflow.ComponentModel.Activity.RaiseGenericEvent[T](DependencyProperty dependencyEvent, Object sender, T e) at System.Workflow.Activities.HandleExternalEventActivity.RaiseEvent(Object[] args) at System.Workflow.Activities.HandleExternalEventActivity.Execute(ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor''1.Execute(T activity, ActivityExecutionContext executionContext) at System.Workflow.ComponentModel.ActivityExecutor''1.Execute(Activity activi...


Este problema se produce si el InitialStateName del diseñador en las propiedades del flujo de trabajo no es igual a "Estado inicial" o si se apunta a otra etapa abruptamente. Una vez que un estado en el que tenemos el workflowProperties, etc como la imagen de arriba. Las cosas comienzan a funcionar como se requiere.