1. How to create a queue
Settings -> Business Management -> Queues
2. How to assign a queue to team or user
Settings -> Business Management -> Queues
3. How to assign items to a queue
Workplace -> Activities-> Tasks -> Save -> Add to Queue
4. How to assign queue item to an user
Who is working on: Workplace -> Queues -> Item -> Queue Item Detail
5. How to enable an entity to a queue
Settings -> Customizations -> Customize the System -> Entities -> Queues checkbox
Thursday, September 26, 2013
Wednesday, September 25, 2013
Tuesday, September 24, 2013
Monday, September 23, 2013
What is Queue definition in Microsoft CRM?
Queues are places in organizing, prioritizing, and monitoring the progress of your working items in CRM.
In CRM following entities are enabled for Queues by default:
Appointment
Campaignactivity
CampaignResponse
Email
Fax
Incident
Letter
PhoneCall
RecurringAppointmentMaster
ServiceAppointment
Task
Reference:
http://msdn.microsoft.com/en-us/library/gg328459.aspx
In CRM following entities are enabled for Queues by default:
Appointment
Campaignactivity
CampaignResponse
Fax
Incident
Letter
PhoneCall
RecurringAppointmentMaster
ServiceAppointment
Task
Reference:
http://msdn.microsoft.com/en-us/library/gg328459.aspx
Wednesday, September 18, 2013
How to solve problem "Metadata contains a reference that cannot be resolved" while try to create connection with CRM server?
First of all, check the url if correct. If wrong url, will get this error.(http://{}/{orgName}/XRMServices/2011/Organization.svc)
If cannot find the problem, run CrmSvcUtil with enabled tracing information by
CrmSvcUtil.exe.config
Will get detailed error information
If cannot find the problem, run CrmSvcUtil with enabled tracing information by
CrmSvcUtil.exe.config
Will get detailed error information
How to implement paging by LINQ
int numberOfObjectsPerPage = 5001; int pageNumber = 1; var queryResultPage = acountlist .Skip(numberOfObjectsPerPage * pageNumber) .Take(numberOfObjectsPerPage).ToList();
Tuesday, September 17, 2013
Monday, September 16, 2013
How to solve problem "EntityState must be set to null, Created (for Create message) or Changed (for Update message)" while to try to update earlying binding entity?
How to solve problem "EntityState must be set to null, Created (for Create message) or Changed (for Update message)" while to try to update earlying binding entity?
There is one method in OrganizationServiceContext object calls: UpdateObject
Do not use the one in OrganizationServiceProxy. If use, the get the error message
context.UpdateObject(en);
//serviceProxy.Update(en);
There is one method in OrganizationServiceContext object calls: UpdateObject
Do not use the one in OrganizationServiceProxy. If use, the get the error message
context.UpdateObject(en);
//serviceProxy.Update(en);
Friday, September 13, 2013
The funny way to tell difference between null and undefined in JavaScript
You: What is name?
JavaScript: name? What's a name? I don't know what you're talking about. You haven't ever mentioned any name before. Are you seeing some other scripting language on the (client-)side?
name = null;
You: What is name?
JavaScript: I don't know.
In short; undefined is where no notion of the thing exists; it has no type, and it's never been referenced before in that scope; null is where the thing is known to exist, but it's not known what the value is.
One thing to remember is that null is not, conceptually, the same as false or "" or such, even if they equate after type casting, i.e.
name = false;
You: What is name?
JavaScript: Boolean false.
name = '';
You: What is name?
JavaScript: Empty string
http://stackoverflow.com/questions/801032/why-is-null-an-object-and-whats-the-difference-compared-to-undefined
JavaScript: name? What's a name? I don't know what you're talking about. You haven't ever mentioned any name before. Are you seeing some other scripting language on the (client-)side?
name = null;
You: What is name?
JavaScript: I don't know.
In short; undefined is where no notion of the thing exists; it has no type, and it's never been referenced before in that scope; null is where the thing is known to exist, but it's not known what the value is.
One thing to remember is that null is not, conceptually, the same as false or "" or such, even if they equate after type casting, i.e.
name = false;
You: What is name?
JavaScript: Boolean false.
name = '';
You: What is name?
JavaScript: Empty string
http://stackoverflow.com/questions/801032/why-is-null-an-object-and-whats-the-difference-compared-to-undefined
The minimum steps to try out Microsoft CRM early binding
1. Generate CRM entity by CrmSDvcUtil.exe tool in folder of crm\sdk\bin
Reference:
http://msdn.microsoft.com/en-us/library/gg327844.aspx
CrmSvcUtil.exe /url:http://ServerName/OrganizationName/XRMServices/2011/Organization.svc /out:CSFileName.cs /username:usernamewithDomain /password:password /namespace:namespace /serviceContextName:contexName
2. Add following code in console app (Copy generate cs file into project and add it into)
Reference:
http://msdn.microsoft.com/en-us/library/gg327844.aspx
CrmSvcUtil.exe /url:http://ServerName/OrganizationName/XRMServices/2011/Organization.svc /out:CSFileName.cs /username:usernamewithDomain /password:password /namespace:namespace /serviceContextName:contexName
2. Add following code in console app (Copy generate cs file into project and add it into)
var _credentials = new ClientCredentials(); _credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials; string CRM_SDK_URL = "http://ServerName/OrganizationName/XRMServices/2011/Organization.svc"; OrganizationServiceProxy proxy = new OrganizationServiceProxy(new Uri(CRM_SDK_URL), null, _credentials, null); proxy.EnableProxyTypes(); Account account = new Account { Name = "Sample Parent Account" }; var _parentAccountId = proxy.Create(account);
Thursday, September 12, 2013
How to get list of sub accounts in CRM plugin ?
public void Execute(IServiceProvider serviceProvider) { Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext) serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext)); if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity) { Entity entity = (Entity)context.InputParameters["Target"]; if (entity.LogicalName == "account") { // Obtain the organization service reference. IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId); //Get current account id (accountid) var currentAccountid = entity["accountid"]; Microsoft.Xrm.Sdk.Query.QueryByAttribute querybyattribute = new Microsoft.Xrm.Sdk.Query.QueryByAttribute("account"); querybyattribute.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet("accountnumber", "accountid", "emailaddress1"); querybyattribute.Attributes.AddRange("parentaccountid"); querybyattribute.Values.AddRange(currentAccountid); EntityCollection retrieved = service.RetrieveMultiple(querybyattribute); int count = 0; foreach (var en in retrieved.Entities) { count += 1; en.Attributes["accountnumber"] = count.ToString(); service.Update(en); } } }
Wednesday, September 11, 2013
How to remote debug Microsoft CRM plugin?
0. Tried Visual Studio 2010, failed. 32 bit VS not working with 64 bit remote debugger.
Error message:
Unable to attach to the process. The 32-bit version of the Visual Studio Remote Debugging Monitor (MSVSMON.EXE) cannot be used to debug 64-bit processes or 64-bit dumps. Please use the 64-bit version instead.
Certainly, you can not connect 2010 remote debugger with 2012
Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named 'CHATHAM\rwang@CRM'. The Microsoft Visual Studio Remote Debugging Monitor (MSVSMON.EXE) does not appear to be running on the remote computer. This may be because a firewall is preventing communication to the remote computer. Please see Help for assistance on configuring remote debugging.
1. Remote tools for Remote Tools for Visual Studio 2012 Update 2
http://www.microsoft.com/en-my/download/details.aspx?id=38184
2. Run and Get Tcp/ip port number
3. Copy plugin pdb file into CRM box folder:
C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
4. In VS2012, Debug -> attach, put mahine_name@port_number in the qualifier box
5. Then attach to w3p process.
Error message:
Unable to attach to the process. The 32-bit version of the Visual Studio Remote Debugging Monitor (MSVSMON.EXE) cannot be used to debug 64-bit processes or 64-bit dumps. Please use the 64-bit version instead.
Certainly, you can not connect 2010 remote debugger with 2012
Unable to connect to the Microsoft Visual Studio Remote Debugging Monitor named 'CHATHAM\rwang@CRM'. The Microsoft Visual Studio Remote Debugging Monitor (MSVSMON.EXE) does not appear to be running on the remote computer. This may be because a firewall is preventing communication to the remote computer. Please see Help for assistance on configuring remote debugging.
1. Remote tools for Remote Tools for Visual Studio 2012 Update 2
http://www.microsoft.com/en-my/download/details.aspx?id=38184
2. Run and Get Tcp/ip port number
3. Copy plugin pdb file into CRM box folder:
C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly
4. In VS2012, Debug -> attach, put mahine_name@port_number in the qualifier box
5. Then attach to w3p process.
How to solve “Action failed for: Assembly must be registered in isolation” when try to register a plugin into CRM?
The user account must exist in the Deployment Administrators group of Deployment Manager.
The Whole error message:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Action failed for assembly 'SamplePlugins, Version=0.0.0.0, Culture=neutral, PublicKeyToken=829f574d80e89132': Assembly must be registered in isolation.
Refenrence:
http://blogs.msdn.com/b/crminthefield/archive/2011/08/17/error-message-assembly-must-be-registered-in-isolation-when-registering-plugins-in-microsoft-dynamics-crm-2011.aspx
The Whole error message:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Action failed for assembly 'SamplePlugins, Version=0.0.0.0, Culture=neutral, PublicKeyToken=829f574d80e89132': Assembly must be registered in isolation.
Refenrence:
http://blogs.msdn.com/b/crminthefield/archive/2011/08/17/error-message-assembly-must-be-registered-in-isolation-when-registering-plugins-in-microsoft-dynamics-crm-2011.aspx
Monday, September 9, 2013
Why should not use eval in Javascript
- Open up code for injection attack
- Hard to deubg
Code example:
<script>
eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
</script>
Reference:
http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea
- Hard to deubg
Code example:
<script>
eval("x=10;y=20;document.write(x*y)");
document.write("<br>" + eval("2+2"));
document.write("<br>" + eval(x+17));
</script>
Reference:
http://stackoverflow.com/questions/86513/why-is-using-the-javascript-eval-function-a-bad-idea
How to create a Plugin to Microsoft CRM?
1. Download and install CRM SDK
http://www.microsoft.com/en-us/download/details.aspx?id=24004
2. Open Visual Studio and create new CRM plugin project
3. Set up Signing property for this project
4. Run pluginregistration Utility in the folder of "\sdk\bin"
5. In CRM, goto Setting->Customization->Plugin, will see the new plugin
Wednesday, September 4, 2013
Subscribe to:
Posts (Atom)