【问题标题】:CRM 2011 Workflows: Finding the previous valuesCRM 2011 工作流程:查找以前的值
【发布时间】:2011-06-02 07:46:53
【问题描述】:

我目前有一个工作流,当某个小数字段发生更改时会触发该工作流。

是否可以通过工作流获得新旧值之间的差异?

【问题讨论】:

    标签: dynamics-crm workflow-foundation-4 dynamics-crm-2011


    【解决方案1】:

    终于有时间对此进行测试,完全可以使用工作流程序集检索工作流中的 pre 值。

    这就是我所做的:

    我在联系人上创建了一个工作流,并在姓氏上创建了一个触发器。 工作流包含对字段姓氏的引用和自定义工作流程序集。我打开了一个联系人并将其姓氏从“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"));
        }
    

    这是输出:

    编写工作流汇编

    lastname pre image value: Foo

    希望这可以帮助任何人以供将来使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-04
      • 2013-02-04
      • 1970-01-01
      • 2015-01-22
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      相关资源
      最近更新 更多