using Kingdee.BOS.Core.Bill; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Demo.BillView.PRD { [Description("[日计划用料清单]Datachange事件分子分母更改")] [HotUpdate] public class Pro_RjhylqdDatachange : AbstractBillPlugIn { public override void DataChanged(DataChangedEventArgs e) { //if (!isSearched) return; base.DataChanged(e); var model = this.View.Model; decimal FHQty = Convert.ToDecimal(model.GetValue("FHQty")); //分子 if (e.Field.Key.Contains("FNumerator") || e.Field.Key.Contains("FDenominator") || e.Field.Key.Contains("FUseRate")) { decimal FNumerator = Convert.ToDecimal(model.GetValue("FNumerator", e.Row));//分子 decimal FDenominator = Convert.ToDecimal(model.GetValue("FDenominator", e.Row));//分母 decimal FUseRate = Convert.ToDecimal(model.GetValue("FUseRate", e.Row));//使用比例 if (FNumerator == 0 || FDenominator == 0) return; var Hqty = Math.Ceiling((FNumerator / FDenominator) * FHQty * (FUseRate / 100)); this.View.Model.SetValue("FHQtySub", Hqty, e.Row);//计划数量 this.View.Model.SetValue("FHQtyMust", Hqty, e.Row);//应发数量 this.View.Model.SetValue("FDwyl", FNumerator / FDenominator, e.Row);//单位用量 } } } }