CRM内部使用手册V10.docx
- 文档编号:10780349
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:54
- 大小:278.33KB
CRM内部使用手册V10.docx
《CRM内部使用手册V10.docx》由会员分享,可在线阅读,更多相关《CRM内部使用手册V10.docx(54页珍藏版)》请在冰点文库上搜索。
CRM内部使用手册V10
CRM2011系统V1.0
使用手册
目录
第一章客户端常用函数(rt_common.js)1
1.1概述1
1.2脚本文件rt_common.js1
1.2.1rt_refresh1
1.2.2rt_getResponse1
1.2.3rt_getJSON2
1.2.4rt_retrieveRecord2
1.2.5rt_retrieveRecords2
1.2.6rt_disable_all3
1.2.7rt_forceSubmit3
1.2.8rt_getRibbonStatusByApprovalstatus4
1.2.9rt_doButtonMethod4
1.2.10rt_setCustomerLookup5
1.2.11rt_setLookup6
1.2.12rt_entityReferenceToLookup6
1.2.13rt_clear_data6
1.2.14rt_flowDisabled7
1.2.15rt_getParentFormStatusValue7
1.3脚本文件rt_lookup.js8
1.3.1rt_lookup8
1.3.2rt_lookupDepart8
1.3.3rt_lookupCustomerEntity8
第二章服务器端基础类(mon.dll)9
2.1常用数据库操作类9
2.1.1Config类9
2.1.2DataBase类和IDataBase接口10
2.1.3DataBaseManager类12
2.1.4PersisitBroker类13
2.2Crm常用帮助类13
2.2.1CrmCommand类13
2.2.4UserData类14
2.2.5Logging类15
2.3IFlowAction接口17
2.4实体拷贝19
第三章Plugin公用类说明21
3.1概述21
3.2公用类说明21
3.2.1Cast类21
3.2.2Exp类21
3.2.3EntityQuery类22
3.2.4EntityManager类22
3.2.5PluginUtils类23
第四章系统基础实体的使用24
4.1签核流程配置24
4.2重复性记录检测27
4.3自动编号28
4.4系统参数29
第五章Excel导入配置30
5.1概述30
5.2操作步骤30
第一章客户端常用函数(rt_common.js)
1.1概述
1.本章讲述客户端常用的函数,这些函数是瑞泰开发者为方便高效开发而封装的一些通用的工具。
1.2脚本文件rt_common.js
1.2.1rt_refresh
定义:
functionrt_refresh(){…}
参数:
用途:
刷新当前CRM页面
操作步骤:
1.示例代码如下:
rt_refresh();
1.2.2rt_getResponse
定义:
functionrt_getResponse(serverUrl){…}
参数:
serverUrl:
ajax同步调用的服务端Url
用途:
同步调用服务端并获取返回值
操作步骤:
1.在客户端调用该函数:
varserverUrl=window.location.protocol+"//"+
window.location.host+"/"+window.Xrm.Page.context.getOrgUniqueName();
varreturnStr=getResponse(serverUrl);
1.2.3rt_getJSON
定义:
functionrt_getJSON(serverUrl){…}
参数:
serverUrl:
ajax同步调用的服务端Url
用途:
同步调用服务端,获取返回值JSON
操作步骤:
1.在客户端调用该函数:
varserverUrl=window.location.protocol+"//"+
window.location.host+"/"+window.Xrm.Page.context.getOrgUniqueName();
varreturnStr=getResponse(serverUrl);
1.2.4rt_retrieveRecord
定义:
functionrt_retrieveRecord(id,odataSetName){…}
参数:
id:
实体主键值
odataSetName:
实体名称+’Set’
用途:
通过OData的方式读取数据(同步)
操作步骤:
1.在客户端调用该函数,示例代码如下:
varobj=rt_retrieveRecord(Xrm.Page.data.entity.getId(),’AccountSet’);
If(obj!
=null)
{
Xrm.Page.data.entity.attributes.get(“new_name”).setValue(obj.Name);
}
1.2.5rt_retrieveRecords
定义:
functionrt_retrieveRecords(filter,odataSetName){…}
参数:
filter:
过滤条件(指定为在集合中返回记录计算结果必须为true的表达式或函数)
odataSetName:
实体名称+Set
用途:
通过OData的方式读取多条数据(同步)
操作步骤:
1.示例代码如下:
Varwlbu=rt_retrieveRecords("new_child_buid/Ideq(guid'"+Xrm.Page.getAttribute("new_return_buid").getValue()[0].id+"')andnew_type/Valueeq5","new_bu_relationshipSet");
if(wlbu!
=null&&wlbu.results!
=null&&wlbu.results.length>0)
{rt_setLookup("new_ls_buid",rt_entityReferenceToLookup(wlbu.results[0].new_main_buid),false);}else{rt_setLookup("new_ls_buid",rt_entityReferenceToLookup(order.new_CreateOrg),false);
}
1.2.6rt_disable_all
定义:
functionrt_disable_all(){…}
参数:
用途:
禁用页面上的所有控件(iframe,subgrid子网格除外)
操作步骤:
1.在客户端调用该函数:
if(Xrm.Page.data.entity.attributes.get("new_approvalstatus").getValue()!
=1)
{
rt_disable_all();
}
1.2.7rt_forceSubmit
定义:
functionrt_forceSubmit(){…}
参数:
用途:
CRM表单数据中禁用的表单字段的值不会被post到服务器导致在表单更新的时候不能更新被禁用的字段的值,该方法可以强制表单所有字段被提交,包括被禁用的字段。
操作步骤:
1.直接在客户端调用该函数,如:
rt_forceSubmit();
1.2.8rt_getRibbonStatusByApprovalstatus
定义:
functionrt_getRibbonStatusByApprovalstatus{…}
参数:
用途:
根据new_approvalstatus设置Ribbon的状态,主要在配置Ribbon的时候使用
操作步骤:
1.打开实体的customizations.xml文件,找到配置节
new_rt_common.js"Default="true"> 1.2.9rt_doButtonMethod 定义: functionrt_doButtonMethod(actiontype){…} 参数: actiontype: 要执行的自定义的动作名 用途: Ribbon自定义按钮的统一调用函数,主要在配置Ribbon的时候使用 操作步骤: 1.打开实体的customizations.xml文件,找到配置节 new_rt_common.js"> 1.2.10rt_setCustomerLookup 定义: functionrt_setCustomerLookup(lookup,customerfunction){…} 参数: lookup: lookup控件的名称 customerfunction: 待执行的自定义函数 用途: 设置自定义Lookup查找功能 操作步骤: 1.示例代码如下: rt_setCustomerLookup("new_orderid", salesOrderLookup); function salesOrderLookup() { var where = ""; where = where + " and new_status=9 "; var ret = window.showModalDialog('../RekTecWeb/common/SalesOrderLookupSingle.aspx? where=' + where, window, 'dialogWidth: 600px;dialogHeight: 540px;'); var obj; if (ret == "") { obj = null; return false; } else { obj = eval(ret); if (obj ! = null) { rt_setLookup("new_orderid", obj, false); var order = rt_getFieldValue(obj[0].id, "new_om_SalesOrder"); if (order ! = null) { setSalesOrderRelateField(order); return true; } } } } 1.2.11rt_setLookup 定义: functionrt_setLookup(lookup,value,disabled){…} 参数: lookup: lookup控件的名称 value: 值 disabled: 状态 用途: 设定自定义Lookup值和状态 操作步骤: 1.参考1.2.5的示例代码 1.2.12rt_entityReferenceToLookup 定义: functionrt_entityReferenceToLookup(value){…} 参数: value: 值 用途: 将EntityReference的json对象转成Lookup 操作步骤: 1.参考1.2.5的示例代码 1.2.13rt_clear_data 定义: functionrt_clear_data(fields){…} 参数: fields: 需要清除值的表单字段名 用途: 清空表单字段的数据 操作步骤: 1.直接在客户端调用该函数,示例代码如下: rt_clear_data("new_partner,new_account,new_conference,new_assessselectform,new_contracttype,new_announcementdate,new_receivedriskmargin,new_receivedauctiondepositamount"); 1.2.14rt_flowDisabled 定义: functionrt_flowDisabled(){…} 参数: 用途: 在签核流程中判断是表单否包含new_approvalstatus字段来判断是主档还是明细,如果有new_approvalstatus字段则调用rt_flowDisabledField()函数判断签核流程是否已完成并禁用相应字段 操作步骤: 1.直接在客户端调用该函数,示例代码如下: rt_flowDisabled(); 1.2.15rt_getParentFormStatusValue 定义: functionrt_getParentFormStatusValue(fieldName){…} 参数: fieldName: 父实体表单上状态字段的名称 用途: 获取父实体表单上状态字段的值,通常用于明细实体获取主档表单上的字段的值 操作步骤: 1.直接在客户端调用该函数,示例代码如下: varstatus=rt_getParentFormStatusValue(“new_approvalstatus”); 1.3脚本文件rt_lookup.js 1.3.1rt_lookup 定义: functionrt_lookup(controlName,entityName,fetchXml,layoutXml){…} 参数: controlName: 过滤的字段名称 entityName: 实体名称 fetchXml: 构造的FetchXML layoutXml: 构造的LayoutXML 用途: 对标准Lookup处理函数封装,其他自定义的Lookup均调用此函数 操作步骤: 1.3.2rt_lookupDepart 定义: functionrt_lookupDepart(depart){…} 参数: depart: 业务部门字段名称(例如: 省公司,省办事处之类) 用途: 对标准Lookup处理函数封装,其他自定义的Lookup均调用此函数 操作步骤: 1.直接在客户端调用该函数,示例代码如下: functionform_onload() { rt_lookupDepart(“new_depart”); } 1.3.3rt_lookupCustomerEntity 定义: functionrt_lookupCustomerEntity(entityName,subField,mainField,sub2mainField){…} 参数: entityName: 要查询的实体名称 subField: 子字段的名称 mainField: 父字段的名称 sub2mainField: 查询实体中父字段的名称 用途: 关联字段过滤查询(例如省份过滤城市,城市过滤区县) 操作步骤: 1.直接在客户端调用该函数,示例代码如下: //省份过滤城市 functionnew_provinceid_onchange() { rt_lookupCustomerEntity("new_city","new_cityid","new_provinceid","new_provinceid"); } 第二章服务器端基础类(mon.dll) 2.1常用数据库操作类 2.1.1Config类 定义: publicclassConfig{..} 用途: 操作RekTec.Crm.Config.xml配置文件 主要成员: 1.privatevoidLoad() 使用IO操作读取RekTec.Crm.Config.xml配置文件 2.publicvoidSave() 将修改后的XML配置文档保存到文件中 3.publicstringGetValueByName(stringname) 根据在配置文件中配置的SQL连接字符串名称来获取对应的数据库连接字符串,示例如下: privatestaticConfig_config=newConfig(); publicstaticIDataBaseGetDataBase(stringtype) { stringconnect=string.Empty; try { connect=_config.GetValueByName(type); } catch { connect=string.Empty; } if(connect! =null&&connect! =string.Empty) { returnnewOleDataBase(connect); } else { returnnewDataBase(); } } 2.1.2DataBase类和IDataBase接口 定义: publicclassDataBase: IDataBase{..} publicinterfaceIDataBase{…} 用途: 提供常用的数据库操作 主要成员: DataBase类实现了IDataBase接口,包括对数据操作的常用方法。 publicclassCrmData//仅为部分CrmData类代码 { privateIDataBase_db; privateIDataBase_defaultDb; publicCrmData() { _db=newDataBase(); } protectedIDataBaseDb { get{ if(_db==null) _db=newDataBase(); return_db; } set { _db=value; } } protectedIDataBaseDefaultDb { get { if(_defaultDb==null) _defaultDb=newDataBase((newConfig()).connectionStringDefault); return_defaultDb; } set { _defaultDb=value; } } 1.执行SQL查询语句,如: publicvoidExecute(stringsqlText) publicSystem.Data.DataTableQuery(stringsql) publicSystem.Data.DataSetQueryDataSet(stringsql) publicobjectQueryScalar(stringsql) 2.执行存储过程,如: publicstringExecuteProc(stringprocName,stringparamValue) publicobjectExecuteProc(stringprocName,object[]paramsValue) 具体参数描述可以查看源码的注释 示例代码: publicclassAssessApplyForm: CrmData { publicAssessApplyForm(IDataBasedb) : base(db) { } publicAssessApplyForm() : base() { } publicstringSubmit(stringid) { try { stringsqlmain=string.Format("updatenew_assetprojectsetnew_assessmentstatus=1wheredeletionstatecode=0andnew_assetprojectid=(ꡧSELECTnew_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CRM 内部 使用手册 V10