我对Dynamics Web资源还很陌生,在我们的Web开发人员的帮助下,我编写了1,以在iFrame中显示DOMO报告。现在,我想解决在联系人记录上放置链接的问题,该链接将弹出一个新窗口,并允许用户填写我们的第三方应用程序构建器已构建的自定义表单。如果我知道需要对其执行操作的用户ID和联系人ID,则可以访问此表单。
通常,用户将单击联系表单上iframe内的链接,此新窗口将弹出一个网络表单,他们可以创建我们称为“销售机会”的内容。单击此链接并填写表格时,表格可以完成多项功能。 1.创建电话记录。 2.创建销售机会。 3.更新联系人。
我希望链接位于文本URL字段中,以便可以从实体视图中单击它。弹出窗口时,窗口中将弹出用户ID和联系人ID,然后用户可以快速记录机会和电话的详细信息。
我从合作伙伴开发的另一个Web资源中获取了代码,并尝试对其进行编辑以适合我的需求,但是显然它没有用(只是空白页)。
是否可以在记录的“ 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>
`
答案 0 :(得分:0)
您最好将实体上的功能区修改为包括一个新按钮。该按钮可以将参数传递到Web资源
这可以达到以下目的:
window.top.opener
的依赖性)要配置功能区,请下载XrmToolbox并使用Ribbon Workbench
插件
Button
Command
PrimaryControl
,另一个是CommandProperties
然后在您的网络资源中,您应该看到查询字符串已经附加了一些新属性。这些可以用来获取UserId和RecordId