天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3256|回复: 0

[表单] 如何修改记录的父文档对象,即为parent字段的值【表单-修改父表单对象】

[复制链接]
bess 发表于 2013-2-28 15:39:38 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2013-2-28 15:49 编辑

Q:现在有多个主子文档,我想把某个子文档移到另外一个主文档下,应该如何操作?

A:由于我们的主子关系的记录,就是通过主表的id字段和子表的parent字段关联的,所以,客户只需要将对应a记录下需要转换的子记录的parent字段的值修改为b记录的id字段的值即可.
实现代码如下:
  1. var process = getDocumentProcess();  //实例化DocumentProcess()对象
  2. var name =getItemValueAsString("p_selcet");   //获取当前父表单对象的字段的值
  3. //println("name=111=="+name);
  4. var sql="";
  5. var docid="";
  6. //判断name的值是否为空
  7. if( name !=null  &&  name !="")   //当name的值不为空
  8. {
  9.      //查询父表单中,name的值等于表单中输入的字段的值
  10.     sql ="select * from tlk_Parent where item_p_name ='"+name+"'";
  11.         //println("sql-==111="+sql)
  12.     var data=queryBySQL(sql);
  13.         //println("data的大小"+data.size());
  14.         //当查询结果不为空
  15.     if(data!=null && data.size()>0){   //遍历结果集
  16.             for(var iter1 = datas.iterator();iter1.hasNext();){
  17.                 var doc = iter1.next();
  18.                     if(doc!=null){
  19.                   docid=doc.getId();        //获取查询出的文档的id
  20.                        
  21.             }
  22.             }
  23.     }
  24.         //获取当前父文档对象的子文档集,如果存在子文档,那么就将所有的子文档的父文档对象修改
  25.        
  26.         var childs =getCurrentDocument().getChilds("Child");  //获取当前父表单文档的所有子文档记录
  27.         if(childs!=null && childs.size()>0){  //判断当前父文档对象存在子文档
  28.             for(var iter2 = childs.iterator();iter2.hasNext();){ //遍历子文档集
  29.                var cdoc = iter2.next();
  30.                cdoc.setParent(docid);  //给文档对象设置父文档
  31.                    //println("获取parent的值=222="+cdoc.getParent());
  32.                process.doUpdate(cdoc); //更新文档对象
  33.             }
  34.         }  
  35. }
复制代码

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 15:28

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表