【问题标题】:Dynamics Web Resource opening a dynamic window动态 Web 资源打开动态窗口
【发布时间】:2018-12-13 18:45:00
【问题描述】:

我是 Dynamics Web Resources 的新手,在我们的 Web 开发人员的帮助下,我编写了 1 以在 iFrame 中显示 DOMO 报告。现在,我想解决在联系人记录上放置一个链接的问题,该链接将弹出一个新窗口并允许用户填写我们的第三方应用程序构建器构建的自定义表单。如果我知道需要对其执行操作的用户 ID 和联系人 ID,则可以访问此表单。

通常,用户会在联系表单上单击 iframe 内的链接,这个新窗口会弹出一个 Web 表单,他们可以创建我们所说的销售机会。点击此链接并填写表格时,表格可以完成多项功能。 1. 创建电话记录。 2. 创造销售机会。 3. 更新联系人。

我希望链接位于文本 URL 字段中,以便可以从实体视图中单击它。当窗口弹出时,它会弹出表单中已经存在的用户 ID 和联系人 ID,然后用户可以快速记录机会和电话的详细信息。

我从我们的合作伙伴开发的另一个网络资源中获取了代码,并尝试对其进行编辑以适应我的需要,但显然它不起作用(只是一个空白页面)。

是否可以在记录的 URL 字段中填充 Web 资源的 URL,然后让该 URL 弹出带有用户和预先填充的联系人的自定义表单?

这是我当前的代码(不起作用): `

<title>Activity</title>


<script src="../../../../ClientGlobalContext.js.aspx" type="text/javascript"></script>
<script src="../../../scripts/jquery.min.js" type="text/javascript"></script>
<script src="../../../scripts/crmhelper.js" type="text/javascript"></script>
<script type="text/javascript">

    $(document).ready(function () {
        var id = window.top.opener.Xrm.Page.data.entity.getId();
        Crm.retrieveRecord(id, "ContactSet", successCallback);
    });

    function successCallback(data, status, request) {
        var cId = window.top.opener.Xrm.Page.data.entity.getId();
        var user = window.top.opener.Xrm.Page.context.getUserId();
        var org = Crm.getServerOnlineOrganization();
        var cId2 = = cId.replace(/{|}/g, '');
        var url = "https://mycrmurl.com/mscrm/ticketing/Activity/PhoneCallSave.aspx?cId=" + cId2 + "&id=" + cId + "&orgname=" + org + "&userid=" + user + "&token=XYX4RXWf";

        $('#iframe1').attr('src', url);
    }

</script>
<style type="text/css">
    html, body {
        overflow: hidden;
        margin: 0px;
        padding: 0px;
        width: 100%;
        height: 100%;
    }

    iframe {
        width: 100%;
        height: 100%;
        border: 0px;
    }
</style>
<iframe id="iframe1" frameborder="0" noresize="noresize"></iframe>

`

【问题讨论】:

    标签: dynamics-crm webresource


    【解决方案1】:

    您最好修改实体上的功能区以包含一个新按钮。这个按钮可以给web资源传递参数

    这实现了以下目标:

    • 不再需要包含 Web 资源 URL 的 CRM 字段
    • 简化您的 webresource javascript(即删除对 window.top.opener 的依赖)
    • 更好的支持/标准定制

    要配置您的功能区,请下载 XrmToolbox 并使用 Ribbon Workbench 插件

    1. 向功能区添加新的Button
    2. 为按钮配置Command
    3. 向命令添加参数。一个是PrimaryControl,另一个是CommandProperties

    然后在您的网络资源中,您应该会看到查询字符串已附加了一些新属性。这些可以用来获取 UserId 和 RecordId

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      相关资源
      最近更新 更多