通过 JavaScript 从主网格视图上的功能区按钮更新 CRM 2011 中的字段

Updating field in CRM 2011 through javascript from ribbon button on homegrid view

本文关键字:更新 按钮 CRM 2011 字段 功能区 通过 网格 视图 JavaScript      更新时间:2023-09-26

我正在尝试在潜在客户的初始列表或家庭网格视图上创建一个按钮,该按钮每次为选定的潜在客户将特定字段的值设置为相同的值。 有人知道我如何通过javascript做到这一点吗?

谢谢!

要以 James 的答案为基础,您可以使用CrmParameter SelectedControlSelectedItemIds获取在主页网格中选择的所有潜在客户的列表。MSDN 论坛上有一个答案,解释了如何执行此操作,复制如下。您可以在 Xml 源或我知道的两个 CRM 功能区编辑器中执行此操作。

之后,您需要使用其中一个 CRM Web 服务的 Update 方法来循环遍历Guid数组并相应地更新每个实体/数据库行。我之前提到过埃维诺出色的 Web 资源,MSDN 也有一些关于此的附加文档。

  • 演练:将 Web 资源的 SOAP 终结点与 JScript 结合使用
  • 示例:使用 REST 终结点和 JavaScript 创建、检索、更新和删除
<CommandDefinition Id="Account.Form.CustomGroup.Button.A.Command">
  <Actions>
    <JavaScriptFunction Library="$webresource:AccountFormLibrar"
                        FunctionName="CreateNewAccount">
      <CrmParameter Value="SelectedControlSelectedItemIds"/>
    </JavaScriptFunction>
  </Actions>
</CommandDefinition>
function CreateNewAccount (prmRecordGUID) {
    //prmRecordGUID will recieve all GUIDS in comma seperated i.e. GUID1,GUID2,GUID3
}

是的,这应该非常简单 - 我认为您在评论中所说的不会起作用 - 您尝试使用的函数仅在记录形式打开时才有效,例如它不会从网格视图中工作。

您必须按照此处的 MSDN 中所述使用 Web 服务调用:http://msdn.microsoft.com/en-us/library/hh771584#BKMK_DataAccessUsingJavaScript

此外,如果您正在自定义功能区(添加按钮),您会发现使用此工具会容易得多:http://www.develop1.net/public/page/Ribbon-Workbench-for-Dynamics-CRM-2011.aspx