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

 找回密码
 注册成为天翎用户
楼主: 沈阳铁路局

[已解决] 根据文本框录入的用户名 求出他的默认部门

[复制链接]
purple 发表于 2012-11-16 14:54:00 | 显示全部楼层
回复 10# 沈阳铁路局

您Q我吧,我远程帮您看看。QQ:1946218209
bess 发表于 2012-11-16 14:55:47 | 显示全部楼层
您好,请问您那边现在报什么错?
我同事的意思是,在您楼上的脚本后面加上我同事提供的那一段通过对象去获取部门名称的代码.请问您那边现在是如何写的呢?
 楼主| 沈阳铁路局 发表于 2012-11-16 15:05:30 | 显示全部楼层
var value = "";
var user ="";
var rtn2 ="";
var user = getItemValue("lxry");

if (user != null){
        var sql = "select loginno  from t_user where name='"+user+"'";
        var rtn ="";
    rtn = queryByDSName("sbgl",sql);

if (rtn != null) {
for(var iterator = rtn.iterator();iterator.hasNext();){
       var map1 = iterator.next();
          
       var rtn2= map1.get("loginno");
       
}
}
}
var userid = getUserIdByLoginno(rtn2);

var uservo=getUserById(userid);

if (uservo != null){
value = uservo.getDefaultDepartment();
var name="";
var depvo= getDepartmentById(value);
name= depvo.getName();
}

name;
purple 发表于 2012-11-16 15:23:46 | 显示全部楼层
回复 13# 沈阳铁路局


    您好,请用文字说明具体是什么问题,以便我们这边帮您定位。谢谢。
purple 发表于 2012-11-16 15:46:25 | 显示全部楼层
回复 13# 沈阳铁路局


    var depvo= getDepartmentById(value);换成var depvo= uservo.getDepartmentById(value);
 楼主| 沈阳铁路局 发表于 2012-11-16 16:04:50 | 显示全部楼层
Error: Field:bxbz-值脚本出错 <br>JavaScriptRunning:[Form.用料录入.Field(11e2-2e30-97246a31-9b5b-05295aa81e3c).bxbz.ValueScript]: TypeError: Cannot find function getDepartmentById. (11e2-2e30-97246a31-9b5b-05295aa81e3c).bxbz.ValueScript#28)
 楼主| 沈阳铁路局 发表于 2012-11-16 16:24:41 | 显示全部楼层
我写的有问题吗 
purple 发表于 2012-11-16 16:31:32 | 显示全部楼层
回复 17# 沈阳铁路局


    错误信息是getDepartmentById为定义,请问您的脚本有没有修改过,如果有修改过,是用的userVO.getDepartmentById(userid),请输出您的userVo是什么内容,或者,请联系我这边,我远程帮您看。
purple 发表于 2012-11-16 17:04:09 | 显示全部楼层
您好,很抱歉,误导您了。刚查找了源码,用户对象里未封装getDepartmentById(value);函数,当前登录用户对象里才封装了。所以根据部门id获取部门名称,请参考以下脚本:
  1. var process = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");//部门业务处理类
  2. var dept=process.doView(id);//id为部门ID,获取部门对象
  3. var name=dept.getName();//获取部门名称
  4. name;
复制代码
另外,看您的脚本,是使用用户名称获取默认部门,建议您参考下列实现脚本,就不需要转换两次。
  1. var sql = "select DEFAULTDEPARTMENT from t_user where name='员工'";
  2. var rtn = queryByDSName("sysdata",sql);
  3. if (rtn != null) {
  4. for(var iterator = rtn.iterator();iterator.hasNext();){
  5.        var map1 = iterator.next();
  6.        var rtn2= map1.get("DEFAULTDEPARTMENT");
  7. }
  8. }
  9. var process = createProcess("cn.myapps.core.department.ejb.DepartmentProcess");//部门业务处理类
  10. var dept=process.doView(rtn2);//id为部门ID,获取部门对象
  11. var name=dept.getName();
  12. name;
复制代码
 楼主| 沈阳铁路局 发表于 2012-11-16 17:41:48 | 显示全部楼层
解决了,谢谢 工作认真

本版积分规则

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

GMT+8, 2026-8-12 19:18

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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