import clr clr.AddReference("System") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.DataEntity") clr.AddReference("Kingdee.BOS.App") clr.AddReference("Kingdee.BOS.Contracts") clr.AddReference("Kingdee.BOS.ServiceHelper") clr.AddReference("Newtonsoft.Json") from Kingdee.BOS import* from Kingdee.BOS.Util import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.DependencyRules import * from Kingdee.BOS.Core.Metadata.EntityElement import * from Kingdee.BOS.Orm.DataEntity import* from Kingdee.BOS.Orm.Metadata.DataEntity import* from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.CommonFilter import * from Kingdee.BOS.Core.CommonFilter.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import * from System import * from System.ComponentModel import* from System.Collections.Generic import* from Newtonsoft.Json.Linq import* from System.Text import* from Kingdee.BOS.ServiceHelper import * # def OnInitialize(e): # model = this.Model # if model != None: # if this.View.ParentFormView != None and this.View.ParentFormView.BusinessInfo != None: # model.FormId = this.View.ParentFormView.BusinessInfo.GetForm().Id; # return; # model.FormId = this.View.BusinessInfo.GetForm().Id; def TreeNodeClick(e): modelService = this.CommonFilterModel; if modelService == None: return; # modelService.SchemeEntity.BatchFilterSetting = setting; this.CommonFilterModel.BatchFilterObject.Setting = modelService.SchemeEntity.BatchFilterSetting; jsonObj = JsonUtil.DeserializeObject[JObject](modelService.SchemeEntity.BatchFilterSetting) batchFilterGrid = this.View.GetControl[BatchFilterGrid]("FBatchFilterGrid") batchFilterGrid.SetFilterRowsWithMakeUpType(jsonObj) def AfterBindData(e): SetYearComboList(); batchFilterGrid = this.View.GetControl[BatchFilterGrid]("FBatchFilterGrid") if batchFilterGrid == None: return; if this.CommonFilterModel.FilterObject == None or this.CommonFilterModel.BatchFilterObject == None: return; this.CommonFilterModel.BatchFilterObject.FilterMetaData = this.CommonFilterModel.FilterObject.FilterMetaData; for filterField in this.CommonFilterModel.FilterObject.FilterFieldList: if filterField.ElementTypeID != 60015 and filterField.ElementTypeID != 1011: this.CommonFilterModel.BatchFilterObject.AddField(filterField); batchFilterGrid.SetFilterFields(this.CommonFilterModel.BatchFilterObject.GetAllFilterFieldList()); # 设置年份表 def SetYearComboList(): enumList = List[EnumItem](); # 开始年份23023 startYear = 2023; # 最后日期是今年 lastYear=int(DateTime.Now.Year); year = startYear; flag = True while flag: flag = year < lastYear; enumItem = EnumItem(); enumItem.Caption=LocaleValue(str(year), 2052);#下拉选项显示标题 enumItem.EnumId = str(year);#下拉选项值,记录到数据库 enumItem.Invalid = False; enumItem.Value = str(year); enumList.Add(enumItem); year += 1; comboList = this.View.GetFieldEditor[ComboFieldEditor]("FYear", 0); if comboList != None: comboList.SetComboItems(enumList); if this.View.OpenParameter.Status == OperationStatus.ADDNEW: this.View.Model.SetValue("FYear", str(lastYear), 0);#如果单据打开为新增,设置年份默认值为当前年份