0

我有一个自定义实体,它需要一个 XRM 应用程序的案例编号,我可以从服务 -> 案例生成一个案例编号。

如果这是不可能的,我该如何使用插件来做到这一点,我查看了 crmnumbering.codeplex.com 但这不支持 2011,外面的任何人都有解决方案还是我应该自己重写它?

谢谢

4

2 回答 2

2

我遇到了同样类型的问题(我需要一个实体的自定义 #)。以下是您的操作方法:

  1. 创建一个名为“计数器”的实体
  2. 添加一个名为“new_customnumber”的字段,根据您的需要将其设为字符串或数字
  3. 在 new_customnumber 字段中使用您想要的任何内容为该实体创建一条新记录(比如说“10000”)
  4. 创建一个插件(EntityNumberGenerator),它会发出并抓取该记录(您可能希望将此记录/实体的安全性设置得非常严格,这样任何人都不会弄乱数字)
  5. 在创建“自定义实体”时触发插件。获取 new_customnumber 中的值,将其保存到“自定义实体”(假设在“案例”字段中)递增 new_customnumber 并将其保存到 Counter 实体。

警告,我不确定并发性如何。这意味着我不确定同时创建的 2 个自定义实体是否可以获取相同的数字(我还没有遇到问题)。我还没有想出一种方法来“锁定”我在插件中检索到的字段(我不确定这是否可能)。

您将无法从您设置案例编号的正常区域为自定义实体创建自定义编号。

查看 CRM2011sdk\sdk\samplecode\cs\plug-ins\accountnumberplugin.cs 插件。它真的和你想要的很相似。

于 2011-04-29T18:18:10.240 回答
1

2011年的我还没见过。可能最容易自己写。

我总是用一个表创建一个数据库,该表只有一个列,即 IDENTITY 列。编写要插入的 SP,将 IDENTITY 值保存到变量中,然后在事务中删除所有行。返回变量。制作一个快速简单的插件,这可以解决任何并发问题。

性能很快,对 SQL 服务器的影响很小。

于 2011-04-28T16:41:48.923 回答