1

我有一个名为Events(父实体)的实体,其中包含以下属性

  1. 事件ID
  2. 事件开始日期
  3. 事件结束日期

它与另一个名为ChildEvents的实体具有 1-N 关系,该实体包含以下属性

  1. 子事件ID
  2. 事件 ID(查找)
  3. EventStartDate(只读)
  4. EventEndDate(只读)

我编写了一个 JavaScript 代码,它在EventID更新时自动填充EventStartDateEventEndDate

我的问题是这样的:

我有一个EventID = "A"withEventStartDate = "today"并且EventEndDate = "tomo" 这被添加到 aChildEventID = "C_A"并保存。

我回到我的事件实体并将开始日期和结束日期更改EventID = "A"为其他内容并保存相同的内容。

现在,当我打开子事件记录时,"C_A"我看不到NewEventStartDateNewEventEndDate正在自动更新。

我错过了什么吗?我必须为它编写代码吗?因为我认为它会自动更新。

注意:这两个实体都是自定义实体。

4

3 回答 3

2

我理解这一点:您想根据父实体中所做的更改来更新实体的子记录。如果我们假设这一点,您应该使用分布式工作流。这个链接可以帮助你。这是一个直接的解决方案,您可以轻松导入和使用。

于 2013-01-19T13:30:42.970 回答
2

你想让父母在父母的日期改变时更新它的孩子吗?然后你应该写一个插件(在父实体上)。

于 2013-01-18T23:09:58.687 回答
1

非常好的问题!您需要记住的是 JavaScript 只管理进程的客户端。这意味着,有点不正确但很容易理解,无论您使用 JS 做什么,都会模拟用户通过自己在 GUI 中导航可能导致的结果。

如果我的问题正确,您希望实体(子实体上的只读字段)中的数据在其他实体(父实体上的开始日期)更新时得到更新。

最强大和最可靠的方法是添加一个对消息更新(当然也对消息create)做出反应的插件,然后从那里进行神奇的更新。

这种方法的缺点是初学者的门槛可能非常非常陡峭。特别是如果你缺乏 C# 方面的经验,注册步骤/图像,配置和上传程序集等。(我第一次制作插件时,我设法 FUBAR 我们的 CRM 服务器,MVP 花了两天时间让它重新启动并运行。并且十多年来我一直在编写 C# 代码,哈哈。)

好处是一旦你让它工作起来,你几乎可以用 CRM 做任何事情。限制消失了。如果您打算与 CRM 合作,这就是您要走的路。这是一个艰难的方式,但它也是唯一的,严肃的方式,恕我直言。

如果您需要有关插件的指针 - 请查看博客。(当然,我的是最好的,呵呵。)继续问!

于 2013-01-21T22:02:04.297 回答