سؤال

I have an custom entity which needs to have a case number for an XRM Application, can I generate a case number from the Service -> Case.

If this is not possible, how can I do this with a plugin, I've looked at the crmnumbering.codeplex.com but this doesn't support 2011, anybody outthere have a solution or should I rewrite it myself?

thanks

هل كانت مفيدة؟

المحلول

I've ran into this same type of issue (I need a custom # for an entity). Here's how you can do it:

  1. Create an Entity called "Counter"
  2. Add a field called "new_customnumber", make it a string or a number depending on what you want
  3. Create a new record for that entity with whatever you want in the new_customnumber field (let's say "10000")
  4. Create a plugin (EntityNumberGenerator) that goes out and grabs that record (you'll probably want to set the security on this record/entity really tight so no one can mess with the numbers)
  5. On Create of the "custom entity" fire the plugin. Grab the value in new_customnumber save it to the "custom entity" (let's say in a "case" field) increment the new_customnumber and save it to the Counter entity.

Warning, I'm not sure how this is with concurrency. Meaning I'm not sure if 2 custom entities being created at the same time can grab the same number (I haven't ran into an issue yet). I haven't figured out a way to "lock" a field I've retrieved in a plugin (I'm not sure it's possible).

You will be unable to create a custom number for custom entities from the normal area you set a case number.

Look at the CRM2011sdk\sdk\samplecode\cs\plug-ins\accountnumberplugin.cs plugin. It's really similar to what you want.

Ry

نصائح أخرى

I haven't seen one for 2011 yet. Probably easiest to write it yourself.

I've always created a database with a table with a single column which is an IDENTITY column. Write an SP to insert, save the IDENTITY value to a variable, and DELETE the row all within a transaction. Return the variable. Makes for a quick and easy plug-in and this takes care of any concurrency issues.

The performance is fast and the impact to your SQL server is minimal.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top