gpt4 book ai didi

dynamics-crm - 如何在 Dynamics 365 9.0 的 Ribbon 命令中获取 formContext

转载 作者:行者123 更新时间:2023-12-03 23:42:34 25 4
gpt4 key购买 nike

在 Dynamics 365 9.0 中,关于如何访问表单属性和控件有相当大的变化 - 而不是 Xrm.Page命名空间,我们应该通过 executionContext到一个函数并得到 formContext使用 getFormContext()功能。这工作正常,我使用这种方法从来没有问题。

但是我还没有弄清楚如何正确访问 formContext在从功能区调用的函数中。文档说这应该非常简单:

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/customize-dev/pass-dynamics-365-data-page-parameter-ribbon-actions

function myFunction(executionContext) {
var formContext = executionContext.getFormContext();
var focusFieldValue = formContext.ui.controls.get(PrimaryControlId).getAttribute().getValue();
}

但它没有说如何通过 executionContext到功能区功能。在普通函数中有一个复选框“将执行上下文作为第一个参数传递”但是功能区函数呢?我们可以将参数传递给这些函数,但它们只是所选记录的 GUID,或所选记录的类型,甚至是对象列表,但我在文档中找不到,如果参数等于 executionContext .有没有人已经解决了这个问题?

我也知道我可以使用 Xrm.Page 并且它会工作(至少现在......)但我想知道,如何使用版本 9.0 中的最新指南来完成它

更新 1:

根据 Scott 的建议和 this article我将 PrimaryControl 传递给了 Ribbon 命令,但不幸的是,参数的类型是 Mscrm.FormControlLite它没有 getAttribute函数或任何允许访问 formContext 的函数(至少我没有看到任何有用的东西)。开发者工具的一些截图:
enter image description here

所以它看起来像是某种形式的表示形式,但可能与 formContext 无关(我假设如果从记录列表中调用功能区,则该项目可以是网格类型或类似的类型)

最佳答案

根据 https://docs.microsoft.com/en-us/dynamics365/get-started/whats-new/customer-engagement/important-changes-coming#some-client-apis-are-deprecated您将其作为 PrimaryControl 参数传递。

enter image description here

因此,如果您将 PrimaryControl 作为第二个参数传递给这样的命令函数,您可以使用

arguments[1].getAttribute(…)

关于dynamics-crm - 如何在 Dynamics 365 9.0 的 Ribbon 命令中获取 formContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48202316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com