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

Passing CRM Parameters though Ribbon Workbench Custom Button to Javascript Functions to Get Attribute Values

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

话虽如此,我创建了以下功能区 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]是正确的获取方式。但是,当我尝试在控制台中显示 id alert("selectedItem: " + selectedItem.Id); 时,我在警报中收到以下错误:

将鼠标悬停在传入的参数上后,它的长度为 0,说明它是空的:

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

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

Select 一条记录,代码即可。

Learn more