首页 > 解决方案 > 通过 Ribbon Workbench 自定义按钮将 CRM 参数传递给 Javascript 函数以获取属性值

问题描述

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

话虽如此,我创建了以下功能区工作台按钮配置:

在此处输入图像描述

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

我写了由按钮触发的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]是获取它的正确方法。但是,尝试alert("selectedItem: " + selectedItem.Id);在控制台中显示 id 时,我在警报中收到以下错误:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

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

在此处输入图像描述

标签: javascriptdynamics-crmdynamics-365crm-ribbon-workbench

解决方案


第一个参数是使用PrimaryControlRibbon 命令中的 CRM 参数接收执行上下文。

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

选择一条记录,代码将起作用。

学到更多


推荐阅读