银行存款对账-银行存款流水账增加凭证字号显示原创
1人赞赏了该文章
438次浏览
编辑于2021年12月28日 10:25:17
新增插件
using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.ServiceHelper; using Kingdee.K3.FIN.Core; using System; using System.ComponentModel; using System.Linq; using Kingdee.BOS.Util; namespace Kingdee.K3.FIN.CN.Business.PlugIn.BankAcntCheck { /// <summary> /// /// </summary> [Description("我的插件")] public class MyPlugIn : BankAcntCheck { /// <summary> /// 设置凭证字号 /// </summary> private void SetVourchNo() { var bankTrans = this.View.Model.DataObject["BankTransList"]; var bankTransData = bankTrans as DynamicObjectCollection; if (bankTransData == null || !bankTransData.Any()) return; //获取日记账数据 var journalBankTransData = bankTransData.Where(f => Convert.ToString(f["FDOWNBILLFORMID"]) == BusinessObjectConst.CN_JOURNAL).ToList(); var entryIds = journalBankTransData.Select(f => Convert.ToInt64(f["FDOWNENTRYID"])).ToList(); //查询日记账明细的凭证字号 var sql = string.Format(@"SELECT A.FENTRYID,A.FVOUCHERGROUPID,A.FVOUCHERGROUPNO,GL.FNAME FROM T_CN_JOURNALENTRY A LEFT JOIN T_BD_VOUCHERGROUP_L GL ON A.FVOUCHERGROUPID=GL.FVCHGROUPID WHERE A.FENTRYID IN ({0}) AND A.FVOUCHERGROUPID>0", string.Join(",", entryIds)); var ret = DBServiceHelper.ExecuteDynamicObject(this.Context, sql) .GroupBy(f => Convert.ToInt64(f["FENTRYID"])).ToDictionary(f => f.Key, a => a.FirstOrDefault()); //遍历赋值 for (var i = 0; i < bankTransData.Count; i++) { var data = bankTransData[i]; if (!Convert.ToString(data["FDOWNBILLFORMID"]).EqualsIgnoreCase(BusinessObjectConst.CN_JOURNAL)) continue; var entryId = Convert.ToInt64(data["FDOWNENTRYID"]); DynamicObject vourch = null; if (!ret.TryGetValue(entryId, out vourch)) continue; this.View.Model.SetValue("FDOWNVOUCHERGROUPID", vourch["FNAME"], i); this.View.Model.SetValue("FDOWNVOUCHERGROUPNO", vourch["FVOUCHERGROUPNO"], i); } this.View.UpdateView("FBankTransList"); } /// <summary> /// /// </summary> /// <param name="e"></param> public override void AfterCreateNewData(EventArgs e) { base.AfterCreateNewData(e); SetVourchNo(); } /// <summary> /// /// </summary> /// <param name="e"></param> public override void AfterBarItemClick(BOS.Core.DynamicForm.PlugIn.Args.AfterBarItemClickEventArgs e) { base.AfterBarItemClick(e); switch (e.BarItemKey) { case "tbFilter"://显示过滤界面后过滤 case "tbRefresh"://刷新 case "tbAutoBlend"://自动勾对 case "tbBlendByHand"://手工勾对 SetVourchNo(); break; } } } }
增加字段,凭证字FDOWNVOUCHERGROUPID,凭证号FDOWNVOUCHERGROUPNO
表单插件反注册原插件,注册新插件
推荐阅读