前提
启用了lot number item
问题
在clientscript中用以下代码拿不到inventorydetail的行数,无法判断是否item fulfillment已经自动按照commitment填充了库位。
for (let i = 0; i < curRec.getLineCount('item'); i++) {
curRec.selectLine('item', i);
let inventoryDetailsRec = curRec.getCurrentSublistSubrecord('item', 'inventorydetail');
let lineCount = inventoryDetailsRec.getLineCount('inventoryassignment')
//即便页面上有inventory detail也拿不到lineCount
}
解决(警告:包含官方不推荐的做法)
使用以下代码,通过捕捉inventorydetail的元素进行判断
// 创建一个空数组来存储选中的行号
let selectedRows = [];
// 获取所有具有指定 class 的元素
let elements = document.getElementsByClassName("smalltextul i_inventorydetailset");
// 遍历元素列表
for (var i = 0; i < elements.length; i++) {
// 获取当前元素的 id 属性值
var id = elements[i].id;
// 提取行号
var rowNumber = id.split("_").pop() -1
// 将行号添加到选中行数组中
selectedRows.push(rowNumber);
}
Comments