MSCRM模拟lookup效果的操作手册.docx
- 文档编号:26448447
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:35
- 大小:589.92KB
MSCRM模拟lookup效果的操作手册.docx
《MSCRM模拟lookup效果的操作手册.docx》由会员分享,可在线阅读,更多相关《MSCRM模拟lookup效果的操作手册.docx(35页珍藏版)》请在冰豆网上搜索。
MSCRM模拟lookup效果的操作手册
合同定单new_salesorderid,合同定单产品new_templookup2(要实现lookup效果的字段)
合同定单产品名称new_salesorderdetailid,合同定单产品new_salesorderdetailname这两个字段为实现lookup效果字段所要取数据所在的实体的id和名称,默认不可见
上图中[合同定单产品]实现模拟lookup的效果。
以下以此为例解说。
1、在实体上创建一个要实现lookup效果的单行文本类型的字段【合同定单产品】new_templookup2以及字段【合同定单产品名称】new_salesorderdetailid,【合同定单产品】new_salesorderdetailname
2、在js的Form_onload方法中注册该字段的onclick事件。
document.getElementById("new_templookup2").onclick=New_Hetddcp_Click;
3、在js中创建functionNew_Hetddcp_Click,点击触发该方法,到请求isv页面生成相应数据并显示,接着设置lookup的返回值。
红色框中的是要根据情况替换掉的字段。
4、在js中创建functionsetSingleLookupValue,设置lookup的返回值,此function不需要改动。
5、创建functionsimulateSalesOrderDetail
‘1089’是在请求的isv页面/ISV/SingleLookup.aspx中定义的(isv页面后面会讲)
红色框字段是要替换的。
6、创建functionsimulateLookup,模拟lookup
不需要更改
7、isv页面/ISV/SingleLookup.aspx,查询数据并以窗口显示
7.1、后台页面代码:
调用的functionList_Bind中:
7.2、前台页面代码:
Js代码:
8、后面为例子中所涉及到的相关代码。
Js代码:
///
///
//随机附件
//判断新建的入口,如果是从报价单来的就控制报价单产品可选,合同订单产品不可用,否则反之
functionsetSingleLookupValue(fieldName,guidField,displayField,lookupData,clickEvent){
///
///设置Lookup返回值
///
///
///字段名称
///
///
///ID字段
///
///
///名称字段
///
///
///Lookup的值
///
///
///点击事件
///
///
if(!
IsNull(lookupData)){
fa(displayField).setValue(lookupData[0].name);
fa(guidField).setValue(lookupData[0].id);
//simulatelookup2(fieldName);
simulateSalesOrderDetail(fieldName,lookupData,false);
document.getElementById(fieldName).onclick=clickEvent;
}
}
functionsimulateSalesOrderDetail(fieldName,lookupData,disabled){
returnsimulateLookup(fieldName,lookupData,disabled,'1089','salesorderdetail','合同订单产品');
}
functionsimulateQuoteDetail(fieldName,lookupData,disabled){
returnsimulateLookup(fieldName,lookupData,disabled,'1085','quotedetail','报价单产品');
}
functionsimulateLookup(fieldName,lookupData,disabled,otc,otn,otnDisplay){
///
///模拟Lookup
///
///
///字段名称
///
///
///字段值
///
///
///是否只读
///
///
///实体代码ObjectTypeCode
///
///
///实体名称ObjectTypename
///
///
///实体中文名称ObjectTypename
///
///
varx=window.document.getElementById(fieldName+"_d");
varinnerHtml='';
varonclickEvent=disabled?
'openDisabledLui(newSys.UI.DomEvent(event))':
'openLui(newSys.UI.DomEvent(event))';
varrenderValue='';
if(IsNull(lookupData)){
renderValue='';
}
else{
renderValue=' inline;white-space: nowrap;"> ver=719483763"> } innerHtml=' 100%;table-layout: fixed;"id="'+fieldName+'_lookupTable"class="ms-crm-Lookup"cellSpacing="0"cellPadding="0"lookupid="'+fieldName+'"> 1px;padding-left: 1px;"vAlign="top"> 100%;text-align: left;float: left;overflow-x: hidden;">'+renderValue+' 2px0px1px;height: 100%;border-right-color: currentColor;border-right-width: 0px;border-right-style: none;display: none;"id="'+fieldName+'_ledit"class="ms-crm-Hidden-NoBehavior"disabled=""tabIndex="1030"maxLength="1000"type="text"ime-mode="auto"> 21px;"class="Lookup_RenderButton_td"> default;"id="'+fieldName+'"class="'+(disabled? 'ms-crm-ImageStrip-btn_dis_lookup': 'ms-crm-ImageStrip-btn_off_lookup')+'ms-crm-Lookup"title=""alt=""src="/_imgs/imagestrips/transparent_spacer.gif"attrPriv="7"attrName="'+fieldName+'"req="2"defaultViewId="{ABF9E11D-08A5-4F4D-966B-7335A924E9C7}"savedquerytype=""isDisplayOnly="false"resolveemailaddress="0"showproperty="1"disableViewPicker="0"disableQuickFind="0"disableMru="0"allowFilterOff="0"autoresolve="1"defaulttype="1089"lookupstyle="single"lookupbrowse="0"lookuptypeIcons="/_imgs/ico_16_1089.gif? ver=719483763"lookuptypenames="'+otn+': '+otc+': '+otnDisplay+'"crmattributeid="{a9498a10-846c-4676-bb9f-e061688d5954}"lookuptypes="'+otc+'"lookupdisabled="false"ForceSubmit="false"> x.innerHTML=innerHtml; } functionNew_Hetddcp_Click(){ /// ///合同订单改变时加载相应的合同订单产品 /// varfieldName="new_templookup2"; //if(crmForm.all.new_salesorderid.DataValue==null) if(fv("new_salesorderid")==null){ alert('请先选择合同定单'); } else{ if(location.href.toLowerCase().indexOf(ORG_UNIQUE_NAME+".")>0){ varurl='http: //'+document.location.host+'/ISV/SingleLookup.aspx? entity=salesorder&guid='+fv("new_salesorderid")[0].id+'&userid='+Xrm.Page.context.getUserId(); varrv=openStdDlg(url,"",880,700,false); setSingleLookupValue(fieldName,"new_salesorderdetailid","new_salesorderdetailname",rv,New_Hetddcp_Click); } else{ varurl='/ISV/SingleLookup.aspx? entity=salesorder&guid='+fv("new_salesorderid")[0].id+'&userid='+Xrm.Page.context.getUserId(); varrv=openStdDlg(url,"",880,700,false); setSingleLookupValue(fieldName,"new_salesorderdetailid","new_salesorderdetailname",rv,New_Hetddcp_Click); } } } functionNew_QuoteDetail_Click(){ /// ///报价单改变时加载相应的报价单产品 /// debugger; varfieldName="new_templookup1"; //if(crmForm.all.new_quoteid.DataValue==null) if(fv("new_quoteid")==null){ alert('请先选择报价单'); } else{ if(location.href.toLowerCase().indexOf(ORG_UNIQUE_NAME+".")>0){ varsUrl='http: //'+document.location.host+'/ISV/SingleLookup.aspx? entity=quote&guid='+fv("new_quoteid")[0].id+'&userid='+Xrm.Page.context.getUserId(); varrv=openStdDlg(sUrl,"",880,700,false); setSingleLookupValue(fieldName,"new_quotedetailid","new_quotedetailname",rv,New_QuoteDetail_Click); } else{ varsUrl='/ISV/SingleLookup.aspx? entity=quote&guid='+fv("new_quoteid")[0].id+'&userid='+Xrm.Page.context.getUserId(); varrv=openStdDlg(sUrl,"",880,700,false); setSingleLookupValue(fieldName,"new_quotedetailid","new_quotedetailname",rv,New_QuoteDetail_Click); } } } functionIFRAME_detail_onload(){ } functionReadSalesOrderDetailLookupData(){ /// ///非新建页面加载时将合同订单产品加载上 /// if(IsNull(fv("new_salesorderdetailid"))) returnnull; varlookupData=newArray(); varlookupItem=newObject(); lookupItem.id=fv("new_salesorderdetailid"); lookupItem.typename='salesorderdetail'; lookupItem.name=fv("new_salesorderdetailname"); lookupData[0]=lookupItem; returnlookupData; } functionReadQuoteDetailLookupData(){ /// ///非新建页面加载时将报价单产品加载上 /// if(IsNull(fv("new_quotedetailid"))) returnnull; varlookupData=newArray(); varlookupItem=newObject(); lookupItem.id=fv("new_quotedetailid"); lookupItem.typename='quotedetail'; lookupItem.name=fv("new_quotedetailname"); lookupData[0]=lookupItem; returnlookupData; } functionForm_onload(){ /// ///根据报价单或合同订单,加载对应的产品信息 /// //debugger; //设置报价单产品和id,合同订单产品和id不可见 fc("new_quotedetailid").setVisible(false); fc("new_quotedetailname").setVisible(false); //fc("new_salesorderdetailid").setVisible(false); //fc("new_salesorderdetailname").setVisible(false); if(fv("new_quoteid")! =null){ //crmForm.all.new_salesorderid.Disabled=true; //crmForm.all.new_templookup2.Disabled=true; fc("new_salesorderid").setDisabled(true); fc("new_templookup2").setDisabled(true); } if(fv("new_salesorderid")! =null){ //crmForm.all.new_quoteid.Disabled=true; //crmForm.all.new_templookup1.Disabled=true; fc("new_quoteid").setDisabled=true; fc("new_templookup1").setDisabled=true; } //只读或作废状态下不可编辑 if(Xrm.Page.ui.getFormType()==3||Xrm.Page.ui.getFormType()==4){ simulateSalesOrderDetail("new_templookup2",ReadSalesOrderDetailLookupData(),true); simulateQuoteDetail("new_templookup1",ReadQuoteDetailLookupData(),true); }else{ simulateSalesOrderDetail("new_templookup2",ReadSalesOrderDetailLookupData(),false); simulateQuoteDetail("new_templookup1",ReadQuoteDetailLookupData(),false); } document.getElementById("new_templookup1").onclick=New_QuoteDetail_Click;// document.getElementById("new_templookup2").onclick=New_Hetddcp_Click; //新建状态下隐藏随机附件明细 if(Xrm.Page.ui.getFormType()=='1'||Xrm.Page.ui.getFormType()=='6'){ //crmForm.all.IFRAME_detail.style.display='none'; fc("test").setVisible(false); } } functionForm_onsave(){ /// ';
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MSCRM 模拟 lookup 效果 操作手册