Dynamics CRM自定义工作流程使用c#从表单中获取可见属性

时间:2015-09-15 06:45:00

标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015

如何在自定义工作流程中使用c#从实体表单中获取可见属性? 有任何想法请分享!

2 个答案:

答案 0 :(得分:3)

它是一个PITA,但它是可行的。

  1. systemform实体检索您要处理的表单(您希望formxml属性)
  2. formxml属性包含表单定义,它已编码(<写为&lt;,依此类推)xml格式。
  3. formxml内容中,字段如下所示:

        <cell id="(guid)" labelid="(guid)" showlabel="true" locklevel="0" visible="false">
        <labels>
            <label description="(field label)" languagecode="1033" />
        </labels>
        <control id="(field name)" classid="(guid)" datafieldname="(field name)" disabled="false">
    
    1. 解析xml,查找具有cell属性的visible个元素(仅当字段被隐藏时才会出现)
    2. 您可能需要通过xml中的进一步搜索来缩小列表范围(对于子网格看起来不是100%肯定)但我对此类逻辑没有直接经验,因此我无法确定每个和每个角落案件
    3. 痛点:您无法判断是否通过javascript切换了字段可见性

答案 1 :(得分:0)

你的意思是什么?你的意思是在表单中显示一个或多个值的属性?如果它是第二种,那么你必须跟踪它的唯一方法是使用文本字段并使用一些代码来识别活动的内容。

离。创建一个文本字段

并在其中写下姓名和姓氏之外可见的所有字段:

&#34;名称&#34;&#34;姓&#34;

您可以使用javascript和业务规则对此进行操作,以便每次都为每条记录更新字段列表。在后面的代码中,您只需要阅读文本字段并操作魔术字符串。 这不是一个非常好的操作,但是我能看到的唯一方法是跟踪表单上显示的字段。