SharePoint Workflow OnTaskChanged Fired only first time
-
Saturday, May 05, 2012 6:55 PM
hi.
i am trying to develop a workflow, in that the onTaskChanged activity will run only once. When i run the WF using VS it follow the below sequence
Workflow Activated
create task
while loop
onTaskChanged
complete task
Create Task2
etc
i can go till onTaskChanged and when i change the value form the list the control wont comes back to the VS or does it go to the Create Task2 step.
does anyone know about this
All Replies
-
Sunday, May 06, 2012 8:31 AM
please see the code i have usedpublic string marketing_approved = "Pending"; public Boolean StatusDetails = true; public Boolean StatusDetails1 = true; public Boolean StatusDetails2 = true; private void while_bothnotapproved(object sender, ConditionalEventArgs e) { if (this.workflowProperties.Item["Status"].ToString() == "Send to Local Office") StatusDetails = false; if (StatusDetails) e.Result = true; else e.Result = false; } private void while_accountnotapproved(object sender, ConditionalEventArgs e) { e.Result = StatusDetails1; } private void while_marketingnotapproved(object sender, ConditionalEventArgs e) { e.Result = StatusDetails2; } public Guid createTask1_TaskId1 = default(System.Guid); public SPWorkflowTaskProperties createTask1_TaskProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); private void createTask1_MethodInvoking(object sender, EventArgs e) { this.createTask1_TaskId1 = Guid.NewGuid(); SPListItem item = workflowProperties.Item; this.createTask1_TaskProperties1.Title = "Review task for Team Leader - " + item.Name; if (createTask1_TaskProperties1.AssignedTo == null) { this.createTask1_TaskProperties1.AssignedTo = "domine\\user"; } // this.createTask1_TaskProperties1.PercentComplete = 0.0f; //logmessage("Task Assigned - " + createTask1_TaskProperties1.Title); this.createTask1_TaskProperties1.SendEmailNotification = true; } public SPWorkflowTaskProperties onTaskChanged1_AfterProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); public SPWorkflowTaskProperties onTaskChanged1_BeforeProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e) { try { if (this.workflowProperties.Item["Status"].ToString() != "Ready for Checking") { StatusDetails1 = false; } } catch (Exception ex) { } //workflowHistoryComments = "Customer service agent has updated their task - " + custSvcAgentAfterProperties.Title + ". Percent complete = " + System.Convert.ToString(pctComplete); } //private void logerror(Exception ex) //{ // workflowProperties.Workflow.CreateHistoryEvent((int)SPWorkflowHistoryEventType.WorkflowError, // 0, workflowProperties.OriginatorUser, ex.StackTrace, ex.Message + " - " + ex.StackTrace, ""); //} //private void logmessage(string message) //{ // workflowProperties.Workflow.CreateHistoryEvent((int)SPWorkflowHistoryEventType.None, // 0, workflowProperties.OriginatorUser, "", message, ""); //} private void createTask2_MethodInvoking(object sender, EventArgs e) { this.createTask1_TaskId1 = Guid.NewGuid(); SPListItem item = workflowProperties.Item; this.createTask1_TaskProperties1.Title = "Review task for Director - " + item.Name; if (createTask1_TaskProperties1.AssignedTo == null) { this.createTask1_TaskProperties1.AssignedTo = "domine\\user"; } //this.createTask1_TaskProperties1.PercentComplete = 0.0f; //logmessage("Task Assigned - " + createTask1_TaskProperties1.Title); this.createTask1_TaskProperties1.SendEmailNotification = true; } public Guid createTask2_TaskId1 = default(System.Guid); public SPWorkflowTaskProperties createTask2_TaskProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); private void onTaskChanged2_Invoked(object sender, ExternalDataEventArgs e) { try { if (this.workflowProperties.Item["Status"].ToString() != "Ready for Approval") { StatusDetails2 = false; } } catch (Exception ex) { } } public SPWorkflowTaskProperties onTaskChanged2_AfterProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); public SPWorkflowTaskProperties onTaskChanged2_BeforeProperties1 = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties(); } } please let me know what you think
- Edited by roma_victa Sunday, May 06, 2012 9:20 AM

