在新实体中自动编号

时间:2011-04-28 14:47:11

标签: dynamics-crm dynamics-crm-2011

我有一个自定义实体,需要为XRM应用程序提供案例编号,我可以从服务生成案例编号 - >情况下。

如果这是不可能的,我怎么能用插件做这个,我看过crmnumbering.codeplex.com但是这不支持2011,任何人都有解决方案或我应该自己重写?< / p>

感谢

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题(我需要一个实体的自定义#)。这是你如何做到的:

  1. 创建一个名为“Counter”的实体
  2. 添加一个名为“new_customnumber”的字段,根据您的需要将其设为字符串或数字
  3. 在new_customnumber字段中为您想要的任何内容创建该实体的新记录(让我们说“10000”)
  4. 创建一个插件(EntityNumberGenerator),然后抓取该记录(你可能想要设置这个记录/实体的安全性非常紧,所以没有人可以搞乱这些数字)
  5. 在创建“自定义实体”时启动插件。抓取new_customnumber中的值,将其保存到“自定义实体”(假设在“case”字段中)增加new_customnumber并将其保存到Counter实体。
  6. 警告,我不确定这是如何兼容并发的。意思是我不确定同时创建2个自定义实体是否可以获取相同的数字(我还没有遇到过问题)。我还没有找到一种方法来“锁定”我在插件中检索到的字段(我不确定它是否可行)。

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

    查看CRM2011sdk \ sdk \ samplecode \ cs \ plug-ins \ accountnumberplugin.cs插件。它与你想要的非常相似。

    RY

答案 1 :(得分:1)

我还没有看到2011年的一个。可能最容易自己编写。

我总是创建一个数据库,其中包含一个包含单列的表,这是一个IDENTITY列。编写要插入的SP,将IDENTITY值保存到变量,并在事务中全部删除该行。返回变量。这样可以实现快速简便的插件,这可以解决任何并发问题。

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