积极答复者
一个小问题

问题
答案
-
创建一个 IFRAME,然后写类似下面的js代码放到onload里面
if(crmForm.FormType !='1' && crmForm.FormType !='5')
{
var sArea = "主要实体构架名称_相关实体构架名称s";
var sBaseUrl = "http://"+document.location.host+"/userdefined/areas.aspx?"; //如果是系统实体这里地址要修改
var html = sBaseUrl;
html += "oId=" + crmForm.ObjectId;
html += "&oType=" + crmForm.ObjectTypeCode;
html += "&security=" +crmFormSubmit.crmFormSubmitSecurity.value;
html += "&tabSet=" + sArea;
crmForm.all.IFRAME_XXXX.src=html
}
else
{
crmForm.all.IFRAME_XXXX.style.visibility = 'hidden';
}
类似的方法:
http://microsoftcrm3.blogspot.com/2008/06/show-associated-activities-in-iframe.html
Batistuta Cai-刀客 | 蔡敏生 | MS CRM MVP | Blog:http://caims.cnblogs.com- 已标记为答案 一千零一夜 2009年5月13日 12:35
-
我在你的另一个帖子里回复了:
Hi,
我最近有2篇关于IFrame的文章,可以参考:
CRM 4.0 IFrame: Show Advanced Find Result View
CRM 4.0 IFrame: Show Entity's Associated View
就你的问题回答:
navActivities 是 Activity
navActivityHistory 是 History
用这段代码:var navId = "navActivities"; if(document.getElementById(navId) != null) { var tmp = document.getElementById(navId).onclick.toString(); tmp = tmp.substring(tmp.indexOf("'")+1, tmp.indexOf(";")); var loadArea = tmp.substring(0, tmp.indexOf("'")); var roleOrd = (tmp.indexOf("roleOrd") == -1) ? -1 : tmp.substring( tmp.indexOf("roleOrd"), tmp.lastIndexOf("'")).replace("\\x3d", "="); crmForm.all.IFRAME_view.src = (roleOrd == -1) ? GetFrameSrc(loadArea) : GetFrameSrc(loadArea) + "&" + roleOrd; } function GetFrameSrc(tabSet) { if (crmForm.ObjectId != null) { var id = crmForm.ObjectId; var type = crmForm.ObjectTypeCode; var security = crmFormSubmit.crmFormSubmitSecurity.value; var pathname = document.location.pathname; var patharea = pathname.substring(0, pathname.indexOf("edit.aspx")) + "areas.aspx?"; return (patharea + "oId=" + id + "&oType=" + type + "&security=" + security + "&tabSet=" + tabSet); } else { return "about:blank"; } }
Cheers,
Jim
Jim Wang - MVP Dynamics CRM - http://jianwang.blogspot.com , http://mscrm.cn- 已标记为答案 一千零一夜 2009年5月13日 12:35
全部回复
-
创建一个 IFRAME,然后写类似下面的js代码放到onload里面
if(crmForm.FormType !='1' && crmForm.FormType !='5')
{
var sArea = "主要实体构架名称_相关实体构架名称s";
var sBaseUrl = "http://"+document.location.host+"/userdefined/areas.aspx?"; //如果是系统实体这里地址要修改
var html = sBaseUrl;
html += "oId=" + crmForm.ObjectId;
html += "&oType=" + crmForm.ObjectTypeCode;
html += "&security=" +crmFormSubmit.crmFormSubmitSecurity.value;
html += "&tabSet=" + sArea;
crmForm.all.IFRAME_XXXX.src=html
}
else
{
crmForm.all.IFRAME_XXXX.style.visibility = 'hidden';
}
类似的方法:
http://microsoftcrm3.blogspot.com/2008/06/show-associated-activities-in-iframe.html
Batistuta Cai-刀客 | 蔡敏生 | MS CRM MVP | Blog:http://caims.cnblogs.com- 已标记为答案 一千零一夜 2009年5月13日 12:35
-
版主,我对这个还是一点不理解。能方便加您一个即时聊天方式吗?例如MSN,QQ。我的是liwei.qie@live.cn 5906977
当我弄懂之后,我会把我自己对这个问题的解决方法和建议写在这里供大家分享。 -
function GetFrameSource(tabSet)
{
if (crmForm.ObjectId != null)
{
var oId = crmForm.ObjectId;
var oType = crmForm.ObjectTypeCode;
var security = crmFormSubmit.crmFormSubmitSecurity.value;
return "areas.aspx?oId=" + oId + "&oType=" + oType + "&security=" + security + "&tabSet=" + tabSet;
}
else
{
return "about:blank";
}
}
crmForm.all.IFRAME_HistoryFrame.src = GetFrameSource("areaActivityHistory");
我测试了一个这样的代码,是显示activities history的。因为history里面是显示之前历史的activity,而activities里面是显示未来将来activity。
但是我现在想把这段代码改成显示activities显示未来的。
请朋友看一下这段代码,怎么修改。 -
function getParameter(param) {
var query=window.parent.location.href ;
var value;
var iLen = param.length;
var iStart = query.indexOf(param);
if (iStart == -1)
return "";
iStart += iLen + 1;
var iEnd = query.indexOf("&", iStart);
if (iEnd == -1)
return query.substring(iStart);
return query.substring(iStart, iEnd);
}
var value = getParameter('id').substring(1,37);
//alert(value);
var url1="http://172.29.129.182/FounderCRM/sfa/accts/areas.aspx?oId=%7b";
var url2="%7d&oType=1&security=852023&tabSet=areaContacts";
var url3=url1.concat(value);
var url=url3.concat(url2);
//alert(url);
if(value=="")
{
crmForm.all.IFRAME_contact.src="";
//document.getElementById(IFRAME_contact).style.display='none';
}
else
{
crmForm.all.IFRAME_contact.src=url;
}
刀客,这是我写法,和你实现的功能一样,当时我发现很别扭,我本来只想在客户里看到联系人的列表,但是用这中做法现在不仅能看到列表,还看到了联系人列表上面那点按钮,怎么样做到只看到列表,类似gridview????
梅小虎 -
我在你的另一个帖子里回复了:
Hi,
我最近有2篇关于IFrame的文章,可以参考:
CRM 4.0 IFrame: Show Advanced Find Result View
CRM 4.0 IFrame: Show Entity's Associated View
就你的问题回答:
navActivities 是 Activity
navActivityHistory 是 History
用这段代码:var navId = "navActivities"; if(document.getElementById(navId) != null) { var tmp = document.getElementById(navId).onclick.toString(); tmp = tmp.substring(tmp.indexOf("'")+1, tmp.indexOf(";")); var loadArea = tmp.substring(0, tmp.indexOf("'")); var roleOrd = (tmp.indexOf("roleOrd") == -1) ? -1 : tmp.substring( tmp.indexOf("roleOrd"), tmp.lastIndexOf("'")).replace("\\x3d", "="); crmForm.all.IFRAME_view.src = (roleOrd == -1) ? GetFrameSrc(loadArea) : GetFrameSrc(loadArea) + "&" + roleOrd; } function GetFrameSrc(tabSet) { if (crmForm.ObjectId != null) { var id = crmForm.ObjectId; var type = crmForm.ObjectTypeCode; var security = crmFormSubmit.crmFormSubmitSecurity.value; var pathname = document.location.pathname; var patharea = pathname.substring(0, pathname.indexOf("edit.aspx")) + "areas.aspx?"; return (patharea + "oId=" + id + "&oType=" + type + "&security=" + security + "&tabSet=" + tabSet); } else { return "about:blank"; } }
Cheers,
Jim
Jim Wang - MVP Dynamics CRM - http://jianwang.blogspot.com , http://mscrm.cn- 已标记为答案 一千零一夜 2009年5月13日 12:35
-
Jim Wang 您好,
这个显示未来activities的问题解决了,我想知道我的原始问题怎么解决?就是想把contacts里面的所有东西调用到这个新的tab下面。
因为刀客的代码里面,这两句我不明白。主要实体构架名称_相关实体构架名称是指什么?我在哪里可以查到。还有系统实体的地址要在哪里查看?
应为我不知道在我CRM里面这些怎么替换。
var sArea = "主要实体构架名称_相关实体构架名称s";
var sBaseUrl = "http://"+document.location.host+"/userdefined/areas.aspx?"; //如果是系统实体这里地址要修改