【开发笔记】调用单据插件保存,单据编码无法应用创建日期作为编码依据,导致流水码溢出
业务场景描述:有些单据需要通过程序后台调用生成单据,配置了单据编码规则以创建日期作为编码依据,流水码常量为4位,手工创建时编码正常,但是通过后台插件调用保存时,单据编码缺少了创建日期导致流水码迅速被用完,后续溢出,无法获取单据编码保存报错 提示:count must be non-negative
原因就是在调用保存是 构造的动态业务对象没有引用元模型中的相关元数据属性,可以通过以下代码进行数据包的创建,赋值后调用保存即可解决上述问题
var modelProxy = DynamicFormModelHelper.CreateModelProxy(ctx, metadata.BusinessInfo, defaultValueCalculator);
modelProxy.BeginIniti();modelProxy.CreateNewData();
modelProxy.EndIniti();
var dynamicData= modelProxy.DataObject;
通过这种方式创建动态对象dynamicobject 通过平台标准save操作,单据编号才会使用到系统日期作为变量,否则生成时
取到的编码只有常量和流水码,很容易造成流水码到最大值而引发程序异常抛出 count must be non-negative的错误。
【开发笔记】调用单据插件保存,单据编码无法应用创建日期作为编码依据,导致流水码溢出
业务场景描述:有些单据需要通过程序后台调用生成单据,配置了单据编码规则以创建日期作为编码依据,流水码常量为4位,手工创建时编码正常...
点击下载文档
本文2024-09-16 17:14:03发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-14392.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章