用DEP如何增加字段,并实现字段的逻辑计算。原创
金蝶云社区-云社区用户kIv48308
云社区用户kIv48308
3人赞赏了该文章 700次浏览 未经作者许可,禁止转载编辑于2021年11月26日 16:31:10
1.	在销售退货申请单增加三个字段;
2.	在loadfields()方法增加datachanged事件,实现逻辑计算
3.21.3	DEP详细开发步骤
1)	导入扩展单元:销售退货申请单。

2)	打开销售退货申请单的编辑界面,增加“退货金额”“换货金额”“退换货金额差额”字段。

3)扩展脚本,loadfieds()方法,
前置脚本:
var amountChangeEvent = pluginCtx.getUIContext().get("salereturn_amountChangeEvent");
if (amountChangeEvent != null){
	pluginCtx.getKDFormattedTextField("txtreturnAmount").removeDataChangeListener(amountChangeEvent);
	pluginCtx.getKDFormattedTextField("txtchangeAmount").removeDataChangeListener(amountChangeEvent);	
}


后置脚本:
var amountChangeEvent = pluginCtx.getUIContext().get("salereturn_amountChangeEvent");
if (amountChangeEvent == null){
	amountChangeEvent = function(event,methodName){	
		if(methodName == "equals"){	return this == event; }	
		if(methodName == "dataChanged"){		
			var q_returnAmount = pluginCtx.getKDFormattedTextField("txtreturnAmount").getBigDecimalValue();
			var q_changeAmount = pluginCtx.getKDFormattedTextField("txtchangeAmount").getBigDecimalValue();
	
			if(q_returnAmount != null && q_changeAmount != null){
				var q_balance = q_returnAmount.subtract(q_changeAmount);
				pluginCtx.getKDFormattedTextField("txtbalance").setValue(q_balance);			 
			}
			
		}
	};
	pluginCtx.getUIContext().put("salereturn_amountChangeEvent",amountChangeEvent);
}
pluginCtx.getKDFormattedTextField("txtreturnAmount").addDataChangeListener(amountChangeEvent);	
pluginCtx.getKDFormattedTextField("txtchangeAmount").addDataChangeListener(amountChangeEvent);


赞 3