import clr clr.AddReference("System") clr.AddReference("System.Xml") 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") from Kingdee.BOS import * from Kingdee.BOS.Contracts import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.List import * from Kingdee.BOS.Core.DynamicForm.PlugIn import * from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import * from Kingdee.BOS.Core.Metadata.EntityElement import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core.Metadata import * from Kingdee.BOS.Orm.DataEntity import * from Kingdee.BOS.Util import * from Kingdee.BOS.Core.Util import * from System import * from System.Xml import * from System.ComponentModel import * from System.Collections.Generic import * from System.Text import* from Kingdee.BOS.ServiceHelper import * def EntryBarItemClick(e): if e.BarItemKey == "tbConvUnit2PO": details = this.View.BusinessInfo.GetEntity("FEntity"); entrys = this.View.Model.GetEntityDataObject(details); if entrys != None and entrys.Count > 0: for entry in entrys: if entry["FMaterialId"] != None and entry["FUnitId"] != None: if entry["FMaterialId"]["Id"] > 0 : materialPurchase = entry["FMaterialId"]["MaterialPurchase"][0]; if materialPurchase["PurchaseUnitID_Id"] != entry["FUnitId"]["Id"]: rowIndex = this.View.Model.GetRowIndex(details, entry) # raise Exception(JsonUtil.Serialize(entry["FUnitId"])) this.View.Model.SetItemValueByID("FUnitId",materialPurchase["PurchaseUnitID_Id"],rowIndex); this.View.InvokeFieldUpdateService("FUnitId", rowIndex); return;