根据先前的记录更改新记录的字段的值

时间:2011-12-12 11:05:46

标签: dynamics-crm-2011

截止日期即将来临,我的crm2011项目仍然存在一个问题。 这就是我所做的:我根据合同和契约实体创建了两个自定义实体。

这就是我需要的:当一个contractdetail记录被设置为非活动状态并且其“allotmentsremaining”< 0然后在添加新的contractdetail时,默认的“allotmentsremaining”和“allotmentsused”值应该会改变。

这是一个例子:我将contractdetail记录设置为非活动状态,并且“allotmentsremaining”值为-15。当我创建新记录时,“allotmentsused”应设置为15。

有什么解决方案?你碰巧有样本代码吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

您可能希望使用在(预)创建合约详细记录时运行的插件。

当创建contractdetail记录时,插件将触发并转到父合同记录,找到所有contractdetail子节点。找到最新的合同详细信息子项(如果存在)。如果它处于非活动状态或活动状态,请执行操作以在要创建的新合同详细信息记录上设置默认值。

如果找不到子项,则假设您有一个操作要做,即默认值 - 如果找到子项,则有值可以设置为活动或非活动状态。而你只关心最新的孩子。如果你有一个以上的儿童记录应该考虑哪一个。

这可以通过工作流程或自定义工作流程程序集来完成,甚至可以通过使用OData的Rest End Point进行javascript,但插件似乎是您最简单,最强大的解决方案。

关于如何编写插件并编译的链接 Plugin Registration Tool needed for plugins and a quick tutorial