public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e) { base.BarItemClick(e); switch (e.BarItemKey) { case "tbAmountAllocation": //点击“金额分摊”功能后,重新计算销售增值税专用发票的单据体分录“含税单价”,含税单价=原价*折扣率; EntryEntity entryEntity = this.View.BusinessInfo.GetEntryEntity("FSALESICENTRY"); DynamicObjectCollection rows = this.View.Model.GetEntityDataObject(entryEntity); decimal disaccount = Convert.ToDecimal(this.View.Model.GetValue("F_PAEZ_disaccount")); //折扣率 int rowCount = rows.Count; for (int i = 0; i < rowCount; i++) { decimal origPrice = Convert.ToDecimal(this.View.Model.GetValue("F_PAEZ_origPrice", i)); //原价 //5、 金额分摊时,要把折扣率和折扣额清零,否则会造成折上折 this.View.Model.SetValue("FENTRYDISCOUNTRATE", 0, i); //折扣率% this.View.Model.SetValue("FDISCOUNTAMOUNTFOR", 0, i); //折扣额 this.View.Model.SetValue("FAUXTAXPRICE", origPrice * disaccount, i); //含税单价=原价*折扣率 } return; } }
public override void BarItemClick(BOS.Core.DynamicForm.PlugIn.Args.BarItemClickEventArgs e) { base.BarItemClick(e); string PformId = this.View.BillBusinessInfo.GetForm().Id; switch (PformId) { case "STK_InStock": //采购入库 tableName = "T_STK_INSTOCKENTRY"; break; case "STK_MISCELLANEOUS": //其他入库 tableName = "T_STK_MISCELLANEOUSENTRY"; break; case "SP_InStock": //简单生产入库 tableName = "T_SP_INSTOCKENTRY"; break; case "STK_InitInStock": //期初采购入库 tableName = "T_STK_INITINSTOCKENTRY"; break; case "STK_OEMInStock": //受托加工材料入库 tableName = "T_STK_OEMINSTOCKENTRY"; break; case "STK_InvInit": tableName = "T_STK_INVINITDETAIL"; break; default: break; } if (e.BarItemKey.Equals("tbQANo")) { List <string> ids = new List <string>(); //所选择行的数据ID List <string> entryIds = new List <string>(); //所选择行的数据ID List <int> lotIds = new List <int>(); string sql = ""; ListSelectedRowCollection selectedRowsInfo = this.ListView.SelectedRowsInfo; if (selectedRowsInfo.Count == 0) { this.ListView.ShowMessage("请选择至少一条数据!"); e.Cancel = true; } else { foreach (var one in selectedRowsInfo) { if (null == one.EntryEntityKey) { ids.Add(one.PrimaryKeyValue); } else { entryIds.Add(one.EntryPrimaryKeyValue); } } if (entryIds.Count != 0) { sql = string.Format("SELECT FLOT FROM {0} WHERE FLOT<>0 AND FENTRYID IN ({1})", tableName, string.Join(",", entryIds)); } else if (ids.Count != 0) { sql = string.Format("SELECT FLOT FROM {0} WHERE FLOT<>0 AND fid IN ({1})", tableName, string.Join(",", ids)); } using (IDataReader reader = DBUtils.ExecuteReader(this.Context, sql)) { while (reader.Read()) { int s = reader.GetInt32(0); lotIds.Add(s); } } ShowBemForm(string.Join("','", ids), string.Join("','", entryIds), string.Join("','", lotIds), PformId); } } }