通过Ribbon Workbench自定义按钮将CRM参数传递给Javascript函数以获取属性值

我在Ribbon Workbench中创建了一个名为";Send Email&Quot;(简称)的自定义按钮,其中将出现以下情况:创建电子邮件记录--&>;通过服务插入电子邮件模板--&>以模式为用户打开。

话虽如此,我已经创建了以下Ribbon Workbench按钮配置:

如您所见,如果我没有弄错,我已经添加了传递执行上下文的参数和应该传递Form对象的参数。

我已经编写了由按钮触发的javascript。javascript启动并运行,但在尝试获取记录id时失败。以下是我的javascript片段:

function ltCreateIAafterPurchaseTemplate(executionContext, item){
    alert("AFTER PURCHASE");
    
    var formContext = executionContext;
    var emailTemplateToLoad = "f22cb309-1fd9-eb11-bacb-000d3a361c51";
    var selectedItem = item[0];
    alert("selectedItem: " + selectedItem.Id);

}

上述item参数与我需要的对象数据一起传递,据我所知,语句var selectedItem = item[0]是获取它的正确方式。但是,当我尝试在控制台中显示IDalert("selectedItem: " + selectedItem.Id);时,在警报中收到以下错误:

将鼠标悬停在传入的参数上后,长度为0表示其为空:


解决方案

第一个参数是使用功能区命令中的PrimaryControlCRM参数接收执行上下文。

当您在网格视图中选择一个或多个记录时,第二个参数SelectedControlSelectedItemReferences将接收预期的项目数组。否则,它将像您的情况一样为空。

选择一条记录,代码即可工作。

Learn more

相关文章