0

我想创建一个实体的记录,但我需要将一个 guid 列表传递给预创建插件。我不想创建字段或相关实体来执行此操作。我可以使用共享变量来做到这一点吗?

换句话说,是否可以在启动将触发使用它们的插件的操作之前设置共享变量?

编辑:

我可以从与 crm、silverlight、外部页面甚至其他实体的插件集成的不同点创建此类记录。我当前的问题可以通过实体上的一个字段来解决,但是如果我必须发送参数来控制两个或多个独立操作的插件的执行,我将需要一个字段用于每个操作,或者只使用一个字段使用一个复杂的格式/解析模式来参数化每个不同的动作。使用字段来完成此功能看起来有点过分。

如果可以在触发将解决问题的插件的操作调用之前设置共享变量,并且我不必在 crm 数据库中创建字段,因为我想传递给插件的数据只会当时需要,就像函数中的参数一样,不需要将它们持久化到数据库中。

但如果不可能,我将不得不坚持这些领域:(

4

2 回答 2

1

如果它们因插件的实体/执行而异,则不会。

选项:

  1. 如果它们不更改但需要在不重新编译的情况下更新,请将它们设置在插件配置中。
  2. 如果它们因记录而异,则将它们作为分隔字符串应用到实体的单个字段中。

不想使用2的原因是什么?

于 2013-10-24T22:33:31.060 回答
1

没有。我能想到的最简单的解决方案是向实体添加一个 BAT(大文本)字段并使用逗号分隔的 GUID 列表填充它,然后在您的 Create 插件中访问该字段。如果您不希望系统中有额外的数据,您甚至可以将其清除。

编辑后编辑:关于您的思考过程的一般评论:您可能想多了。:) 使用单个字段,您可以使用 json 或 xml 格式的字符串传入任何类型的“命令”。正如我上面所说,在预创建插件中,在提取了这个“参数”字段后,您可以清除目标实体图像中的该字段,并且该数据将永远不会持久化到数据库中。从技术上讲,它可以实现您想要的确切结果,唯一的副作用是一个额外的“参数”字段,该字段在数据库中始终为 NULL。不要那么努力地与简单作斗争!:)

于 2013-10-24T22:34:01.543 回答