您的位置:首页 > 其它

编码规则结果中为何不能显示CU编码?

2012-09-14 18:15 232 查看
对于单据的编码规则,实施人员在配置了编码规则后,单据新增时根据编码规则自动生成的编码中CU的编码为空,咨询研发相关人员后得知,目前的编码规则生成时,如果要生成新的编码需要调用getNumber(info,org)方法,readNumber(info,org)取得的结果始终是临时显示用。取得新的编码时,如果涉及当前单据的属性值的,则必须要包含在info中,才能生成正确的编码规则。

基于此原则,就是因为info中没有设置CU的对象,所以解决方法如下:

在EditUI中在createNewData()的方法中增加:

objectValue.setCU(SysContext.getSysContext().getCurrentControlUnit());

注意:

getNumber(info,org)中的org是过滤编码规则用的,对生成编码规则没有用;

这里要说说readnumber(info,org)和getNumber(info,org)的联系和区别:

联系:二者都能取到编码规则

区别:readNumber取到编码规则时不会在后台自动增加计数,也就是说如果没有其他用户调用相同编码规则,则每次取回来的编码一定是相同的;而对于getNumber来说,如果编码规则中含有序数,则每调一次都会按照步长返回一个新的编码。

对于客户端单据新增时显示的编码,是调用readNumber的,真正单据在服务端保存时,框架再自动调用getNumber来取一次编码赋给单据,这是因为客户端新增时,可能中途放弃新增,那么这时如果是用getNumber的话就会浪费一个编码,所以要用readNumber。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐