我在报价产品上有一个脚本,我想在保存表单时更新税值。但是,它确实根据以前的字段值更新税收。该脚本如下:
function tax ()
{
var val0 = Xrm.Page.getAttribute("baseamount").getValue();
var val1 = Xrm.Page.getAttribute("manualdiscountamount").getValue();
val2 = val0 - val1;
val2 = val2 * 0.05;
Xrm.Page.getAttribute("tax").setValue(val2);
}
例如,如果基础金额为10且创建报价产品时手动折扣为1,则税金更新为0.如果保存后,我将基本金额更改为20,手动折扣为1,税后更新为0.45!意思是,它根据以前的字段值计算税额!
答案 0 :(得分:3)
您正面临此问题,因为您在CRM更新之前获得了baseamount
值。
baseamout
,因此您需要手动计算该值,如下所示:
function tax ()
{
var priceperunit = Xrm.Page.getAttribute("priceperunit").getValue();
var quantity = Xrm.Page.getAttribute("quantity").getValue();
var val0 = priceperunit * quantity;
var val1 = Xrm.Page.getAttribute("manualdiscountamount").getValue();
val2 = val0 - val1;
val2 = val2 * 0.05;
Xrm.Page.getAttribute("tax").setValue(val2);
}
注意还有批量折扣的领域,产品也可以写入。