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_