use*_*447 5 dynamics-crm workflow-foundation-4 dynamics-crm-2011
我目前有一个工作流程,当某个十进制字段更改时会触发该工作流程.
是否可以通过工作流程来区分旧值和新值?
最后有时间对此进行测试,并且完全可以使用工作流程程序集检索工作流程中的预值.
这是我做的:
我在Contact上创建了一个工作流,在LastName上有一个触发器.工作流包含对字段lastname的引用,以及自定义工作流程序集.我打开了一个联系人并将它的姓氏从'Foo'更改为'Bar'
自定义工作流程程序集的代码:
protected override void Execute(CodeActivityContext context)
{
IWorkflowContext workflow = context.GetExtension<IWorkflowContext>();
Entity preImage = workflow.PreEntityImages.Values.FirstOrDefault();
string content = RetrievePreImageLastname(preImage);
using (StreamWriter writer = new StreamWriter(@"C:\temp\log.txt", true))
{
writer.WriteLine("writing workflow assembly");
writer.Write(content);
}
}
public string RetrievePreImageLastname(Entity value)
{
if (value == null)
return "PreImage is Empty";
return string.Format("lastname pre image value: {0}", value.GetAttributeValue<string>("lastname"));
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
写工作流程组装
姓氏前图像值:Foo
希望这可以帮助任何人将来使用.
| 归档时间: |
|
| 查看次数: |
3555 次 |
| 最近记录: |