我会询问如何在工作流程中获取当前日期。?
例如: -
我有一个名为(检查日期)的字段我想比较这个字段,如果它等于当前日期然后进入该过程。
我将创建等待条件,等待当前日期=检查日期,然后将完成我的过程。
如何在工作流程中获取当前日期。?
答案 0 :(得分:3)
在“指定条件”窗口中,选择“检查日期”字段,条件为“大于或等于”。在表单助手展开选项列表“查找”中,在“本地值”下选择“处理”选项。在下面的框中显示选项列表“执行时间”。选择它,你就完成了。
答案 1 :(得分:3)
要回答OP关于如何在工作流程中获取当前日期的问题,简短的回答是您无法做到。正如Henk van Boeijen所描述的那样,可以在某些单独步骤中获得当前日期。
在我工作的地方,我们实施了一个非常基本的自定义工作流程活动,只返回当前的日期和时间。
public class CurrentDateWorkflow : CodeActivity
{
protected override void Execute(CodeActivityContext executionContext)
{
try
{
// Create the context and tracing service
IExecutionContext context = executionContext.GetExtension<IExecutionContext>();
IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
ITracingService tracingService = executionContext.GetExtension<ITracingService>();
if (tracingService == null)
throw new InvalidPluginExecutionException("Failed to retrieve tracing service.");
tracingService.Trace("Entered CurrentDateWorkflow.Execute(), Activity Instance Id: {0}, Workflow Instance Id: {1}",
executionContext.ActivityInstanceId,
executionContext.WorkflowInstanceId);
var DatePartOnly = InputDatePartOnly.Get(executionContext);
// Set output parameters
if (DatePartOnly)
CurrentDate.Set(executionContext, DateTime.UtcNow.Date);
else
CurrentDate.Set(executionContext, DateTime.UtcNow);
// All done
tracingService.Trace("CurrentDateWorkflow.Execute() Complete. Activity Instance Id: {0}, Workflow Instance Id: {1}",
executionContext.ActivityInstanceId,
executionContext.WorkflowInstanceId);
}
catch (Exception ex)
{
throw new InvalidPluginExecutionException(String.Format("An error occurred in the {0} plug-in.",
this.GetType().ToString()),
ex);
}
}
[Output("Current Date")]
public OutArgument<DateTime> CurrentDate { get; set; }
[Input("Date Only")]
[Default("False")]
public InArgument<bool> InputDatePartOnly { get; set; }
}