金蝶 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

相关文章

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

基于Go语言实现Base62编码的三种方式以及对比分析

《基于Go语言实现Base62编码的三种方式以及对比分析》Base62编码是一种在字符编码中使用62个字符的编码方式,在计算机科学中,,Go语言是一种静态类型、编译型语言,它由Google开发并开源,... 目录一、标准库现状与解决方案1. 标准库对比表2. 解决方案完整实现代码(含边界处理)二、关键实现细

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

Nginx location匹配模式与规则详解

《Nginxlocation匹配模式与规则详解》:本文主要介绍Nginxlocation匹配模式与规则,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、环境二、匹配模式1. 精准模式2. 前缀模式(不继续匹配正则)3. 前缀模式(继续匹配正则)4. 正则模式(大

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy