我需要在单击实体上的功能区按钮时执行一些代码,该实体更新来自 CRM Online 2011 的一些相关数据。我不想在 JScript 中编写所有这些逻辑。有没有办法从 JScript 调用 C# 代码?我从功能区查看了 Microsoft 正在使用的 JScript 文件,它看起来像这样:
Mscrm.Campaign.copyCampaign = function (campaignId, saveAsTemplate) {
var $v_0 = new RemoteCommand("MarketingAutomation", "CopyCampaign", null);
$v_0.SetParameter("campaignId", campaignId);
$v_0.SetParameter("saveAsTemplate", saveAsTemplate.toString());
var $v_1 = $v_0.Execute(),
$v_2 = $v_1.ReturnValue;
openObj(Mscrm.EntityTypeCode.Campaign, $v_2, null, null, Mscrm.NavigationMode.NavigationModeInline, null);
Mscrm.Utilities.refreshParentGrid(Mscrm.EntityTypeCode.Campaign, campaignId)
};
我看到正在放置一个 RemoteCommand 调用,我认为它正在返回到某个 Web 服务功能。我希望做这样的事情。我可以添加自己的 Web 服务功能吗?
我能够从 JScript 进行调用,为实体发送“分配”消息,就像测试一样。这可能与插件一起使用,但是为实际上并未发生的执行事件发送消息似乎很奇怪,只是为了运行一些 C# 代码(“分配”、“更新”等),而我没有看不到创建自己的消息的方法。