import clr clr.AddReference("System") clr.AddReference("System.Data") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.App") clr.AddReference("Kingdee.BOS.ServiceHelper") from Kingdee.BOS import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.Bill import * from Kingdee.BOS.Core.List import * from Kingdee.BOS.Core.Report import * from System import * from System.Data import * from System.Net import * from System.Text import * from Kingdee.BOS.App.Data import * from Kingdee.BOS.Core.List.PlugIn import * from Kingdee.BOS.Core.List.PlugIn.Args import * # def FormatCellValue(args): # # 日期格式化 # if args.Header.ColType == SqlStorageType.SqlDatetime: # args.FormateValue = ("{0}").format(DateTime.Parse(str(args.FormateValue)).ToString("yyyy-MM-dd")) def CellDbClick(e): e.Cancel = True fldKey = e.Header.FieldName; # 生产订单 if fldKey == "MONO": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] moIds = "0"; if data["MOIDS"] !=None and data["MOIDS"] != "": moIds = data["MOIDS"]; filterStr = "FID IN ({0}) AND FMATERIALID = {1} ".format(moIds,data["ProMaterialId"]) ShowListForm("PRD_MO", filterStr) # 订单.需求数量 if fldKey == "FBASENEEDQTY": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] moIds = "0"; if data["MOIDS"] !=None and data["MOIDS"] != "": moIds = data["MOIDS"]; filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data["物料内码"]) ShowListForm("PRD_PPBOM", filterStr) # 订单.未领数量 if fldKey == "FBASENOPICKEDQTY": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] moIds = "0"; if data["MOIDS"] !=None and data["MOIDS"] != "": moIds = data["MOIDS"]; filterStr = "t1.FMOID IN ({0}) AND t1.FMATERIALID = {1} ".format(moIds,data["物料内码"]) ShowListForm("PRD_PPBOM", filterStr) # 未发量 if fldKey == "未发量": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FID = t1.FMOID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data["物料内码"]) ShowListForm("PRD_PPBOM", filterStr) # 在制量 if fldKey == "在制量": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] filterStr = "EXISTS (SELECT 1 FROM T_PRD_MOENTRY_A tt WHERE tt.FENTRYID = t1.FENTRYID AND tt.FSTATUS = 4 ) AND t1.FMATERIALID = {0} ".format(data["物料内码"]) ShowListForm("PRD_PPBOM", filterStr) # 在途量 if fldKey == "在途量": reportModel = this.Model tab = reportModel.DataSource row = e.CellRowIndex - 1 data = tab.Rows[row] filterStr = "FMRPCLOSESTATUS = 'A' AND FCloseStatus = 'A' AND FMATERIALID = {0} AND FBASEUNITQTY >= FBASESTOCKINQTY".format(data["物料内码"]) # ShowListForm("PUR_PurchaseOrder", filterStr) showParam = ListShowParameter(); showParam.FormId = "PUR_PurchaseOrder"; showParam.ParentPageId = this.View.PageId; showParam.OpenStyle.ShowType = ShowType.Floating; showParam.ListFilterParameter.Filter = filterStr showParam.IsShowQuickFilter = True; this.View.ShowForm(showParam) def ShowListForm(_fromId, _filter, _operationStatus = OperationStatus.VIEW ,_openStyleShowType = ShowType.Floating): showParam = ListShowParameter(); showParam.FormId = _fromId; showParam.ParentPageId = this.View.PageId; showParam.OpenStyle.ShowType = _openStyleShowType; showParam.ListFilterParameter.Filter = _filter showParam.IsShowQuickFilter = True; this.View.ShowForm(showParam)