Call C# Code from Ribbon JScript CRM Online 2011

前端 未结 5 1815
醉梦人生
醉梦人生 2020-12-05 21:14

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

相关标签:
5条回答
  • 2020-12-05 21:25

    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.

    0 讨论(0)
  • 2020-12-05 21:25

    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

    0 讨论(0)
  • 2020-12-05 21:27

    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

    0 讨论(0)
  • 2020-12-05 21:28

    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:

    1. Set up a entity that exists exclusively to run custom code on the server.
    2. Give it attributes called message name and another property to pass in parameters in whatever format you choose (XML, JSON, etc.)
    3. From your JavaScript, create an instance of that entity passing in the correct parameters.
    4. Have a plugin attached to the Create message of that entity, and then it reads in the parameters and executes whatever custom code you'd like.

    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.

    0 讨论(0)
  • 2020-12-05 21:40

    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).

    0 讨论(0)
提交回复
热议问题