Asked by:
Auto Number Plugin

Question
-
Hi All,
I am new to CRM Plugins, Now I am in need of writing plugin for generation unique Id for every record created. This should be done using plugin. Can any one please send me the code, I am using developer tool kit .
Thanks In Advance ...
Thursday, June 26, 2014 11:37 AM
All replies
-
Hi,
There are many solution available over codeplex , did you try to consider them.
you can also check
http://niiranen.eu/crm/2013/12/auto-numbering-workflows-real-time-vs-asynchronous/
http://rajeevpentyala.wordpress.com/2012/01/11/auto-numbering-logic-in-crm-2011/
http://www.crmsoftwareblog.com/2012/01/implementing-robust-microsoft-dynamics-crm-2011-auto-numbering-using-transactions/
Our Website| Our Blog | Follow US | My Facebook Page | Microsoft Dynamics CRM 2011 Application Design
Make sure to "Vote as Helpful" and "Mark As Answer",if you get answer of your question.- Edited by HIMBAPModerator Thursday, June 26, 2014 11:54 AM
- Proposed as answer by Guido PreiteMVP Thursday, June 26, 2014 11:55 AM
Thursday, June 26, 2014 11:53 AMModerator -
Hi All,
I wrote the below logic for generating auto number for code entity , but it is giving count and setting value on number field . but my requirement is to add 1000 as series before that count .
Please help me how can I do this ...
public
classPreCodeCreate: Plugin
{
///<summary>
///Initializes a new instance of the <see cref="PreCodeCreate"/>class.
publicvoidExecute(IServiceProviderserviceProvider)
{
IPluginExecutionContextcontext = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactoryserviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationServiceservice = serviceFactory.CreateOrganizationService(context.UserId);
// IOrganizationService ServiceProxy = ServiceProxy
if(context.InputParameters.Contains("Target") && context.InputParameters["Target"] isEntity)
{
Entityentity = (Entity)context.InputParameters["Target"];
QueryExpressionquery = newQueryExpression("new_code");
query.ColumnSet =
newColumnSet(true);
EntityCollectionresult = service.RetrieveMultiple(query);
inttotalRecords = result.Entities.Count;
//Convert.ToInt32(entity.Attributes["new_serialnumber"]) + 1;
varfianlresult = totalRecords + 1;
intseries = 1000;
entity.Attributes[
"new_ogscode"] = series + fianlresult;
}
}
}
}
Friday, June 27, 2014 7:51 AM -
Try this
string series = "1000";
entity.Attributes["new_ogscode"] = series + fianlresult;
Our Website| Our Blog | Follow US | My Facebook Page | Microsoft Dynamics CRM 2011 Application Design
Make sure to "Vote as Helpful" and "Mark As Answer",if you get answer of your question.Friday, June 27, 2014 10:03 AMModerator -
Hi,
Codeplex solution:
http://advcrm2011autonumber.codeplex.com/
If you find this post helpful then please "Vote as Helpful" and "Mark As Answer". Thanks and Regards, Yogesh Vijay Mulay
Monday, June 30, 2014 9:07 AM -
Hi All,
Is auto number and Unique Id generation is same ?
Tuesday, July 1, 2014 6:23 AM -
Hi Pal,
This idea is also not working , now my requirement changed I need to get some value from a field followed by count number.
How to get the value of the related entity field ad append that to the autonumber ?
Thank You
Wednesday, July 2, 2014 11:41 AM -
You can retreive the value of field using query expression, linq, fetchxml or sql statement. There is another method know as query by attribute which is below:-
/ Create query using QueryByAttribute. QueryByAttribute querybyattribute = new QueryByAttribute("account"); querybyattribute.ColumnSet = new ColumnSet("name", "address1_city", "emailaddress1"); // Attribute to query. querybyattribute.Attributes.AddRange("address1_city"); // Value of queried attribute to return. querybyattribute.Values.AddRange("Redmond"); // Query passed to service proxy. EntityCollection retrieved = _service.RetrieveMultiple(querybyattribute); // Iterate through returned collection. foreach (var c in retrieved.Entities) { string oName = c.Attributes["name"]; }
//If there is always one record to get then you can also use following instead of last 4 lines of code which are Italic
string oName = c.Attributes[0]["name"];
Regards Faisal
Wednesday, July 2, 2014 1:03 PM -
Hi All,
I am having a requirement like to get the value of the location code field on locations entity which has 1:N relationship(placed as a grid) with the current entity where we need to generate the auto number and concatenate it with the series number. How can we write this . Please provide me the code which helps me a lot .
Its urgent ...
Thank You
Monday, July 7, 2014 11:34 AM