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

新版M3在前台用脚本新建一个子部门报错

[复制链接]
anten 发表于 2015-12-28 16:48:30 | 显示全部楼层 |阅读模式
本帖最后由 myApps 于 2015-12-31 09:31 编辑

用以下脚本新建一个部门时,数据库中t_department能够生成记录,但Domain_Id字段为空;后台企业域对应部门下的左侧菜单能看到新部门,右侧部门列表中没有部门。请问应怎样解决?

var newdept=getItemValueAsString("新增企业");
var deptpro = new Packages.cn.myapps.core.department.ejb.DepartmentProcessBean();
var deptlist=deptpro.getDepartmentByName("南方玉器交易中心",getDomainid())
        println("注册开户表单开户保存后deptlist: "+dept);


var deptvo = new Packages.cn.myapps.core.department.ejb.DepartmentVO();
deptvo.setName(newdept);
        println("注册开户表单开户保存后deptvo: "+deptvo);


if(deptlist!=null && deptlist.size()>0)
{
        for(var iter = deptlist.iterator();iter.hasNext();)
        {
                var dept = iter.next();
                if(dept!=null)
                {               
                        deptvo.setSuperior(dept);//设置南方玉器交易中心为其上级部门
                       
                        //var department=dept;
                                println("注册开户表单开户保存后dept: "+dept);
                        break;
                }
        }
}
var domainid=getDomainid();
        println("注册开户表单开户保存后domainid: "+domainid);
deptvo.setDomainid(domainid);
deptpro.doCreate(deptvo);
myApps 发表于 2015-12-31 17:54:50 | 显示全部楼层
您好,请你把后台完整的错误发给我们,这样才好帮你解决
回复

使用道具 举报

 楼主| anten 发表于 2016-1-1 16:10:43 | 显示全部楼层
就是在前台怎样把企业域ID写到domain_id这个字段上
回复

使用道具 举报

myApps 发表于 2016-1-4 16:11:21 | 显示全部楼层
你可以用IE打开企业域,如图,点击企业域名称,右键菜单【属性】,有一个domainid,或者你查询某个tlk表,都会有一个字段domainid
回复

使用道具 举报

 楼主| anten 发表于 2016-1-15 18:01:18 | 显示全部楼层
拜托,我的问题是用什么样的语句能够把域ID写入到t_department这个表的字段domain_id里面,不是找域ID。
回复

使用道具 举报

myApps 发表于 2016-1-25 14:49:06 | 显示全部楼层
可以通过sql 的方式进行update
回复

使用道具 举报

 楼主| anten 发表于 2016-1-25 19:56:13 | 显示全部楼层
可否将完整sql语句写出来,因为曾经试过,但都无法写入。而且表里面还有一个domainid字段,与domain_id这个字段非常相似,不知道有什么关联没有
回复

使用道具 举报

karrman 发表于 2016-1-26 10:33:54 | 显示全部楼层
您好,您可以通过如下两种方式实现
第一种方式:

var deptprocess=getDepartmentProcess();
var domainprocess=new Packages.cn.myapps.core.domain.ejb.DomainProcessBean();
var deptvo=new Packages.cn.myapps.core.department.ejb.DepartmentVO();
var uuid = new Packages.cn.myapps.util.sequence.Sequence().getSequence();
var domainvo=domainprocess.getDomainByDomainName("kimidemo");
var domainid=getDomainid();
var superior=deptprocess.doView("11e2-faba-c7badf01-ac72-af31f40dcc3f");//部门id
deptvo.setId(uuid);//设置部门id
deptvo.setName("测试3");//设置部门名称
deptvo.setDomainid(domainid);//设置部门所属企业域id
deptvo.setSuperior(superior);//这是上级部门传的是一个部门对象
deptvo.setLevel(1);//设置部门等级
deptvo.setDomain(domainvo);//设置企业域对象
deptprocess.doCreate(deptvo);
第二种方式:


var wsdept=new Packages.cn.myapps.webservice.DepartmentService();
var deptvo=new Packages.cn.myapps.webservice.model.SimpleDepartment();
deptvo.setDomainName("kimidemo");//设置所属企业域名
deptvo.setName("kimi测试部门1");//设置部门名称
deptvo.setSuperiorName("测试3");//设置所属上级部门名称
wsdept.createDepartment(deptvo);
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 02:17

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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