【发布时间】:2015-09-15 06:45:00
【问题描述】:
如何在自定义工作流中使用 c# 从实体表单中获取可见属性? 有什么想法请分享!
【问题讨论】:
-
你想完成什么?流程不应该关心表单(因为数据可能不是来自表单)
-
表示进程不读取表单数据
标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015
如何在自定义工作流中使用 c# 从实体表单中获取可见属性? 有什么想法请分享!
【问题讨论】:
标签: dynamics-crm-2011 dynamics-crm dynamics-crm-2013 dynamics-crm-2015
这是一个 PITA,但它是可行的。
systemform 实体中检索您要处理的表单(您需要formxml 属性)formxml 属性包含表单定义,它被编码(< 写成< 等等)xml 格式。在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">
cell元素没有有visible属性(只有当字段被隐藏时才会出现)痛点:您将无法判断字段可见性是否已通过 javascript 切换
【讨论】:
可见属性是什么意思?您的意思是具有值的属性或表单中显示的属性?如果是第二种,那么您必须跟踪的唯一方法是使用文本字段并使用一些代码来识别活动的内容。
例如。创建一个文本字段
并在其中写下所有可见的前姓名和姓氏:
“姓名”、“姓氏”
您可以使用 javascript 和业务规则对此进行操作,以使每条记录的字段列表每次都更新。在后面的代码中,您只需要阅读文本字段并操作魔术字符串。 这不是一个非常好的操作,但它是我能看到的唯一方法来跟踪表单上显示的字段。
【讨论】: