VS 2010에서 간단한 워크 플로를 만들었습니다. 사람의 작업 상태를 "완료"로 변경하면 작업 흐름에 메시지를 기록합니다 역사.Visual Studio 2010/SharePoint 2010 워크 플로 오류
상태를 완료로 변경하면 "xxxx (작업 흐름 이름)에 오류가 발생했습니다"라고 표시됩니다.
코드 :
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Workflow;
using Microsoft.SharePoint.WorkflowActions;
namespace WorkflowProject2.Workflow1
{
public sealed partial class Workflow1 : SequentialWorkflowActivity
{
public Workflow1()
{
InitializeComponent();
}
public Guid workflowId = default(System.Guid);
public SPWorkflowActivationProperties workflowProperties = new SPWorkflowActivationProperties();
private void onWorkflowActived(object sender, ExternalDataEventArgs e)
{
}
public Guid taskID = default(System.Guid);
public SPWorkflowTaskProperties taskProperties = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
private bool taskHasCompleted = false;
public SPWorkflowTaskProperties taskAfterProperties = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public SPWorkflowTaskProperties taskBeforeProperties = new Microsoft.SharePoint.Workflow.SPWorkflowTaskProperties();
public String taskOutcome = default(System.String);
public Guid TaskStatusFieldID = new Guid("c15b34c3-ce7d-490a-b133-3f4de8801b76");
private void createTask1_MethodInvoking(object sender, EventArgs e)
{
taskID = Guid.NewGuid();
taskProperties.AssignedTo = "spdev\\lzhang";
taskProperties.Description = "Please review";
taskProperties.Title = "Leave application";
}
private void completeTask1_MethodInvoking(object sender, EventArgs e)
{
// Finalize the task:
taskAfterProperties.PercentComplete = 100;
taskOutcome = "Completed";
}
private void notComplete(object sender, ConditionalEventArgs e)
{
e.Result = !taskHasCompleted; // **(A)**
}
private void onTaskChanged1_Invoked(object sender, ExternalDataEventArgs e)
{
string taskStatus = taskAfterProperties.ExtendedProperties[TaskStatusFieldID].ToString();
if (taskStatus == "Completed")
{
taskHasCompleted = true; // **(B)**
}
}
}
}
나는 (A) 몇 가지 문제가 있어야한다는 느낌 또는 (B)를 가지고 있지만 나는 그것을 해결하는 방법을 모르겠어요. 14/LOGS 폴더의 로그 파일에서 오류를 찾지 못했습니다 ...
감사합니다! 감사!
감사를 읽을 것을 권장합니다! 나는 링크를 체크 아웃하고 내가 아무것도 찾을 수 있는지 확인합니다 ... 안부, 린 Logged –