【开发笔记】调用单据插件保存,单据编码无法应用创建日期作为编码依据,导致流水码溢出

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

【开发笔记】调用单据插件保存,单据编码无法应用创建日期作为编码依据,导致流水码溢出

业务场景描述:有些单据需要通过程序后台调用生成单据,配置了单据编码规则以创建日期作为编码依据,流水码常量为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位,手工创建时编码正常...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息