我正在尝试通过SuiteScript创建一个弹出窗口,在其中将商品添加到订单中时,我们将显示可用的库存和客户偏爱的品牌以及一些其他详细信息,以便Cust Svc代表能够添加正确的sku并询问客户将商品添加到订单之前的必填问题。为此,我需要能够在添加该项目之前对其进行访问。我现在设置的弹出窗口确实会显示-但我需要尝试添加的数量和SKU。当前代码:
/**
*@NApiVersion 2.x
*@NModuleScope Public
*@NScriptType ClientScript
*/
define(['N/search'], runClientscript);
function runClientscript(search){
SEARCHMODULE = search;
function validateLine(context) {
var currentSO = context.currentRecord;
context.sublistId;
if(context.sublistId == 'item'){
alert("validateLine Triggered!");
var cr = context.currentRecord;
var quantityLine = currentSO.getSublistValue({
sublistId : 'item',
fieldId : 'quantity',
line : 1
});
}
return true; //Return true if the line insertion is valid.
}
/**
*
* @param {object} context context object from user event.
*/
function getLocationContext(context){
var contextObj = {};
contextObj.locationRecord = "customrecord_ship_priority";
contextObj.warehouseIds = [
{
name:"custrecord_nj_warehouse",
value:3
},
{
name:"one",
value:9
},
{
name:"two",
value:8
},
{
name:"three",
value:4
}
]
contextObj.parameters = getScriptParameter();
return contextObj;
}
var returnObj = {};
returnObj.validateLine = validateLine;
return returnObj;
}
任何帮助将不胜感激。谢谢!
答案 0 :(得分:0)
改为使用currentSo.getCurrentSublistValue({type: 'item', fieldId: '{fieldyouneedtodisplay}'})
,它将提供正在validateline上添加的项目的信息。拥有所需的所有信息后,便可以像下面的伪代码一样进行验证。
var sItem = currentSo.getCurrentSublistText({type: 'item', fieldId: 'item'});
var nQqty = currentSo.getCurrentSublistValue({type: 'item', fieldId: 'quantity'});
//your code to validate goes after.
if(nQqty >=0){
alert('Adding ' + nQqty + ' of ' + sItem + '.')
}