壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 637|回复: 12

求adempiere中自动填充值

[复制链接]
发表于 2013/3/15 22:37:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
现在想做个自动填充值的功能,就是和销售订单中的,选择客户就自动的填充地址,发票地址,联系人之类的信息。
 楼主| 发表于 2013/3/15 22:38:16 | 显示全部楼层
求急急急急急急积极急急急急急急急急急急急急
 楼主| 发表于 2013/3/15 22:38:32 | 显示全部楼层
来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊来人啊
发表于 2013/3/18 11:11:42 | 显示全部楼层

回帖奖励 +45 点努力值

Callout,  常州?
 楼主| 发表于 2013/3/18 11:38:32 | 显示全部楼层
pshen 发表于 2013/3/18 11:11
Callout,  常州?

不是我知道是callout 我是将一个表中填写的信息(主表),在子表中通过搜索主表中的编号来自动的往子表中填入主表中的信息,销售订单中的选择客户对应填充地址和联系人之类的,是多张表,我个人认为,我的只有2张表,应该简单些的,我看了m_inout里面的客户退货窗口的代码只有50多行,但是我不知道我哪里写错了。。求指点

点评

good  发表于 2013/3/18 21:19
 楼主| 发表于 2013/3/18 11:41:53 | 显示全部楼层
呵呵,沈哥,还比较关注我啊,这都被你发现了。神人啊,我隐藏的这么深
 楼主| 发表于 2013/3/18 21:19:51 | 显示全部楼层
急急急急急急,求求去求IU
 楼主| 发表于 2013/3/18 21:20:14 | 显示全部楼层
急急急急急急急急急急急急急急急急急急急急急急急急
发表于 2013/3/19 10:37:40 | 显示全部楼层
895341748 发表于 2013/3/18 11:38
不是我知道是callout 我是将一个表中填写的信息(主表),在子表中通过搜索主表中的编号来自动的往子表中 ...

Callout  工作机制类似Trigger, 是在界面上某个field的值修改后触发的。

你的情况,就是应该在子表那个编号上定义一个Callout,  
大致内容:
xxx(window, tab,  value)
{  
      根据编号, 获取需要的值
      mtab.setvalue(xxx, xx);
}
 楼主| 发表于 2013/3/19 11:42:09 | 显示全部楼层
我是在主表中输入信息后,在子表中通过搜索主表中的编号(也就是子表中的外键),来自动的填值,也就是触发它,
public String fill (Properties ctx, int WindowNo, GridTab mTab, GridField mField, Object value)
        {
                Integer HR_TRAINNEED_ID = (Integer)value;
                if (HR_TRAINNEED_ID == null || HR_TRAINNEED_ID.intValue() == 0)
                        return "";

                String sql = "select * FROM HR_TRAINNEED h, HR_LEDGER c "
                                + "WHERE c.IsActive='Y' AND h.HR_TRAINNEED_ID=c.HR_TRAINNEED_ID(+)"
                                + " AND h.HR_TRAINNEED_ID=?";
       
                PreparedStatement pstmt = null;
                ResultSet rs = null;
                try
                {
                        pstmt = DB.prepareStatement(sql, null);
                        pstmt.setInt(1, HR_TRAINNEED_ID.intValue());
                        rs = pstmt.executeQuery();
                       
                        if (rs.next())
                        {
                                Integer ii = new Integer(rs.getInt("HR_TRAINNEED_ID"));
                                //Integer ii = new Integer(rs.getInt("HR_TARGET"));
                                if (rs.wasNull())
                                        mTab.setValue("HR_TARGET", null);
                                else
                                        mTab.setValue("HR_TARGET", ii);
                               
                                /*        Contact
                                ii = new Integer(rs.getInt("AD_User_ID"));
                                if (rs.wasNull())
                                        mTab.setValue("AD_User_ID", null);
                                else
                                        mTab.setValue("AD_User_ID", ii);*/                               
                        }
                }
                catch (SQLException e)
                {
                        log.log(Level.SEVERE, sql, e);
                        return e.getLocalizedMessage();
                }
                finally
                {
                        DB.close(rs, pstmt);
                }
                return "";
        }       

这是我按照m_inout 来写的,但是我调试了下,到rs.next 后,就到finally了,所以这个错误的,。
 楼主| 发表于 2013/3/19 11:43:14 | 显示全部楼层
hr_TRAINNEED  主表, hr_LEDGER 子表,您说的意思我明白。我在看看其他的callout
发表于 2013/3/19 14:03:20 | 显示全部楼层
Callout 部分是对的。 剩下的就是普通的编程问题了。按你的描述,应该是SQL没查到。
 楼主| 发表于 2013/3/19 17:57:23 | 显示全部楼层
恩,我现在能自动的填充一个值了,但是子第一次选中后不出来,要第2次才可以,再就是只能填充一个,如果是2个就不可以了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 01:50 , Processed in 0.019355 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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