二开案例.表单插件.基础资料获取种子值
【应用场景】
基础资料进行二开时,如果不走平台提供的Save接口保存数据,此时,需要用户自行维护基础资料的各数据表的主键值。
【注意】
此案例仅适用于基础资料,不适用于单据。
【案例演示】
供应商,获取各种表格的种子值(最新的,可用的,主键值)。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using System.ComponentModel; using System.Linq; using System.Text; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【表单插件】基础资料获取种子值 /// </summary> [Description("【表单插件】基础资料获取种子值"), HotUpdate] public class BaseDataGetSeqValueFormPlugIn : AbstractDynamicFormPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); // TODO if (e.BarItemKey == "GetSeqValue") { // 获取表的种子值=获取表的自增Id=获取表的自增主键值,每获取一次,种子值就会加1,以确保主键值不会重复产生 // 种子值不是来自于当前数据表,而是来自于一个单独的种子表,一个数据表对应一个种子表,种子表名通常为数据表名的首字母t改为z,例如,数据表t_PUR_POOrder对应的种子表名为z_PUR_POOrder // 所有的基础资料的主表(单据头表)都是统一使用同一个种子表:Z_BAS_ITEM,基础资料的其它表则仍然使用各自的种子表。 var log = new StringBuilder(); // 取单据头 var tableName = "T_BAS_ITEM"; //var seqValue = new SequenceReader(this.Context).GetSequence(tableName, 1).FirstOrDefault();// 服务插件用这个方法 var seqValue = DBServiceHelper.GetSequenceInt32(this.Context, tableName, 1).FirstOrDefault(); // 表单插件用这个方法 log.Append(string.Format("表名:{0},种子值(内码):{1}", tableName, seqValue)); log.AppendLine(); // 取单据头多语言表 tableName = this.View.BusinessInfo.GetEntity("FBillHead").TableName; tableName = tableName + "_L"; seqValue = DBServiceHelper.GetSequenceInt32(this.Context, tableName, 1).FirstOrDefault(); log.Append(string.Format("表名:{0},种子值(内码):{1}", tableName, seqValue)); log.AppendLine(); // 取单据体 tableName = this.View.BusinessInfo.GetEntity("FBankInfo").TableName; seqValue = DBServiceHelper.GetSequenceInt32(this.Context, tableName, 1).FirstOrDefault(); log.Append(string.Format("表名:{0},种子值(内码):{1}", tableName, seqValue)); log.AppendLine(); this.Model.SetValue("F_Jac_Remark", log.ToString()); } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展供应商,新增字段,菜单集合新增菜单项,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开供应商新增界面,点击菜单【GetSeqValue】,即可获取多张数据表当前可用的主键值。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.基础资料获取种子值
【应用场景】基础资料进行二开时,如果不走平台提供的Save接口保存数据,此时,需要用户自行维护基础资料的各数据表的主键值。【注意】此案...
点击下载文档
上一篇:附件列表平铺展示下一篇:二开案例.表单插件.单据获取种子值
本文2024-09-23 04:18:07发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164427.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章