BOS运行时-编码规则-更新最大流水号
如果通过系统生成单据编号,不需要更新流水号,星空会按照最大流水号+步长依次生成。
某些场景下,客户手动录入一个编号,比如当前流水号最大值100,下一个生成的流水号101,客户手动录入编号的流水号为101,这种情况下。当有人自动生成编号为101时,因为编码唯一校验器的存在,会提示编号唯一。
星空因为考虑性能,手动录入编号时,不会自动更新流水号,如果客户想要实时更新,可以参考以下示例,注意,调用更新流水号会影响保存或其他操作的性能,请根据实际情况谨慎选择。
以物料为例子,当前流水号最大值为2035
手动录入物料编号为2050后,调用更新最大流水号
检查流水号最大值
参考代码如下:
using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.Bill.PlugIn.Args; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Cloud.BOS.Support.Bill { [HotUpdate] [Description("测试更新最大流水号")] public class UpdateMaxNoPlugin:AbstractBillPlugIn { public override void BeforeSave(BeforeSaveEventArgs e) { var billNoField = this.View.BillBusinessInfo.GetBillNoField(); if(billNoField != null ) { var billNo = this.Model.GetValue(billNoField); if (!billNo.IsNullOrEmptyOrWhiteSpace()) { //当单据编号值不为空时,说明手动指定了编号,可以更新最大流水号 BusinessDataServiceHelper.UpdateMaxSerialNO(this.Context, this.View.BillBusinessInfo, new Kingdee.BOS.Orm.DataEntity.DynamicObject[] { this.Model.DataObject }, null); } } } } }
BOS运行时-编码规则-更新最大流水号
如果通过系统生成单据编号,不需要更新流水号,星空会按照最大流水号+步长依次生成。某些场景下,客户手动录入一个编号,比如当前流水号最...
点击下载文档
本文2024-09-16 18:21:08发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-21581.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章