《2022年CORDYS中XFORM开发步骤 .pdf》由会员分享,可在线阅读,更多相关《2022年CORDYS中XFORM开发步骤 .pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Page 1 开发步骤实用编程参考 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - 开发步骤 Page 2 开发步骤1.1 生成数据库表.3 1.2 开发基础配置.3 1.2.1建立SOAP节点和连接器.31.2.2生成相关Method.61.3 基本设计开发.10 1.3.1制作XForm表单.101.3.2制作流程.152 附录 .19 2.1 Xform 常用函数列表.19 名师资料总结 - - -精品资料欢迎下载 -
2、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 开发步骤1.1 生成数据库表根据需求,建立相关表activity (环节信息表) 、apply (基础信息表) 、approval (审批信息表) 、person (人员信息表) 。 (默认 SQL Server数据库名为oatest )注意:数据库主外键必须标记清楚1.2 开发基础配置1.2.1 建立SOAP节点和连接器1. 通过【 Administrator 】-【Admin Tools 】-【SOAP Nodes 】
3、 ,右键点击“New”2. 在弹出的“ New SOAP Node Wizard Step 1 of 6”向导窗口中选择“OLE DB ”类型的 Application Connector,如下图所示3. 点击“ Next ” ,在“ New SOAP Node Wizard Step 2 of 7”窗口中配置SOAP Node ,包括输入SOAP Node的名称 【Name 】 ,并选中以下方法集“Method Set DBSchema Cordys WCP 1.1”和“ Method Set DBSchema Cordys WCP 1.2” ,如下图所示 Page 3 名师资料总结 - -
4、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - 开发步骤4. 点击“Next ” , 在 “New SOAP Node Wizard Step 3 of 7 ” 窗口中配置SOAP Processor的基本信息,包括输入SOAP Processor的名称【 Name 】 ,选择是否随BCP 自动启动“Startup Automatically”等,如下图所示 Page 4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
5、- - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 19 页 - - - - - - - - - 开发步骤5. 点击“ Next ” ,在“ New SOAP Node Wizard Step 4 of 7 ”窗口中配置相关日志信息,用于开发人员在SOAP Processor级别对出现的系统错误进行跟踪调试。可以选择被记录日志的严重级别【Logger Severities】和文件名称【Publish to File】 ,如下图所示,默认情况下所记录的日志将被输出到Cordys_Home/Logs/Logger目录下6. 两次点击“ Next ”跳过
6、监控配置环节,在“New SOAP Node Wizard Step 5 of 7 ”窗口中配置SOAP Processor的基本信息,包括选择【Database Vendor】类型“ SQL Server ” ,输入对应的机器名【Machine Name】 、数据库名称【Default Database】“mtxs_pm ” ,选择【 Provider 】类型“ SQLOLEDB ” ,输入数据库用户名【DB User 】和密码【 Password 】 。注意必须点击【Advanced Options】并在其中选中“Support Multibyte ”以提供对中文的支持。 Page 5 名
7、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - - - 开发步骤7. 点击“ Next ”后,跳过对Connection Point的配置,点击“Finish ”完成。1.2.2 生成相关 Method1. 通 过 【 Administrator】 - 【 Monitor SOAP Processors】, 找 到 创 建 的 Processor(spPMYXOLEDB) ,右键点击“Start ” ,确保与范例数据库相关的SOAP P
8、rocessor已正常启动,如下图所示 Page 6 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - 开发步骤2. 通过【 Developer 】-【Metadata Services】-【OLE DB 】-【snPMYXOLEDB】-【Tables 】 ,在“表名”上右键点击“Generate Default Methods” ,在打开的“Default Methods ”中点击“ Includes Navigational
9、 Methods”图标,以自动生成与页面导航相关的方法“GetNextxj_cpObjects”和“ GetPreviousxj_cpObjects” ,如下图所示;另外也可以右键点击“Build Method ” ,在弹出的Query Builder中,按照与数据库表类似的方式进行方法定义,生成所需要的方法; Page 7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - 开发步骤3. 输入新建的方法集名称【Method Se
10、t Name】为“ Method Set OATEST”或加入已有的方法集,选中“Attach Method Set to SOAP Node snPMYXOLEDB”以将方法附加到创建的SOAP Node,点击“ Generate Default Method” ,将弹出成功信息,如下图所示 Page 8 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - 开发步骤4. 通过【 Developer 】-【Organization
11、al Content】-【Method Sets】-【Custom 】-【Method Set PMYX JC】-【GetNextxj_cpObjects】 ,右键点击“ Test Method ” ,进行方法测试,如下图所示 Page 9 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 开发步骤1.3 基本设计开发1.3.1 制作XForm 表单1.选择相应 Method 到表单中:注意:根据界面需要选择输入输出2.关联相关
12、主从MODEL 3.关键 JS 代码1) 创建新纪录:applyGroup.create(); Page 10 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 19 页 - - - - - - - - - 开发步骤2) 提交表单数据:applyModel.synchronize(); 3) 将请求发送到后端,刷新页面model :approvalModel.reset(); 4) 获取当前用户信息function getUserDN() /获取当前用户DN var us
13、erInfo = system.getUser(); var organization=o=Org1,cn=cordys,o= return(userInfo.organizationsorganization.userDN) function getUserName() /获取用户名 var userInfo = system.getUser(); var organization=o=Org1,cn=cordys,o= return(userInfo.name) 4.在 xforms 中启动流程、传入参数相关解释:帮助文档中输入“ExecuteProcess”进行查找操作步骤 : 在 xf
14、orms 窗体中的 xml 中定义启动流程的type 、receiver 、message 等信息 Xml 代码: definition OA_Process/company_senddoc_vcmdemo10.bpm PARAMETER Page 11 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 19 页 - - - - - - - - - 开发步骤PARAMETER PARAMETER PARAMETERPARAMETER PARAMETER 红色部分为流程输入
15、参数的xml 流程中查看输入参数xml 的方法: Page 12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 19 页 - - - - - - - - - 开发步骤需要向 xfroms 中引入系统方法ExecuteProcessExecuteProcess为:在 xforms 中编写脚本代码脚本代码: Page 13 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
16、 - 第 13 页,共 19 页 - - - - - - - - - 开发步骤/ 启动流程var executeProXml=xmlBpm.XMLDocument.cloneNode(true); / 需要向流程中传递的值,在XML 中 message节点里定义executeProXml.selectSingleNode(./docId).text=output1.getValue(); executeProXml.selectSingleNode(./actid).text=select1.getValue(); executeProXml.selectSingleNode(./perid)
17、.text=select2.getValue(); executeProXml.selectSingleNode(./fldn).text=cn=liq,cn=organizational users,o=Org1,cn=cordys,o=; executeProXml.selectSingleNode(./rydn).text=getUserDN(); ExecuteProcessModel.setMethodRequest(executeProXml); ExecuteProcessModel.reset(); if(ExecuteProcessModel.soapFaultOccurre
18、d) alert(启动流程失败 !); return; else alert(提交成功 !); 5.发布XForm具有设计时和运行时两个状态,设计时新增或修改后,必须发布才能生效成为运行时供用户或其它页面调用,发布的方式为在“Cordys Studio ”中对应的XForm 上右键点击【Run-time 】-【Publish to Runtime】 ,如图所示 Page 14 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 19 页 - - - - - - - - -
19、开发步骤之后系统会弹出信息提示发布成功。1.3.2制作流程1.创建流程模型2.配置流程节点属性1)把相关 XForm 组件挂接到流程节点 Page 15 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 19 页 - - - - - - - - - 开发步骤2)配置流程输入输出参数Message Map before Activity Page 16 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
20、整理 - - - - - - - 第 16 页,共 19 页 - - - - - - - - - 开发步骤3)将表单数据传入流程Message Map after Activity 备注说明: 在 XForm中添加的任何控件,如果不属于任何Model 也不在任何Model 所创建的group/table内,那么属于free form data,会被自动添加到message map的 FreeFormData节点下。运行时这种控件可以自动获取message map before activity中设置的值,在form Page 17 名师资料总结 - - -精品资料欢迎下载 - - - - -
21、- - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 19 页 - - - - - - - - - 开发步骤中改变控件值后也会在后续活动中获得改变的值。有趣的是也可以对button赋值,这样就可以在运行动态改变button的名称。 4)配置流程节点执行条件5)动态指派流程节点的角色或用户z可以直接写用户或角色的DN ,多个用户和角色可以用分号分隔开来,如”user_DN1;user_DN2;role_DN” z可以是包含用户或角色DN 的 Xpath Page 18 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
22、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 19 页 - - - - - - - - - 开发步骤 Page 19 3.发布和调试4. 运行流程2 附录2.1 Xform 常用函数列表编号功能函数1 打开表单application.select(APP_NewProduct.XMLDocument.documentElement, null) 2 创建一条新记录Group.create() 3 将数据同步到后端Model.synchronize(true)4 将请求发送到后端Model.reset()5 取得模型的数据Model.ge
23、tData()6 取得表中的数据Table.getRows()7 设置模型的数据model.putData(oData, bRefreshRenderer,sSearchPath,bClearData)8 隐藏 /显示控件input.hide() / input.show() 9 禁用 /启用控件input.disable() / input.enable() 10 获取 /设置控件的值input.getValue()/ input.setValue() 11 调用系统按钮删除数据navDelete.click() 12 添加数据到下拉列表var usOption = value:tUserID, description:tUserName; us_id.addOption(usOption); 13 关闭表单application.container.close() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 19 页 - - - - - - - - -