使用场景:视图选择框本身的功能可以映射绑定视图的字段到表单内容中,但是不知道如何映射到包含元素中,可参考该方法。
平台版本:4.4版本
方法一操作步骤:
第一步:创建映射主表和映射子表的数据库,然后通过选择对应的数据映射到主表的包含元素中;
第二步:视图选择框设置如图;
第三步:填写确定后执行脚本;
- (function(){
- var process = getDocumentProcess();
- var formProcess = getFormProcess();//申明表单业务处理类
- var form = formProcess.doViewByFormName("映射子表",getApplication()); //子表表单名称
- var webuser = getWebUser();
- var sid = getParameter("_selects");
- var parentid =getCurrentDocument().getId();
- var arr = splitText(sid, ";");
- for (var i=0;i<arr.length;i++){
- println("arr.length-------->"+arr.length)
- var fd=findDocument(arr[i]);
- var fd=findDocument(arr[i]);
- var Tsone = fd.getItemValueAsString("字段一"); //表单字段名称
- var Tstwo = fd.getItemValueAsString("字段二");
- var Tsthree = fd.getItemValueAsString("字段三");
- var Tsfour = fd.getItemValueAsString("字段四");
- var doc = process.doNew(form,webuser,createParamsTable());//创建记录
- doc.findItem("字段一").setValue(Tsone);
- doc.findItem("字段二").setValue(Tstwo);
- doc.findItem("字段三").setValue(Tsthree);
- doc.findItem("字段四").setValue(Tsfour);
- doc.setParent(parentid)
- doc.setIstmp(false);
- process.doCreate(doc);
- }
- })();
复制代码 第四步:录入子表数据;
演示效果:
方法二操作步骤:
第一步:复制两个子表,一个作为跳转目标视图,一个作为载入视图;
第二步:视图配置跳转的方式,填写跳转脚本;
- //跳转按钮地址脚本
- (function(){
- var parentid =getParentDocument().getId();
- var MemoryCacheUtil = new Packages.cn.myapps.util.cache.MemoryCacheUtil();
- MemoryCacheUtil.putToPrivateSpace("parentid", parentid, getWebUser()); //数据存放到session中
- println("parentid===>"+parentid);
- var url="http://192.168.88.191:8085/obpm/portal/good/html/view.html?appId=sOZu9kthmxyP8qQfq0e&viewId=__jBfSGpRAaVYWBPS3IVX&opentarget=detail&containTitle=子表视图1";
- println("url===>"+url);
- return url;
- })();
复制代码 第三步:再另一个视图中添加载入视图,并填写执行后脚本;
- //载入视图动作执行前脚本
- (function(){
- var MemoryCacheUtil = new Packages.cn.myapps.util.cache.MemoryCacheUtil();
- var parentid = MemoryCacheUtil.getFromPrivateSpace("parentid",getWebUser());//获取session中数据
- var process = getDocumentProcess();
- var formProcess = getFormProcess();//申明表单业务处理类
- var form = formProcess.doViewByFormName("映射子表",getApplication()); //子表表单名称
- var webuser = getWebUser();
- var sid = getParameter("_selects");
- println("parentid===>"+parentid);
- var arr = splitText(sid, ";");
- for (var i=0;i<arr.length;i++){
- println("arr.length-------->"+arr.length)
- var fd=findDocument(arr[i]);
- var fd=findDocument(arr[i]);
- var Tsone = fd.getItemValueAsString("字段一"); //表单字段名称
- var Tstwo = fd.getItemValueAsString("字段二");
- var Tsthree = fd.getItemValueAsString("字段三");
- var Tsfour = fd.getItemValueAsString("字段四");
- println("Tsone-->"+Tsone);
- var doc = process.doNew(form,webuser,createParamsTable());//创建记录
- doc.findItem("字段一").setValue(Tsone);
- doc.findItem("字段二").setValue(Tstwo);
- doc.findItem("字段三").setValue(Tsthree);
- doc.findItem("字段四").setValue(Tsfour);
- doc.setParent(parentid);
- println("doc-->"+doc);
- doc.setIstmp(false);
- println("1-->");
- process.doCreate(doc);
- println("2-->");
- }
- })();
复制代码 效果展示:
|