如何使实体更新自己的字段



如果用户更改field_2,我想更改field_1的值。通常,人们使用JS 在客户端上做到这一点,但是在这种情况下,用户可能会再次改变他的想法,回到原始值。因此,我想更新插件中的字段。

我成功地发现了field_2中的更改,但是当我为field_1分配一个值时,它不会存储在数据库中。我做错了什么?

if (IsField_2Changed())
   (Context.InputParameters["Target"] as Entity).Attributes["field_1"] = 666;

我没有崩溃,没有投诉,但是 666的值(因为它是万圣节)不会存储到数据库中。该代码在更新的消息中执行。

请注意,用户不会更改field_1

将其设置为仅阅读字段。

这有点猜测,因为您没有提及插件的注册方式。

但是,我猜我应该在帖子上注册该插件。

如果要使用目标进行更新,则需要在Pre.

中进行。

如果您的插件必须在帖子上,请使用Web服务更新调用。

您可以在JavaScript中执行此操作。只需将您的功能添加到Field2的Onchange事件中即可。这不是一个onblur事件,因此只有在用户在更改后离开现场时才会发射。

如果您需要每次用户离开该字段时发射,也可以通过JavaScript绑定到Onblur事件(不是在变更事件上的字段),但没有支持。

对于插件,这是一个不错的步行(尽管逻辑并不完全相同)http://nzcrmguy.blogspot.com/2011/03/updating-fields-on-crm-2011-plugin.html

最新更新