I need to have some code execute on the click of the ribbon button on an entity that updates some related data from CRM Online 2011. I would prefer not to have to write all
There is another way, insert a two options in the form, when you click custom button which you created in the ribbon make the two options value true then run the save method of the form, in the plugin which you created for the entity check if the two options value is true then run your codes, after that make the two options value to false again. also in the form you can make the two options invisible.
I guess this is what you are looking for http://geekswithblogs.net/Nilesh/archive/2011/08/25/call-c-code-inside-silverlight-application-on-click-of-custom.aspx
ok, writing lots of JavaScript logic is a messy think, but creating js code that triggers the “real” logic via a create operation (more or less a command-pattern) will also result in a complex solution.
Depending on the level of complexity and the requirements (e.g. executing an operation on behave of another user is not possible in js) I would always prefer a pure js approach. To reduce the complexity try a library that provideds you with the core functionally:
CrmRestKit
XrmServiceToolkit
Have fun
Daniel
You can't add your own web services or create your own custom plugin messages in 2011. The best way we've found of doing this is to:
While just randomly passing in an Assign message or something might work, it's probably unsupported in Microsoft's eyes, and it would be hard as hell to debug if someone else ever had to look at this system.
I'm late for the party here, but just to simplify things for people looking at this topic for the newest version of CRM (because it's tagged as crm online): Currently there is something which is called "Action" that can be created the same way as Workflow or Business Process Flow. You can specify input and output parameters for that Action. Main advantages:
you can register a plugin for that action, so instead of running jScript logic you can run some c# logic
you can call this action using webAPI
As for CRM 2011 although it's already quite outdated - better approach than suggested in the accepted action is to run your logic on post RetrieveMutliple of your custom entity, so that you will avoid creation/deletion of some magic records (and users will only have to have Read privilege for them, not create or update).