文章目錄
- 金蝶云星空字段之間連續觸發值更新
- 場景說明
- 具體需求:
- 解決方案
金蝶云星空字段之間連續觸發值更新
場景說明
字段A配置了字段B的計算公式,字段B配置了自動C的計算公式,修改A的時候,觸發了B的重算,但是C觸發不到。
具體需求:
配置值更新事件:料本,料本系數, PCBA加工費,整機裝配費,稅率%【字段A】
公式:供應鏈含稅報價 = ( 料本 * 料本系數 + PCBA加工費 + 整機裝配費 ) * ( 1 + 稅率% / 100 )
配置值更新:供應鏈含稅報價
含稅時,供應鏈報價 = 供應鏈含稅報價 / ( 1 + 稅率% / 100)【字段B】
含稅時,銷售含稅結算價 = 供應鏈含稅報價 + ( 銷售含稅指導價 - 供應鏈含稅報價 ) * ( 毛利分成比例 / 100 )
配置值更新:銷售含稅結算價 【字段C】
含稅時,銷售結算價 = 銷售含稅結算價 / ( 1 + 稅率% / 100)
解決方案
新增表單插件,在DataChange事件,觸發B的值更改時,強行觸發B的值更新事件
public override void DataChanged(DataChangedEventArgs e)
{base.DataChanged(e);switch (e.Field.Key.ToUpperInvariant()){case "FTAXPRICE"://供應鏈含稅報價int entryCurrentRowIndex = this.Model.GetEntryCurrentRowIndex(entityKey);//獲取當前父單據體選中行this.View.InvokeFieldUpdateService("FTaxPrice", entryCurrentRowIndex);break;case "FSALETAXSETTLEPRICE"://銷售含稅結算價int ecir2 = this.Model.GetEntryCurrentRowIndex(entityKey);//獲取當前父單據體選中行this.View.InvokeFieldUpdateService("FSaleTaxsettlePrice", ecir2);//觸發銷售含稅結算價的值更新事件break;}
}