检索旧记录
的行项目我有一个用户事件脚本部署到销售订单。它使用订单项的字段值来确定剩余的数量。但是,如果我删除了订单项,则不会更新已移除项目的数量。我需要在提交后更新该项目。检索旧记录
是否可以编辑使用nlapiGetOldRecord()
或诸如此类的东西删除行项目的数量吗?
下面的代码是什么样子:
function afterSubmit(){
var curRec = nlapiGetRecordId();
var item = nlapiLoadRecord('item', curRec);
var sold = item.getFieldValue('cust_sold');
var quantity = item.getFieldValue('cust_quantity');
var leftToSell = quantity - sold;
item.setFieldValue('cust_lefttosell', leftToSell);
var finalValue = item.getFieldValue('cust_lefttosell');
var old = nlapiGetOldRecord(); // only retrieves salesorder record
nlapiSubmitRecord(item);
}
编辑:因此,原来我可以用一个简单的old.getLineItemValue('item', 'item', linenum)
瞄准线项目。如Adolfo在下面指出的那样,我可以定位旧记录的订单项。出于某种原因,我认为唯一的方法是使用nlapiGetLineItemField(type, fldnm, linenum)
。功能的getLineItemValue
版本正是我所期待的。 这是代码会是什么样子:
var old = nlapiGetOldRecord();
var id = old.getLineItemValue('item', 'item', linenum);
var rec = nlapiLoadRecord('type', id);
为什么不cust_lefttosell因此该值从cust_quantity飞始终计算公式字段 - cust_sold?
不管怎么说,如果你想使用afterSubmit那么你必须通过在旧记录的所有行项目迭代,找出哪些被拆除,然后更新这些数量。
取消选中商店价值。 –
有意删除我的评论。默认值中的公式将是'{cust_quantity} - {cust_sold}',然后像您说的那样,取消选中商店值。我也在你的回答帮助下更新了我的文章。谢谢! – VicDid
你应该发布你的代码的一些例子。 – opticon
@opticon添加了代码 – VicDid