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

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

[已解决] 部门名称跟随部门代码联动

 关闭 [复制链接]
白沙烟草 发表于 2014-6-5 13:25:21 | 显示全部楼层 |阅读模式
本帖最后由 david 于 2014-6-10 17:00 编辑

123.jpg
制作一个查询表单,如上图示,需要在部门选择框里选择部门名称时,部门代码跟着联动。我参照http://www.teemlink.com/bbs/view ... F%C3%C5%C3%FB%B3%C6,在部门代码上写值脚本如下:
function getDepartmentByName(name) {
        var process = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");
        var domainid = getDomainid();
        var deptid = "";
        var deptlist = process.getDepartmentByName(name,domainid);
        if(deptlist!=null && deptlist.size()>0){
           for(var iter = deptlist.iterator();iter.hasNext();){
                                var dept = iter.next();
                                        deptid = dept.getId();
                                        break;
           }
        }
        return deptid;
}


#include " actionlib";
var name = getItemValueAsString("name");//name为部门名称
getDepartmentByName ("name");
var depprocess=getDepartmentProcess();
var dep=depprocess.doView(deptid);
var code=dep.getCode();
code;

执行时报错,请问,我的代码哪里写的不对?
 楼主| 白沙烟草 发表于 2014-6-6 14:59:34 | 显示全部楼层
感谢两位天翎技术的帮助,大的问题已经解决了,但是还存在一个小问题:
我在部门代码撰写值脚本如下:
var deptid = getItemValueAsString("name");
if (deptid!=null || deptid.trim().length()>0)
{
var depprocess=getDepartmentProcess();
var dep=depprocess.doView(deptid);
var code=dep.getCode();
}
if(deptid == null  || deptid.trim().length()<=0)
{
code = " ";
}
code;

我觉得我写的没错,可是如果选择了部门为空的话,还是会报那个得不到GETCODE方法的错误。我觉得当部门名称为空时,应该走不到GETCODE那里啊,难道不是吗?
 楼主| 白沙烟草 发表于 2014-6-9 09:50:26 | 显示全部楼层
我知道问题在哪里了!
问题就出在那个部门的默认值上!
不写默认值的话,会报GETCODE方法的错误;
写了默认值的话,在写SQL查询语句时,除了这个默认部门以外的所有部门数据全都无法查出,因为这个部门被强制给了个默认值,一点查询按钮,一刷新,就又恢复成默认值。
这个问题,如果解决?
在部门下拉框中,我不选择显示空值了,可是这样也不行,必须得有一个默认值!这个问题,如何破解啊~~~
david 发表于 2014-6-10 17:00:34 | 显示全部楼层
感谢楼主反馈,该贴结贴。楼主如有疑问请重新发贴提问。一事一贴,要不有可能一个帖子跟三年都跟不完。

本版积分规则

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

GMT+8, 2026-8-13 16:21

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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