【问题标题】:CRM 2011 get the attribute names of empty attributes of an entityCRM 2011 获取实体空属性的属性名称
【发布时间】:2015-01-16 15:53:39
【问题描述】:

我目前正在开发一个小的 crm 2011 插件,它应该在帐户数据发生更改时更新所有关联的联系人。 因此该插件在 Post-Operation 阶段对 Update Message 起作用。

它几乎可以按照我的意愿工作,但是有一个小问题。 如果用户打开一个帐户并更改了该帐户的数据,当他填写之前为空的字段时,这些更改不会转移到所有联系人。

在这种情况下,我的问题是,因为我检查更改的属性名称(AttributeCollection 中的键)是否也可用于联系人,所以当填写空字段时,受影响的联系人将没有键值对我可以检查密钥是否存在。

例如帐户对字段“street_1”没有值,之后该字段从用户那里获取值。现在应该更新属于该帐户的每个联系人并将此值复制到联系人字段“street_1”中 但是由于在联系人中,“street_1”是空的,所以我检索到的属于该帐户的联系人没有“street_1”属性键。

所以我的问题是,我如何获取实体的所有属性名称,在这种情况下为联系人,即使该属性没有值。

PS:我想绕过,使用早期绑定类。

【问题讨论】:

    标签: c# plugins dynamics-crm-2011 crm


    【解决方案1】:

    您可以在插件中使用 PreImage,这样您就可以检查之前的值。

    参考:http://msdn.microsoft.com/en-us/library/gg309673.aspx#bkmk_preandpost

    【讨论】:

    • 既然他询问的是相关实体(联系人)上的字段,PreImage(帐户)有什么帮助?
    • 是的,可能我读的太快了,但是如果他用 ColumnSet(true) 检索相关联系人并且该字段不在集合中意味着该字段为空
    • 对,我认为答案是,如果他的查询返回该字段并且它不在集合中,他应该将新值添加到集合中。
    • 我需要密钥来检查是否应该将此值添加到联系人中。因为我想将帐户中所做的更改更新到所有关联的联系人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2018-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多