前提

启用了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);
}
Last modified: 02/07/2024

Author

Comments

Write a Reply or Comment

Your email address will not be published.