金蝶 EAS 编码规则 新增显示且不允许断号

2023-12-25 19:32

本文主要是介绍金蝶 EAS 编码规则 新增显示且不允许断号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如下是引自金蝶社区:https://club.kingdee.com/forum.php?mod=viewthread&tid=898038

不允许断号是不能在单据新增的调用getnumber的,因为会出现这样一个场景,但用户新增一个单据时,调用了getnumber方法,抢号动作发生了,但是这时用户不保存这条单据,那么就造成断号了。如果要在不允许断号的时候能够显示出编码可以调用编码规则的readnumber方法生成一个临时的编码,真正保存的时候(在bean方法里)调用的是getnumber。

新增显示且不允许断号的实现就是要在单据新增的时候调用readnumber生成一个临时的编码,然后在单据保存的时候再调用getnumber方法。

 

新增时显示且不允许断号,具体实现方法如下:

1. 在新增单据时,通过readNumber方法获取临时编码:

String number = "";
try{ RenewalAppInfo info = new RenewalAppInfo();ICodingRuleManager iCodingRuleManager = null;OrgUnitInfo orgUnit = ContextUtil.getCurrentOrgUnit(ctx);if(orgUnit != null){iCodingRuleManager = CodingRuleManagerFactory.getLocalInstance(ctx);if(iCodingRuleManager.isExist(info, orgUnit.getId().toString())){number = iCodingRuleManager.readNumber(info, orgUnit.getId().toString()); } } 
} catch(Exception e){e.printStackTrace();
}

2. 在保存单据时,保证真正的编码,重写**ControllerBean的方法,另外注意:应该是_addnew方法,而不能是_save方法。

protected IObjectPK _addnew(Context ctx, IObjectValue model)throws BOSException, EASBizException {DanJuInfo info = (DanJuInfo) model;String number = "";ICodingRuleManager iCodingRuleManager = null;OrgUnitInfo orgUnit = ContextUtil.getCurrentOrgUnit(ctx);if (orgUnit != null) {try {iCodingRuleManager = CodingRuleManagerFactory.getLocalInstance(ctx);if (iCodingRuleManager.isExist(info, orgUnit.getId().toString())) {number = iCodingRuleManager.getNumber(info, orgUnit.getId().toString());}} catch (Exception e) {e.printStackTrace();}}info.setNumber(number);return super._addnew(ctx, model);
}

3. 在删除单据时,回收编码,同样是重写**ControllerBean的方法:

protected void _delete(Context ctx, IObjectPK pk) throws BOSException,EASBizException {RenewalAppInfo info = RenewalAppFactory.getLocalInstance(ctx).getRenewalAppInfo(pk);String number = info.getNumber();super._delete(ctx, pk);//回收编码ICodingRuleManager iCodingRuleManager = CodingRuleManagerFactory.getLocalInstance(ctx);iCodingRuleManager.recycleNumber(info, ContextUtil.getCurrentOrgUnit(ctx).getId().toString(), number);}

 

 

 

断号表:T_BAS_IntermitNO

最大号表:T_BAS_MaxSerial

通过编码规则的编号查询:

select * from T_BAS_IntermitNO where FCODINGRULEENTRYID in(
select FID from T_BAS_CodingRuleEntry where fcodingruleid in(
select fid from T_BAS_CodingRule where fnumber='规则编码'
) )
select  * from T_BAS_MaxSerial where fcodingruleentryid in(
select FID from T_BAS_CodingRuleEntry where fcodingruleid in(
select fid from T_BAS_CodingRule where fnumber='规则编码'
)) 

 

 

编码规则不支持编辑的解决办法:

增加扩展属性 CRNumberEdit ,并设置为true,之后在编码规则里面勾选“支持修改”即可。

如果是在web端增加的扩展属性,必须将扩展方案启用,并重启客户端后,新增编码规则里面的“允许修改”复选框才能勾选。

这篇关于金蝶 EAS 编码规则 新增显示且不允许断号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/536678

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

C++作用域和标识符查找规则详解

《C++作用域和标识符查找规则详解》在C++中,作用域(Scope)和标识符查找(IdentifierLookup)是理解代码行为的重要概念,本文将详细介绍这些规则,并通过实例来说明它们的工作原理,需... 目录作用域标识符查找规则1. 普通查找(Ordinary Lookup)2. 限定查找(Qualif

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

idea中project的显示问题及解决

《idea中project的显示问题及解决》:本文主要介绍idea中project的显示问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录idea中project的显示问题清除配置重China编程新生成配置总结idea中project的显示问题新建空的pr

Nginx路由匹配规则及优先级详解

《Nginx路由匹配规则及优先级详解》Nginx作为一个高性能的Web服务器和反向代理服务器,广泛用于负载均衡、请求转发等场景,在配置Nginx时,路由匹配规则是非常重要的概念,本文将详细介绍Ngin... 目录引言一、 Nginx的路由匹配规则概述二、 Nginx的路由匹配规则类型2.1 精确匹配(=)2